Debugging Log Analyser Skill

Parse error logs, stack traces, and crash reports into a structured root cause diagnosis.

Debugging Log Analyser Skill — The Skill Playground: pick the Executive Update skill, fill in a few notes, hit run, and watch a structured executive… (from the mohitagw15856/pm-claude-skills README)

From the mohitagw15856/pm-claude-skills README — shows the whole collection, not only this skill. · view on GitHub

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/debugging-log-analyser, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit mohitagw15856/pm-claude-skills/skills/debugging-log-analyser#main ~/.claude/skills/debugging-log-analyser

For one project only, change the path to .claude/skills/debugging-log-analyser. This skill also uses Node.js — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Debugging Log Analyser Skill

Show the full text132 lines
namedescription
debugging-log-analyserParse error logs, stack traces, and crash reports into a structured root cause diagnosis. Use when an application is throwing exceptions, crashing, or producing unexpected errors and you need to understand why and what to fix. Produces a structured diagnosis with error classification, stack trace walkthrough, probable root cause with confidence level, affected code path, a concrete code-level fix suggestion, and ordered next debugging steps.

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.

Where this sits — the diagnosis step

Second in the incident-response spine: /slo-error-budget (frame) → debugging-log-analyser → /incident-postmortem → /oncall-runbook. It takes the raw symptoms of a live incident and hands /incident-postmortem the root-cause diagnosis and the fix — so the postmortem builds on the diagnosis instead of re-deriving it. Shared terms (root cause vs contributing factors, mitigation vs resolution) are defined once in docs/craft/incident-response.md.

The loop

Debugging fails when it jumps to a fix before the evidence supports it. Phase 2 is the skill — a diagnosis is only as good as its confidence, and false certainty sends responders down the wrong path at the worst time.

  1. Classify and read the evidence. Categorise the error, walk the stack trace to the actual failing frame (not the framework noise), and note what the logs do and don't show. Redact secrets in anything you quote back. Done when: the failing frame is identified, and the evidence gap (what the logs can't tell you) is stated rather than filled with a guess.
  2. Reach a root cause with an honest confidence level. Name the most probable root cause and its confidence (confirmed / likely / uncertain), plus the alternative if it's not certain. A diagnosis without a confidence level is a guess wearing a lab coat. Done when: the root cause carries a confidence label and, if not confirmed, the next observation that would confirm or refute it.
  3. Specify the fix and the mitigation separately. Give the concrete code-level fix for the root cause — and, distinctly, the fastest mitigation to stop user impact now (rollback, flag-off), because stopping the bleeding and fixing the wound are different moves at different urgencies. Done when: there's a specific fix for the root cause AND an immediate mitigation, and they're not conflated.
  4. Hand off to the postmortem. Surface the diagnosis, the fix, and the timings so /incident-postmortem can build the timeline and contributing factors from evidence, not memory. Done when: the postmortem could start from this output without re-diagnosing.

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")

Anti-Patterns

  • A vague root cause ("something's null somewhere") instead of the specific line/frame
  • A generic fix that could apply to any language, ignoring the actual stack trace
  • Restating the error message instead of explaining what it means
  • "Add error handling" as prevention, with no specific guardrail
  • High/Low confidence with no reason behind it

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?"
1---
2name: debugging-log-analyser
3description: "Parse error logs, stack traces, and crash reports into a structured root cause diagnosis. Use when an application is throwing exceptions, crashing, or producing unexpected errors and you need to understand why and what to fix. Produces a structured diagnosis with error classification, stack trace walkthrough, probable root cause with confidence level, affected code path, a concrete code-level fix suggestion, and ordered next debugging steps."
4---
5 
6# Debugging Log Analyser Skill
7 
8Parses 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.
9 
10## Where this sits — the diagnosis step
11 
12Second in the incident-response spine: **`/slo-error-budget` (frame) →
13`debugging-log-analyser` → `/incident-postmortem` → `/oncall-runbook`**. It takes the raw
14symptoms of a live incident and hands `/incident-postmortem` **the root-cause diagnosis
15and the fix** — so the postmortem builds on the diagnosis instead of re-deriving it.
16Shared terms (root cause vs contributing factors, mitigation vs resolution) are defined
17once in [`docs/craft/incident-response.md`](../../docs/craft/incident-response.md).
18 
19## The loop
20 
21Debugging fails when it jumps to a fix before the evidence supports it. Phase 2 is the
22skill — a diagnosis is only as good as its confidence, and false certainty sends
23responders down the wrong path at the worst time.
24 
251. **Classify and read the evidence.** Categorise the error, walk the stack trace to the
26 actual failing frame (not the framework noise), and note what the logs do and don't
27 show. Redact secrets in anything you quote back.
28 **Done when:** the failing frame is identified, and the evidence gap (what the logs
29 can't tell you) is stated rather than filled with a guess.
302. **Reach a root cause with an honest confidence level.** Name the most probable root
31 cause *and* its confidence (confirmed / likely / uncertain), plus the alternative if
32 it's not certain. A diagnosis without a confidence level is a guess wearing a lab coat.
33 **Done when:** the root cause carries a confidence label and, if not confirmed, the
34 next observation that would confirm or refute it.
353. **Specify the fix and the mitigation separately.** Give the concrete code-level fix
36 for the root cause — and, distinctly, the fastest mitigation to stop user impact now
37 (rollback, flag-off), because stopping the bleeding and fixing the wound are different
38 moves at different urgencies.
39 **Done when:** there's a specific fix for the root cause AND an immediate mitigation,
40 and they're not conflated.
414. **Hand off to the postmortem.** Surface the diagnosis, the fix, and the timings so
42 `/incident-postmortem` can build the timeline and contributing factors from evidence,
43 not memory.
44 **Done when:** the postmortem could start from this output without re-diagnosing.
45 
46## Required Inputs
47 
48Ask for these if not provided:
49- **The log / stack trace / error output** (paste directly or describe the error)
50- **Language and framework** (e.g. Node.js + Express, Python + Django, Java Spring, Go)
51- **Context** (what changed before this started — e.g. recent deploy, config change, increased traffic, new input data; or "nothing changed" is also useful)
52- **Frequency** (one-off / intermittent / consistent / regression after a specific change)
53- **Environment** (local dev / staging / production)
54- **What they've already tried** (if anything)
55 
56## Output Format
57 
58---
59 
60# Debugging Report: [Service/App Name]
61 
62### 1. Error Classification
63**Error type:** [Runtime exception / Build error / Config error / Network error / Memory error / Unknown]
64**Severity:** [Fatal / Critical / Warning / Informational]
65**Recurrence pattern:** [One-off / Intermittent / Consistent / On-startup / Under load]
66 
67### 2. Stack Trace Analysis
68 
69Walk the stack frame by frame, starting from the origin:
70- **Origin frame:** [File, line, function where it started]
71- **Propagation path:** [How it travelled through the call stack]
72- **Crash point:** [Where it ultimately threw/panicked/exited]
73 
74For each significant frame, note whether it is:
75- User code (fixable here)
76- Framework/library code (usually a misuse issue)
77- System/runtime code (usually a config or environment issue)
78 
79### 3. Root Cause Assessment
80**Probable root cause:** [1–2 sentence plain English statement]
81**Confidence:** [High / Medium / Low — and why]
82**Alternative causes to rule out:** [If confidence is not high]
83 
84### 4. Affected Code Path
85**Entry point:** [Where the triggering call began]
86**Key function(s) involved:** [Specific functions/methods named in the trace]
87**Data that triggered it:** [If inferable from the log — e.g. null value, malformed JSON]
88 
89### 5. Suggested Fix
90Provide a concrete, code-level suggestion:
91- What to change (the minimal fix)
92- Why this fixes the root cause
93- Any trade-offs or risks in the fix
94- A short code snippet if helpful
95 
96### 6. Next Debugging Steps
97If the root cause is uncertain, provide an ordered list of 3–5 specific debugging actions:
981. [Specific thing to check — file, log line, config value]
992. [Specific reproduction step or isolation test]
1003. [Specific tool command — e.g. `strace`, `pprof`, `--verbose`, add logging at X]
101 
102### 7. Prevention
103One or two concrete things that would prevent this class of error recurring:
104- Better input validation at [point]
105- Add monitoring/alerting for [condition]
106- Test that covers [scenario]
107 
108---
109 
110## Quality Checks
111- [ ] Root cause is specific (not "there might be a null pointer issue")
112- [ ] At least one concrete code-level fix is suggested
113- [ ] Next steps are actionable commands, not vague advice
114- [ ] Suggested fix references the actual language/framework in the input (not a generic fix that could apply to any language)
115- [ ] Confidence level includes a stated reason (not just "High" or "Low" with no explanation)
116- [ ] Prevention is proactive (not just "add error handling")
117 
118## Anti-Patterns
119 
120- A vague root cause ("something's null somewhere") instead of the specific line/frame
121- A generic fix that could apply to any language, ignoring the actual stack trace
122- Restating the error message instead of explaining what it means
123- "Add error handling" as prevention, with no specific guardrail
124- High/Low confidence with no reason behind it
125 
126## Usage Examples
127- "Why is this crashing?" + [paste log]
128- "Can you analyse this stack trace?"
129- "I'm getting this error, what does it mean?"
130- "Debug this log for me"
131- "What's causing this exception?"
132 

Discussion

Alternatives

Also in DebuggingSee all 533 in Development →