skills/generic/debug/SKILL.md
Bug investigation and fix workflow. Triggers: 'debug', 'fix bug', 'investigate issue', 'something is broken', or /debug. Hotfix track for quick fixes, thorough track for root cause analysis. Do NOT use for feature development or refactoring. Do NOT escalate to /ideate unless the fix requires architectural redesign.
npx skillsauth add lvlup-sw/exarchos debugInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
Security scan pending...
This skill is queued for security scanning. Results will appear when the scan completes.
Investigation-first workflow for debugging and regression fixes. Provides two tracks based on urgency: hotfix (fast, minimal ceremony) and thorough (rigorous, full RCA documentation).
Activate this skill when:
debug commandDisambiguation: If the user says "fix" or "clean up" — use debug when something is broken (error, crash, wrong behavior). Use refactor when the code works but needs structural improvement.
debug
│
┌────┴────┐
│ Triage │
└────┬────┘
│
┌─────────────────┼─────────────────┐
│ │ │
--hotfix (default) --escalate
│ │ │
▼ ▼ ▼
┌────────────────┐ ┌─────────────┐ ┌──────────┐
│ Hotfix Track │ │ Thorough │ │ ideate │
│ │ │ Track │ │ handoff │
└────────────────┘ └─────────────┘ └──────────┘
# Default: thorough track
debug "Description of the bug"
# Fast path: hotfix track
debug --hotfix "Production is down - users can't login"
# Escalate to feature workflow
debug --escalate "This needs architectural changes"
# Switch from hotfix to thorough (during investigation)
debug --switch-thorough
# Escalate to ideate (manual handoff)
debug --escalate "Reason for escalation"
# Resume after context compaction
rehydrate <featureId>
| Aspect | Hotfix | Thorough | |--------|--------|----------| | Urgency | P0 (production down) | P1/P2 (normal priority) | | Investigation | 15 min time-boxed | No time limit | | RCA Document | No (minimal in state) | Yes (full docs/rca/) | | Worktree | No (in-place fix) | Yes (isolated) | | Review | Smoke test only | Spec review | | Human Checkpoints | 1 (merge) | 1 (merge) |
For track-selection criteria at the triage phase, query the decision runbook:
exarchos_orchestrate({ action: "runbook", id: "triage-decision" })
For investigation escalation criteria, query:
exarchos_orchestrate({ action: "runbook", id: "investigation-decision" })
These runbooks encode the structured decision trees for track selection. The agent reads the decision tree and follows the guidance — the platform does not execute branches.
Fix production issues ASAP. Speed over ceremony.
HSM phases: triage → investigate (15 min max) → hotfix-implement (no worktree) → hotfix-validate → completed
See references/triage-questions.md for triage guidance.
investigation.startedAt in stateinvestigation.timeout event, pause for user confirmation
For detailed phase instructions, see references/hotfix-track.md.
Fix bugs with proper rigor. Full RCA documentation.
HSM phases: triage → investigate → rca → design → debug-implement (worktree + TDD) → debug-validate → debug-review → synthesize → completed
For detailed phase instructions, see references/thorough-track.md. For systematic investigation methodology, see references/investigation-checklist.md.
The rca and design phases are the thorough track's design-time surfaces. At these phases — before committing to a fix approach — surface a Constraints section anchored to the architectural invariants relevant to the fix. This is the debug design-time equivalent of /ideate's Phase 0 and uses the same single shared source of truth for the selection rules and devCatalog gating: see @skills/brainstorming/references/constraint-anchoring.md. Load .exarchos/invariants.md (cost-of-load: always-load entries) and emit the Constraints section. devCatalog-gated: when .exarchos.yml: invariants.devCatalog: enabled is unset or disabled, surface no Constraints section and proceed directly. The hotfix track skips this step (speed over ceremony).
Before fixing a bug in the thorough track, capture the buggy behavior as a characterization test:
This is not required for the hotfix track — hotfixes prioritize speed over documentation.
ideate.For detailed switching logic, see references/thorough-track.md.
Both tracks have ONE human checkpoint before completion.
Hotfix auto-chain:
triage → investigate → hotfix-implement → [HUMAN: hotfix-validate] → completed
(auto) (auto)
Thorough auto-chain:
triage → investigate → rca → design → debug-implement → debug-validate → debug-review → [HUMAN: synthesize] → completed
(auto) (auto) (auto) (auto) (auto) (auto)
Initialize debug workflow:
action: "init", featureId: "debug-<issue-slug>", workflowType: "debug"
See @skills/debug/references/state-schema.md for full schema.
Every phase transition has a guard that must be satisfied. Before transitioning, consult @skills/workflow-state/references/phase-transitions.md for the exact prerequisite for each guard.
Use exarchos_workflow({ action: "describe", actions: ["update", "init"] }) for
parameter schemas and exarchos_workflow({ action: "describe", playbook: "debug" })
for phase transitions, guards, and playbook guidance.
Debug workflows resume like feature workflows:
rehydrate <featureId>
Extended to support:
workflowType: "debug" fieldrehydrate <featureId> (the rehydration document's next_actions envelope determines the next verb on resume)rehydrate <featureId> at session start (no implicit hook)Completion guard shapes — set these via exarchos_workflow update before transitioning to completed:
| Exit path | Guard | Required state |
|-----------|-------|----------------|
| Direct push (no PR) | fix-verified-directly | resolution: { directPush: true, commitSha: "<sha>" } |
| Validation passed | validation-passed | validation: { passed: true } |
| Via PR | Through synthesize → completed | prUrl must exist |
references/rca-template.md)Completion guard shapes — the thorough track exits through synthesize → completed (guard: pr-url-exists, requires prUrl in state).
| Don't | Do Instead | |-------|------------| | Start coding before understanding bug | Investigate first, always | | Skip RCA on thorough track | Document for future learning | | Exceed 15 min on hotfix investigation | Switch to thorough track | | Add features during bug fix | Scope creep - only fix the bug | | Skip tests because "it's just a fix" | Fixes need tests to prevent regression |
See references/troubleshooting.md for MCP tool failures, state desync, investigation timeouts, and track switching issues.
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).
tools
Land a subagent worktree branch onto an integration branch with preflight + recorded rollback. Triggers: operator (or `next_actions`) surfaces verb `merge_orchestrate` via Exarchos MCP. Local git operation — NOT remote PR merging (that is `merge_pr`).