From logifai
Searches and analyzes logifai-captured development logs in NDJSON format using Read, Grep, Glob, Bash. Debugs errors, runtime issues, reviews activity via keywords, timestamps, stack traces, logifai:// URIs.
npx claudepluginhub tomoyaf/logifai --plugin logifaiThis skill is limited to using the following tools:
logifai automatically captures output from development commands (e.g. `npm run dev 2>&1 | logifai`) and saves them as NDJSON files.
Guides log analysis with grep filters, bash pipelines, iterative refinement, and utility scripts to debug errors, incidents, and patterns efficiently.
Searches logs and codebases for error patterns, stack traces, and anomalies. Correlates errors across systems and identifies root causes for debugging distributed issues.
Searches logs and codebases for error patterns, stack traces, and anomalies. Correlates errors across systems and identifies root causes when debugging issues, analyzing logs, or investigating production errors.
Share bugs, ideas, or general feedback.
logifai automatically captures output from development commands (e.g. npm run dev 2>&1 | logifai) and saves them as NDJSON files.
~/.local/state/logifai/logs/
├── session-YYYYMMDD-HHmmss-{id}.ndjson # Session files
└── current.ndjson -> session-...ndjson # Symlink to latest session
Each line is a JSON object:
{
"timestamp": "2026-02-08T10:30:45.123Z",
"level": "ERROR | WARN | INFO | DEBUG",
"message": "Log message text",
"source": "npm-run-dev",
"project": "/home/user/my-app",
"session_id": "a1b2c3d4",
"git_branch": "feature/auth",
"git_commit": "e91d055",
"pid": 12345,
"raw": true,
"stack": "Error stack trace if detected",
"_original": {}
}
ls -lt ~/.local/state/logifai/logs/session-*.ndjson | head -10
grep '"level":"ERROR"' ~/.local/state/logifai/logs/current.ndjson
grep -l "keyword" ~/.local/state/logifai/logs/*.ndjson
grep -B 5 -A 5 "Module not found" ~/.local/state/logifai/logs/current.ndjson
grep '"stack"' ~/.local/state/logifai/logs/current.ndjson | grep -v '"stack":null'
# Last 50 ERROR entries
tail -n 500 ~/.local/state/logifai/logs/current.ndjson | jq 'select(.level == "ERROR")' | tail -50
# Errors after a specific time
jq 'select(.level == "ERROR" and .timestamp >= "2026-02-08T10:00:00")' ~/.local/state/logifai/logs/current.ndjson
# Errors with stack traces
jq 'select(.level == "ERROR" and .stack != null)' ~/.local/state/logifai/logs/current.ndjson
# Group by level
jq -s 'group_by(.level) | map({level: .[0].level, count: length})' ~/.local/state/logifai/logs/current.ndjson
Users may paste log line references from the Web UI in the format logifai://SESSION_ID:LINES.
logifai show 'logifai://a1b2c3d4:42,50-55'
logifai show '<reference>' to resolve itlogifai://a1b2c3d4:42logifai://a1b2c3d4:42,45,50logifai://a1b2c3d4:42-55logifai://a1b2c3d4:10,20-30,50logifai://a1b2c3d4:10-15+ff990011:1-5When user asks about errors or issues:
current.ndjson for recent ERROR entries.stack != null)When user asks "what went wrong":