View Shella Logs

VerifiedSafe

View Shella daemon and plugin logs from ~/.local/state/shella/dev.log. Supports filtering by plugin name, error level, or showing recent lines. Useful for debugging issues, checking what happened, or monitoring plugin output.

Sby Skills Guide Bot
DevelopmentBeginner
1306/2/2026
Claude Code
#logging#debugging#shella#daemon#plugins

Recommended for

Our review

This skill allows viewing and filtering Shella daemon and plugin logs for debugging and monitoring.

Strengths

  • Quick access to logs via a simple command
  • Filter by plugin name or error level
  • Readable formatting of JSON log entries
  • Clear handling when log file is missing

Limitations

  • Only works with a single fixed log file location
  • Requires the log file to exist
  • Parsing depends on consistent JSON format
When to use it

When debugging Shella plugin issues or monitoring daemon output.

When not to use it

For system-wide logging or when Shella logs are unavailable.

Security analysis

Safe
Quality score95/100

The skill only reads a specific log file using safe commands like tail, grep, and cat. There is no execution of downloaded code, no destruction, no exfiltration, and no obfuscation. The allowed tools are tightly scoped and the operations are non-destructive.

No concerns found

Examples

Show recent logs for a plugin
Show me the last 50 lines of the Shella log filtered to only the agent plugin.
View error logs only
Display only error-level logs from the Shella daemon.
Show all logs with custom line count
Get the last 200 lines of the Shella log file.

name: logs description: View shella daemon and plugin logs. Use when debugging issues, checking what happened, or monitoring plugin output. argument-hint: "[plugin-name] [lines]" allowed-tools: Bash(tail:), Bash(grep:), Bash(cat:), Bash(wc:), Read

Shella Logs

View daemon and plugin logs from ~/.local/state/shella/dev.log.

Arguments

  • $ARGUMENTS may contain:
    • A plugin name to filter by (e.g., "agent", "terminal")
    • A number of lines to show (default: 50)
    • "all" to show more lines
    • "errors" or "error" to filter to errors/warnings only

Log File Location

~/.local/state/shella/dev.log

Each line is JSON with fields: time, level, prefix, msg, and optional data fields.

Commands

Recent logs (last 50 lines):

tail -50 ~/.local/state/shella/dev.log

Filter by plugin (prefix field contains plugin name):

grep '"prefix":"agent' ~/.local/state/shella/dev.log | tail -50

Errors only:

grep '"level":"error"' ~/.local/state/shella/dev.log | tail -50

Parse and format for readability - extract time, prefix, level, msg:

tail -50 ~/.local/state/shella/dev.log | while read line; do
  echo "$line" | python3 -c "import sys,json; d=json.loads(sys.stdin.read()); print(f'{d.get(\"prefix\",\"daemon\"):20} {d.get(\"level\",\"info\"):5} {d.get(\"msg\",\"\")}')" 2>/dev/null || echo "$line"
done

Output

Present logs in a readable format. For JSON lines, extract the key fields (timestamp, prefix, level, message). Highlight errors in your response.

If the log file doesn't exist, tell the user the daemon hasn't been run yet or logs are empty.

Related skills