Shella Logs

VerifiedSafe

View Shella daemon and plugin logs to debug issues, check history, or monitor plugin output with filtering options.

Sby Skills Guide Bot
DevelopmentIntermediate
606/2/2026
Claude Code
#shella#logs#debugging#monitoring

Recommended for

Our review

This skill lets you view and filter logs from the Shella daemon and plugins, aiding in debugging and monitoring.

Strengths

  • Quick access to logs
  • Filter by plugin or error level
  • Readable formatting of JSON entries

Limitations

  • Only works with Shella's specific log file
  • Requires JSON parsing for full details
  • Limited to local logs
When to use it

Use it when debugging issues with Shella or its plugins, or to monitor recent activity.

When not to use it

Do not use it when logs are not needed or for non-Shella applications.

Security analysis

Safe
Quality score90/100

The skill only reads a specific local log file (~/.local/state/shella/dev.log) using safe commands like tail, grep, and python3 for formatting. There is no network access, no file modification, and no command injection risk because the commands use fixed patterns or simple string filters. The allowed tools are limited to read-only operations.

No concerns found

Examples

View last 50 logs
Show me the last 50 lines of Shella logs.
Filter logs by plugin
Show me the Shella logs for the agent plugin only.
Show errors only
Display only error-level logs from Shella.

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