Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Meta-skill workflow orchestrator for bug investigation and resolution. Routes to debug, implement, test, and commit based on scope.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | 287% | 0% |
| case-17 | ✓→✗ | ▼ Worse | 112% | 0% |
| case-20 | ✓→✗ | ▼ Worse | 54% | 0% |
| case-21 | ✓→✗ | ▼ Worse | 68% | 0% |
| case-22 | ✓→✗ | ▼ Worse | 47% | 0% |
Workflow orchestrator for bug investigation and resolution. Chains specialized skills based on issue scope.
/fix <scope> [options] [description]If the user types just /fix with no or partial arguments, guide them through this question flow. Use AskUserQuestion for each phase.
yamlquestion: "What would you like to fix?" header: "Fix type" options: - label: "Help me choose (Recommended)" description: "I'll ask questions to pick the right fix workflow" - label: "Bug - something is broken" description: "Chain: investigate → diagnose → implement → test → commit" - label: "Hook - Claude Code hook issue" description: "Chain: debug-hooks → hook-developer → implement → test" - label: "Dependencies - import/package errors" description: "Chain: preflight → research → plan → implement → qlty-check" - label: "PR Comments - address reviewer feedback" description: "Chain: github-search → research → plan → implement → commit"
Mapping:
If Answer is Unclear (via "Other"):
yamlquestion: "I want to understand what kind of fix you need. Did you mean..." header: "Clarify" options: - label: "Help me choose" description: "Not sure - guide me through questions" - label: "Bug - something is broken" description: "Code isn't working as expected" - label: "Hook - Claude Code hook issue" description: "Hooks not firing or producing wrong output" - label: "Neither - let me explain differently" description: "I'll describe my issue"
yamlquestion: "What kind of issue are you dealing with?" header: "Issue type" options: - label: "Something is broken/not working" description: "Bug in the code" - label: "Claude Code hook not firing" description: "Hook-specific debugging" - label: "Import/dependency errors" description: "Package or module issues" - label: "Need to address PR feedback" description: "Reviewer comments to fix"
Mapping:
yamlquestion: "Can you describe the issue?" header: "Details" options: [] # Free text - user describes the problem
Capture the error message, unexpected behavior, or PR link.
yamlquestion: "How should I investigate?" header: "Investigation" options: - label: "Diagnose and fix" description: "Find the problem and implement a fix" - label: "Diagnose only (dry run)" description: "Just tell me what's wrong, don't change code" - label: "Quick fix" description: "I know the issue, just fix it fast"
Mapping:
yamlquestion: "After fixing, should I..." header: "After fix" multiSelect: true options: - label: "Write a regression test" description: "Prevent this bug from recurring" - label: "Commit the fix" description: "Create a git commit" - label: "Just fix, nothing else" description: "I'll handle tests and git"
Mapping:
Based on your answers, I'll run:
**Scope:** bug
**Issue:** "Login button not responding on Safari"
**Chain:** sleuth (investigate) → spark (fix) → arbiter (test) → commit
**Options:** (none)
Proceed? [Yes / Adjust settings]| Scope | Chain | Description | |-------|-------|-------------| | bug | debug -> implement_task -> test-driven-development -> commit | General bug fix workflow | | hook | debug-hooks -> hook-developer -> implement_task -> test hook | Hook-specific debugging | | deps | dependency-preflight -> oracle -> plan-agent -> implement_plan -> qlty-check | Dependency issues | | pr-comments | github-search -> research-codebase -> plan-agent -> implement_plan -> commit | Address PR feedback |
| Option | Effect | |--------|--------| | --no-test | Skip regression test creation | | --dry-run | Diagnose only, don't implement fix | | --no-commit | Don't auto-commit the fix |
bash# Parse scope and options SCOPE="${1:-bug}" NO_TEST=false DRY_RUN=false NO_COMMIT=false for arg in "$@"; do case $arg in --no-test) NO_TEST=true ;; --dry-run) DRY_RUN=true ;; --no-commit) NO_COMMIT=true ;; esac done
Spawn sleuth agent for parallel investigation:
Task(
subagent_type="sleuth",
prompt="""
Investigate this issue in parallel:
1. **Logs**: Check recent logs for errors
- Application logs
- System logs if relevant
- Build/test output
2. **Database State** (if applicable):
- Check for stuck/invalid records
- Verify schema matches expectations
3. **Git State**:
- Recent commits that might relate
- Uncommitted changes
- Current branch context
4. **Runtime State**:
- Running processes
- Port conflicts
- Environment variables
Issue description: {user_description}
Return structured findings with evidence.
"""
)Present findings to user:
markdown## Diagnosis Report ### Scope: {scope} ### Evidence Found **Logs:** - [Finding with timestamp/line reference] **Database:** - [Finding with table/query reference] **Git State:** - [Recent relevant commits] - [Uncommitted changes] **Runtime:** - [Process/port findings] ### Root Cause Analysis **Primary Hypothesis:** [Most likely cause based on evidence] **Supporting Evidence:** 1. [Evidence 1] 2. [Evidence 2] **Alternative Hypotheses:** - [Alternative 1]: [Why less likely] ### Proposed Fix **Approach:** [How to fix] **Files to Modify:** - `path/to/file.ts:123` - [Change description] **Risk Assessment:** [Low/Medium/High] - [Why] --- **Proceed with fix?** (yes/no/modify approach)
REQUIRED: Wait for user confirmation before implementing.
AskUserQuestion(
question="Proceed with the proposed fix?",
options=["yes", "no", "modify"]
)If user says "modify", gather new requirements and update approach. If user says "no", create diagnostic handoff and exit. If --dry-run, create diagnostic handoff and exit here.
After diagnosis approval, before implementation:
Run a quick premortem on the proposed fix to catch risks:
/premortem quickContext for premortem:
yamlpremortem: mode: quick context: "Bug fix for {diagnosis.root_cause}" check_for: - Will this fix break other functionality? - Is rollback possible if fix causes issues? - Are there related edge cases not covered? - Does the fix match codebase patterns? - Any external dependencies affected?
Risk Decision:
AskUserQuestion(
question="Pre-mortem found {n} risks in the proposed fix. Proceed?",
options=[
"Accept risks and implement",
"Modify fix approach",
"Research mitigations first"
]
)If "Research mitigations", spawn scout + oracle in parallel per risk, then re-present options.
Route to appropriate implementation skill based on scope:
Task(
subagent_type="kraken",
prompt="""
Implement fix with TDD approach.
Root cause: {diagnosis.root_cause}
Files: {diagnosis.files_to_modify}
Approach: {diagnosis.approach}
Follow implement_task workflow:
1. Write failing test that reproduces the bug
2. Implement minimal fix to pass test
3. Refactor if needed
4. Run full test suite
"""
)Task(
subagent_type="kraken",
prompt="""
Fix hook issue.
Root cause: {diagnosis.root_cause}
Follow hook-developer patterns:
1. Check hook registration in settings.json
2. Verify shell wrapper exists and is executable
3. Test hook manually with mock input
4. Rebuild if TypeScript source was modified
5. Verify hook fires correctly
"""
)Task(
subagent_type="kraken",
prompt="""
Fix dependency issue.
Root cause: {diagnosis.root_cause}
Follow plan-agent workflow:
1. Research correct dependency versions
2. Create implementation plan
3. Update lockfiles
4. Run dependency-preflight
5. Run qlty-check
"""
)Task(
subagent_type="kraken",
prompt="""
Address PR feedback.
Comments: {diagnosis.pr_comments}
Follow plan-agent workflow:
1. Research codebase for context
2. Create implementation plan for each comment
3. Implement changes
4. Commit with reference to comment
"""
)Task(
subagent_type="kraken",
prompt="""
Create regression test for the fix.
Bug: {original_issue}
Fix: {implementation_summary}
Follow test-driven-development:
1. Write test that would have caught this bug
2. Verify test fails against pre-fix code (mentally)
3. Verify test passes against fixed code
4. Test should be minimal and focused
"""
)AskUserQuestion(
question="Fix implemented. Please verify and confirm.",
options=["looks good", "needs adjustment", "revert"]
)If "needs adjustment", gather feedback and return to Phase 5. If "revert", run rollback command and exit.
Task(
subagent_type="general-purpose",
prompt="""
Follow commit skill:
1. Review changes with git diff
2. Create descriptive commit message
3. Reference issue/ticket if applicable
4. Present plan and await confirmation
5. Execute commit
"""
)sleuth (investigation)
|
v
[HUMAN CHECKPOINT: diagnosis]
|
v
[PREMORTEM: quick risk check]
|
v
kraken (implement_task + TDD)
|
v
kraken (regression test)
|
v
[HUMAN CHECKPOINT: verification]
|
v
commitdebug-hooks (structured investigation)
|
v
[HUMAN CHECKPOINT: diagnosis]
|
v
[PREMORTEM: quick risk check]
|
v
kraken (implement_task + hook-developer patterns)
|
v
test hook manually
|
v
[HUMAN CHECKPOINT: verification]
|
v
commitdependency-preflight (check current state)
|
v
oracle (find correct versions/alternatives)
|
v
plan-agent (create fix plan)
|
v
[HUMAN CHECKPOINT: diagnosis + plan review]
|
v
[PREMORTEM: quick risk check]
|
v
kraken (implement_plan)
|
v
qlty-check
|
v
[HUMAN CHECKPOINT: verification]
|
v
commitgithub-search (fetch PR context)
|
v
research-codebase (understand context)
|
v
plan-agent (plan for each comment)
|
v
[HUMAN CHECKPOINT: plan review]
|
v
[PREMORTEM: quick risk check]
|
v
kraken (implement_plan)
|
v
[HUMAN CHECKPOINT: verification]
|
v
commit (reference PR comments)Always create a handoff, even with --dry-run:
yaml--- session: fix-{scope}-{short-description} ts: {ISO timestamp} commit: {git commit hash} branch: {git branch} status: {complete|partial|blocked|diagnosis-only} --- scope: {bug|hook|deps|pr-comments} options: {flags used} issue: description: {original user description} evidence: {key findings from investigation} diagnosis: root_cause: {identified cause} hypothesis: {why we think this} files: [{affected files}] fix: approach: {what was done} files_modified: [{files changed}] test_added: {test file if created} verification: test_command: {command to verify} human_confirmed: {true|false} next: - {any follow-up needed}
Location: thoughts/shared/handoffs/fix/{scope}/{timestamp}_{description}.yaml
/fix bug
# -> Investigates, diagnoses, implements, tests, commits/fix bug --dry-run
# -> Investigates, creates diagnosis handoff, stops/fix hook --no-commit
# -> Full fix workflow but stops before commit/fix bug --no-test
# -> Implements fix, commits, no regression test/fix pr-comments
# -> Fetches PR, creates plan, implements, commits| Error | Action | |-------|--------| | Investigation finds nothing | Ask user for more context | | User rejects diagnosis | Refine hypothesis with user input | | Fix breaks other tests | Rollback, refine approach | | User rejects verification | Offer to revert or adjust | | Commit fails | Present error, offer retry |
This skill orchestrates:
debug / debug-hooks: Initial investigationsleuth: Parallel investigation agentkraken: TDD implementation agentimplement_task: Single task implementationtest-driven-development: Test creationplan-agent: Complex fix planningdependency-preflight: Dependency checksoracle / research-codebase: Context gatheringgithub-search: PR context fetchingqlty-check: Quality verificationpremortem: Risk assessment before implementationcommit: Git commit workflowcreate_handoff: Session handoff| Checkpoint | Purpose | Skip Condition | |------------|---------|----------------| | After diagnosis | Confirm root cause | Never skip | | After premortem | Accept or mitigate risks | No HIGH tigers | | After fix | Verify resolution | Never skip | | Before commit | Review changes | --no-commit |
The human checkpoints are critical for:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-09 | fail→fail | 9,567 | 3,560 | -63% | 1 | 1 | 0% | 1,440 | 4,486 | +212% | 0 | 0 | — |
case-01 | fail→fail | 30,813 | 4,441 | -86% | 1 | 1 | 0% | 186 | 4,451 | +2293% | 0 | 0 | — |
case-02 | fail→fail | 5,043 | 4,373 | -13% | 1 | 1 | 0% | 203 | 4,526 | +2130% | 0 | 0 | — |
case-03 | fail→fail | 13,325 | 4,520 | -66% | 1 | 1 | 0% | 2,462 | 4,553 | +85% | 0 | 0 | — |
case-04 | fail→fail | 4,808 | 4,203 | -13% | 1 | 1 | 0% | 186 | 4,541 | +2341% | 0 | 0 | — |
case-05 | fail→fail | 19,044 | 4,019 | -79% | 1 | 1 | 0% | 1,391 | 4,569 | +228% | 0 | 0 | — |
case-06 | fail→fail | 5,689 | 15,144 | +166% | 1 | 1 | 0% | 919 | 4,373 | +376% | 0 | 0 | — |
case-07 | fail→fail | 13,830 | 3,820 | -72% | 1 | 1 | 0% | 2,567 | 4,522 | +76% | 0 | 0 | — |
case-08 | fail→fail | 4,815 | 2,968 | -38% | 1 | 1 | 0% | 216 | 4,443 | +1957% | 0 | 0 | — |
case-10 | fail→fail | 12,673 | 4,487 | -65% | 1 | 1 | 0% | 2,649 | 4,305 | +63% | 0 | 0 | — |
case-11 | fail→fail | 11,627 | 4,578 | -61% | 1 | 1 | 0% | 1,944 | 4,632 | +138% | 0 | 0 | — |
case-12 | fail→fail | 8,507 | 4,318 | -49% | 1 | 1 | 0% | 1,734 | 4,618 | +166% | 0 | 0 | — |
case-13 | fail→fail | 4,354 | 4,808 | +10% | 1 | 1 | 0% | 144 | 4,323 | +2902% | 0 | 0 | — |
case-14 | fail→fail | 15,236 | 6,541 | -57% | 1 | 1 | 0% | 1,935 | 5,185 | +168% | 0 | 0 | — |
case-15 | fail→fail | 11,631 | 14,468 | +24% | 1 | 1 | 0% | 2,318 | 4,487 | +94% | 0 | 0 | — |
case-16 | pass→pass | 14,345 | 8,541 | -40% | 1 | 1 | 0% | 2,487 | 5,823 | +134% | 0 | 0 | — |
case-17 | pass→fail | 11,843 | 3,737 | -68% | 1 | 1 | 0% | 2,119 | 4,494 | +112% | 0 | 0 | — |
case-18 | pass→pass | 9,665 | 5,753 | -40% | 1 | 1 | 0% | 1,533 | 4,946 | +223% | 0 | 0 | — |
case-19 | fail→pass | 8,499 | 6,126 | -28% | 1 | 1 | 0% | 1,330 | 5,148 | +287% | 0 | 0 | — |
case-20 | pass→fail | 16,578 | 11,170 | -33% | 1 | 1 | 0% | 3,399 | 5,250 | +54% | 0 | 0 | — |
case-21 | pass→fail | 14,424 | 5,913 | -59% | 1 | 1 | 0% | 2,688 | 4,511 | +68% | 0 | 0 | — |
case-22 | pass→fail | 14,503 | 3,523 | -76% | 1 | 1 | 0% | 2,931 | 4,294 | +47% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 13 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -20 percentage points is the difference between those two pass rates over the 13 comparable cases. 6 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 7/29/2026 | 0% |
Other measured skills in the registry, with their headline benchmark lift.