test-fix-loop
Self-continuing loop that fixes a deliberately failing test, reruns it, and exits cleanly when green. Smallest cooking-routines skill — pairs with the cooking Stop hook to keep iterating past natural stops.
What this skill does
# Test Fix Loop
Smallest cooking-routines skill. Hand the agent a failing test (or a set of them) and a marker file; the cooking Stop hook will keep the agent looping through fix-and-rerun cycles until either the tests pass or the iteration counter hits 10. Marker file is the trust boundary; remove it to end the loop.
## When to Use
- A unit/integration test is failing and the fix is mechanical (assertion update, missing import, simple refactor)
- You want the agent to iterate without supervision until green
- You explicitly do **not** want the agent to ship the fix anywhere — `cross-repo-refactor` handles branch+push; this skill only edits the working tree
## When NOT to Use
- Tests are failing because of a real design bug — fix the design first, don't loop
- Tests touch multi-repo state — use `cross-repo-refactor` instead
- You don't have a clean working tree — the loop edits files; commit or stash first
## How to Run
1. Confirm a clean working tree: `git status --short` returns no output, OR you accept that the loop will edit working-tree files.
2. Identify the failing test command (e.g., `npm test -- failing-test.spec.ts`, `bun test path/to/test`, `pytest tests/foo.py::test_bar`).
3. Create the marker file with the agent's PID:
```bash
mkdir -p ~/.claude/cooking
PID=$$
START_EPOCH=$(ps -p $PID -o lstart= | sed 's/^ *//;s/ *$//')
printf '{"start_epoch": "%s"}' "$START_EPOCH" > ~/.claude/cooking/active-$PID
```
4. Tell Claude: "Run `<failing test command>` in cook mode. Fix the test until it passes."
5. The agent runs the test, edits the failing implementation/assertion, reruns, repeats. The Stop hook returns exit 2 after each turn, so the agent keeps iterating until termination.
6. The skill **must** remove the marker file in a `finally`-equivalent path (whether the loop terminates cleanly or aborts).
## TERMINATION
Stop when ANY of these are true:
- The failing test command exits with status 0 (test is green)
- Iteration count reaches 10 (the cooking Stop hook hard-caps regardless of marker)
- The agent determines the failure is a real design bug, not a mechanical fix — in this case write a brief note describing the bug and exit
- The marker file is removed (manually or by the agent)
When termination triggers:
```bash
rm -f ~/.claude/cooking/active-$PID ~/.claude/cooking/iter-$PID
```
## Anti-patterns
- **Don't** suppress the failing assertion to "make it green" — that's removing tests, which the spec forbids.
- **Don't** silently delete the test if it can't be made to pass — write a note and exit.
- **Don't** run this on a dirty working tree without warning the user; the loop edits files.
- **Don't** use this for end-to-end / browser tests where each iteration costs minutes — use `investigation-loop` instead and reason about the failure first.
## Verification
`/cook-status` should show this loop's marker as `active` while running, and as gone after termination. The iteration counter file (`~/.claude/cooking/iter-<pid>`) should be ≤ 10 at any observation point.
## Related
- Stop hook: `hooks/cooking/stop-hook.sh`
- Status command: `/cook-status`
- Sibling skills: `investigation-loop`, `cross-repo-refactor`, `dreaming-consolidator`
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.