036511ab3e
Broadens both reach (more tools) and content types (an MCP server), continuing the multi-platform story. Windsurf + Aider: - build-exports.mjs gains two platforms: exports/windsurf/*.md (workspace rules, trigger: model_decision) and exports/aider/*.md (conventions for `aider --read`). Now 5 platforms (ChatGPT, Gemini, Cursor, Windsurf, Aider). - install.sh + bin/cli.mjs install both (windsurf -> .windsurf/rules, aider -> .aider/skills with a --read hint); generated README index is excluded from copies. - One-line windsurf-install.sh / aider-install.sh wrappers for parity. MCP server (new content type): - mcp/server.mjs — zero-dependency stdio MCP server exposing list_skills, search_skills, get_skill. Published as a second bin (pm-claude-skills-mcp). Logs to stderr; reads bundled skills/ at startup. mcp/README.md documents client config. Also: README hero "See it in action" demo placement (ready to swap in a GIF; recording guide in web/docs-assets/README.md), Works-With table + exports + install docs updated, CHANGELOG Unreleased. package.json files/bin updated. Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px Co-authored-by: Claude <noreply@anthropic.com>
83 lines
3.4 KiB
Markdown
83 lines
3.4 KiB
Markdown
# Debugging Log Analyser Skill
|
||
|
||
Parses raw error logs, stack traces, and crash reports into a structured diagnosis with probable root cause, affected code path, and specific next steps — no hand-waving.
|
||
|
||
## Required Inputs
|
||
|
||
Ask for these if not provided:
|
||
- **The log / stack trace / error output** (paste directly or describe the error)
|
||
- **Language and framework** (e.g. Node.js + Express, Python + Django, Java Spring, Go)
|
||
- **Context** (what changed before this started — e.g. recent deploy, config change, increased traffic, new input data; or "nothing changed" is also useful)
|
||
- **Frequency** (one-off / intermittent / consistent / regression after a specific change)
|
||
- **Environment** (local dev / staging / production)
|
||
- **What they've already tried** (if anything)
|
||
|
||
## Output Format
|
||
|
||
---
|
||
|
||
# Debugging Report: [Service/App Name]
|
||
|
||
### 1. Error Classification
|
||
**Error type:** [Runtime exception / Build error / Config error / Network error / Memory error / Unknown]
|
||
**Severity:** [Fatal / Critical / Warning / Informational]
|
||
**Recurrence pattern:** [One-off / Intermittent / Consistent / On-startup / Under load]
|
||
|
||
### 2. Stack Trace Analysis
|
||
|
||
Walk the stack frame by frame, starting from the origin:
|
||
- **Origin frame:** [File, line, function where it started]
|
||
- **Propagation path:** [How it travelled through the call stack]
|
||
- **Crash point:** [Where it ultimately threw/panicked/exited]
|
||
|
||
For each significant frame, note whether it is:
|
||
- User code (fixable here)
|
||
- Framework/library code (usually a misuse issue)
|
||
- System/runtime code (usually a config or environment issue)
|
||
|
||
### 3. Root Cause Assessment
|
||
**Probable root cause:** [1–2 sentence plain English statement]
|
||
**Confidence:** [High / Medium / Low — and why]
|
||
**Alternative causes to rule out:** [If confidence is not high]
|
||
|
||
### 4. Affected Code Path
|
||
**Entry point:** [Where the triggering call began]
|
||
**Key function(s) involved:** [Specific functions/methods named in the trace]
|
||
**Data that triggered it:** [If inferable from the log — e.g. null value, malformed JSON]
|
||
|
||
### 5. Suggested Fix
|
||
Provide a concrete, code-level suggestion:
|
||
- What to change (the minimal fix)
|
||
- Why this fixes the root cause
|
||
- Any trade-offs or risks in the fix
|
||
- A short code snippet if helpful
|
||
|
||
### 6. Next Debugging Steps
|
||
If the root cause is uncertain, provide an ordered list of 3–5 specific debugging actions:
|
||
1. [Specific thing to check — file, log line, config value]
|
||
2. [Specific reproduction step or isolation test]
|
||
3. [Specific tool command — e.g. `strace`, `pprof`, `--verbose`, add logging at X]
|
||
|
||
### 7. Prevention
|
||
One or two concrete things that would prevent this class of error recurring:
|
||
- Better input validation at [point]
|
||
- Add monitoring/alerting for [condition]
|
||
- Test that covers [scenario]
|
||
|
||
---
|
||
|
||
## Quality Checks
|
||
- [ ] Root cause is specific (not "there might be a null pointer issue")
|
||
- [ ] At least one concrete code-level fix is suggested
|
||
- [ ] Next steps are actionable commands, not vague advice
|
||
- [ ] Suggested fix references the actual language/framework in the input (not a generic fix that could apply to any language)
|
||
- [ ] Confidence level includes a stated reason (not just "High" or "Low" with no explanation)
|
||
- [ ] Prevention is proactive (not just "add error handling")
|
||
|
||
## Usage Examples
|
||
- "Why is this crashing?" + [paste log]
|
||
- "Can you analyse this stack trace?"
|
||
- "I'm getting this error, what does it mean?"
|
||
- "Debug this log for me"
|
||
- "What's causing this exception?"
|