evidence-first-debugging
Evidence-First Debugging
Primary responsibilities: observation recording, evidence IDs, causality validation, verification gates.
Shared References
Load these references before producing any investigation output. A references index is available for a quick map of all shared files.
- Unified Investigation Template — the 15-section output structure (sections 0–14)
- Evidence Rules — evidence ID format, truncation disclosure, forbidden phrases
- Causality Gate — classification rules for action-result links
Domain Extensions
Load the applicable extension when the investigation type matches. Insert the extension's sections immediately after section 2 (OBSERVATIONS).
flowchart TD
Start([Identify investigation type]) --> Q1{Software bug or crash?}
Q1 -->|Yes| Dbg["Load [Debugging Extensions](../../shared/extensions/debugging-extensions.md)<br>Adds: CALL STACK, RECENT CODE CHANGES, DEPENDENCY GRAPH after section 2"]
Q1 -->|No| Q2{Latency, throughput, or memory regression?}
Q2 -->|Yes| Perf["Load [Performance Extensions](../../shared/extensions/performance-extensions.md)<br>Adds: BASELINE METRICS, REGRESSION WINDOW, HOT PATH ANALYSIS, RESOURCE UTILIZATION after section 2"]
Q2 -->|No| Neither[Proceed with base template only]
Non-Negotiable Rules
Enforce these for every investigation output, without exception.
Rule 1 — Facts only in FACTS / OBSERVATIONS / RESULTS
Write only directly observed signals. Causal language is permitted only when the Causality Gate classification is causal-supported. No guesses, no interpretation, no speculation.
Rule 2 — Label every hypothesis explicitly
Every hypothesis must state what it predicts and include a falsifiable test. Use the form:
H1: [specific causal mechanism]
Prediction: If H1 is true, we would observe [specific outcome]
Falsification test: [what would disprove H1]
Rule 3 — Reserve resolved-verified for verified outcomes
Output status: resolved-verified only when section 13 (Verification) contains a passing verification command with an evidence ID. If section 13 is absent or empty, the status must be mitigated, unresolved, or unknown.
Rule 4 — Cite evidence IDs on every claim
Every statement in FACTS or RESULTS must end with an evidence ID in brackets — e.g., [E3]. Statements without a citable evidence ID must be labeled UNKNOWN.
Rule 5 — Disclose all truncated output
When any output is abbreviated, include a truncation disclosure block immediately after the snippet:
TRUNCATED
total lines: <N>
shown: <M>
method: head | tail | grep
fingerprint: <sha256 or key tokens>
command: <exact command used>
Silent abbreviation is prohibited.
Status Options
Choose exactly one per investigation output. Include it in section 14 of the investigation template.
flowchart TD
Start([Choose investigation status]) --> Q1{Is the issue resolved?}
Q1 -->|No — still occurring| Unresolved[status: unresolved]
Q1 -->|Partially — symptoms reduced but root cause unknown| Mitigated[status: mitigated]
Q1 -->|Yes — fix applied| Q2{Does section 13 contain a passing verification command with evidence?}
Q2 -->|Yes| Verified[status: resolved-verified]
Q2 -->|No — verification missing or inconclusive| Unknown[status: unknown]
Output Checklist
Before emitting any investigation output, verify all items.
- Shared references loaded (investigation template, evidence rules, causality gate)
- Domain extension loaded if applicable (debugging or performance)
- All FACTS and RESULTS cite evidence IDs in brackets
- All hypotheses are labeled explicitly and include falsification tests
- All truncated output includes a TRUNCATION disclosure block
- Causality Gate classification present for every action-result link in section 10
- Status is exactly one of the four valid options
-
resolved-verifiedis used only when section 13 contains passing verification evidence
More from jamie-bitflight/claude_skills
perl-lint
This skill should be used when the user asks to lint Perl code, run perlcritic, check Perl style, format Perl code, run perltidy, or mentions Perl Critic policies, code formatting, or style checking.
24brainstorming-skill
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or when users request help with ideation, marketing, and strategic planning. Explores user intent, requirements, and design before implementation using 30+ research-validated prompt patterns.
11design-anti-patterns
Enforce anti-AI UI design rules based on the Uncodixfy methodology. Use when generating HTML, CSS, React, Vue, Svelte, or any frontend UI code. Prevents "Codex UI" — the generic AI aesthetic of soft gradients, floating panels, oversized rounded corners, glassmorphism, hero sections in dashboards, and decorative copy. Applies constraints from Linear/Raycast/Stripe/GitHub design philosophy: functional, honest, human-designed interfaces. Triggers on: UI generation, dashboard building, frontend component creation, CSS styling, landing page design, or any task producing visual interface code.
7python3-review
Comprehensive Python code review checking patterns, types, security, and performance. Use when reviewing Python code for quality issues, when auditing code before merge, or when assessing technical debt in a Python codebase.
7hooks-guide
Cross-platform hooks reference for AI coding assistants — Claude Code, GitHub Copilot, Cursor, Windsurf, Amp. Covers hook authoring in Node.js CJS and Python, per-platform event schemas, inline-agent hooks and MCP in agent frontmatter, common JSON I/O, exit codes, best practices, and a fetch script to refresh docs from official sources. Use when writing, reviewing, or debugging hooks for any AI assistant.
7agent-creator
Create high-quality Claude Code agents from scratch or by adapting existing agents as templates. Use when the user wants to create a new agent, modify agent configurations, build specialized subagents, or design agent architectures. Guides through requirements gathering, template selection, and agent file generation following Anthropic best practices (v2.1.63+).
6