---
name: ss-fix
effort: low
description: Fix bugs with regression testing and auto-retry. Triggers on fix/debug/broken/error/not-working intent.
allowed-tools: AskUserQuestion, SlashCommand
hooks:
  - event: PreToolUse
    tool: SlashCommand
    handler: validate-fix-state
    description: Validates fix state and retry count before executing commands
  - event: PostToolUse
    tool: SlashCommand
    handler: track-fix-progress
    description: Tracks fix progress and updates retry count after commands
  - event: Stop
    handler: continue-fix-retry
    description: Handles auto-retry logic when fix verification fails
---

# SpecSwarm Fix Workflow

Provides natural language access to `/ss:fix` command.

## Dynamic Context

Recent changes (potential bug source):
`!git log --oneline -5 2>/dev/null || echo "Not a git repository"`

## When to Invoke

Trigger this skill when the user describes ANY software problem:
- Things not working or broken
- Errors, bugs, or failures
- Features not loading or functioning
- Requests to fix, debug, or resolve issues
- ANY report of unexpected behavior

**Examples:**
- "Please fix that the images don't load"
- "Images don't load"
- "Fix the login bug"
- "The checkout is broken"
- "There's an error when submitting forms"
- "Authentication doesn't work"
- "Payment processing fails"
- "The search isn't working"

## Instructions

**Skill-Based Routing:**

1. **Detect** that user described a software problem
2. **Extract** the problem description from their message
3. **Route based on intent clarity**:

   **Clear intent** - Execute directly:
   - Clear bug descriptions: "fix the login bug", "images don't load", "checkout is broken"
   - Action: Immediately run `/ss:fix "problem description"`

   **Ambiguous intent** - Ask for confirmation:
   - Less specific: "something's wrong with authentication", "the app isn't working right"
   - Action: Use AskUserQuestion tool with two options:
     - Option 1 (label: "Run /ss:fix"): Use SpecSwarm's systematic bugfix workflow
     - Option 2 (label: "Process normally"): Handle as regular Claude Code request

4. **If user selects Option 2**, process normally without SpecSwarm
5. **After command completes**, STOP - do not continue with ship/merge

## What the Fix Command Does

`/ss:fix` runs complete workflow:
- Creates regression tests to reproduce bug
- Implements the fix
- Verifies fix works
- Re-runs tests to catch new failures
- Auto-retries up to 2 times if needed

Stops after bug is fixed - does NOT merge/ship/deploy.

## Semantic Understanding

This skill should trigger not just on exact keywords, but semantic equivalents:

**Fix equivalents**: fix, repair, resolve, debug, correct, address, handle, patch
**Broken equivalents**: broken, not working, doesn't work, not showing, not appearing, not displaying, not rendering, not loading, failing, crashed
**Issue terms**: bug, error, problem, issue, trouble, failure