| name | crash_analysis |
| description | Analyze reproduced crash evidence and produce a structured verdict for workflow routing. |
| compatibility | opencode |
| metadata | {"stage":"crash-analysis","owner":"tianheng"} |
What this skill does
This skill performs analysis-only crash verdicting after repro, without patching source code.
When to use this skill
Use this skill in the crash-analysis stage after re-run has produced crash evidence.
Required inputs
crash_info.md
re_run_report.md
crash_triage.json (if present)
- coordinator hint/context
Required outputs
crash_analysis.json
crash_analysis.md
crash_analysis.json must follow this minimal shape:
{
"verdict": "false_positive|real_bug|unknown",
"reason": "short explanation",
"confidence": 0.0,
"signals": ["concrete log lines or findings"]
}
Workflow
- Read crash and repro artifacts first.
- Correlate triage label with concrete log evidence.
- Write
crash_analysis.json and crash_analysis.md.
- Do not modify source files in this stage.
Constraints
- Analysis-only stage; no code edits.
- Prefer explicit evidence lines over generic conclusions.
- Use conservative verdict
unknown when evidence is weak.
- Do not classify
real_bug from sanitizer keywords alone.
- If evidence is weak or missing, output
unknown and explain missing evidence explicitly.
Command policy
- Allowed: read-only commands (
find, grep, rg, cat, ls, sed, awk, head, tail).
- Forbidden: build or execution commands.
Acceptance checklist
verdict is exactly one of false_positive, real_bug, unknown.
reason is non-empty and grounded in observed evidence.
signals is a non-empty string array with concrete findings.
- Output remains analysis-only.
Done contract
- Create
./done.
- Write the path string
crash_analysis.json as the sole text of ./done (run echo 'crash_analysis.json' > ./done; do not copy the file's contents).