Fix a bug using Scout → Diagnose → Fix → Review → Finalize. Use when the user pastes an error message, stack trace, or test failure, or says "fix this bug", "something's broken", "tests are failing", "I'm getting an error". Also accepts `--from-quality <report>` or `--from-test <report>` to fix exactly the findings/failures a report lists. Modes (pick one): --fast (trivial errors — lint, type, build — skip scout and review), --hard (mandatory review, no auto-approve).
Scanned 9/11/2026
Install to Claude Code
npx -y skills add DangQuangSE/team-development-skills --skill ck-fix --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ck Fix?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dangquangse-ck-fix-team-development-skills)More formats (shields.io, HTML) on the badges page.
---
name: ck:fix
description: Fix a bug using Scout → Diagnose → Fix → Review → Finalize. Use when the user pastes an error message, stack trace, or test failure, or says "fix this bug", "something's broken", "tests are failing", "I'm getting an error". Also accepts `--from-quality <report>` or `--from-test <report>` to fix exactly the findings/failures a report lists. Modes (pick one): --fast (trivial errors — lint, type, build — skip scout and review), --hard (mandatory review, no auto-approve).
user-invocable: true
---
# ck:fix — Structured Bug-Fix Pipeline
Modes — mutually exclusive, pick one (default = Standard: auto-approve on `code-reviewer`'s own `APPROVED` verdict):
- **`--fast`** — trivial issues (lint, type errors, build errors); skip scout, review, docs
- **`--hard`** — mandatory review, no auto-approve
Report-scoped input (either replaces Step 0's free-text description):
- **`--from-quality <report-path>`** — the target is exactly the blocking findings in a `ck:quality` report (`plans/{slug}/quality/{phase}-quality-report.json`).
- **`--from-test <report-path>`** — the target is exactly the failures in a `ck:test` failure report.
With either flag, fix strictly what the report lists — no expanding scope to adjacent code the report doesn't cite, even if it looks related.
---
### Step 0 — Prerequisites + Scope
`--from-quality`/`--from-test`: read the report; its findings/failures *are* the scope. Skip straight to Step 2 (report evidence replaces Scout).
Otherwise, if no error message, stack trace, or concrete description provided:
→ "Paste the error message or stack trace." Wait before continuing.
```
# Scope:
# Description: {what the user said, or "from {report-path}"}
# Quick? → {yes/no — reason}
# Mode: {Standard | Quick | Hard}
```
If `--fast` or clearly a build/compiler/lint error: skip Step 1 → go directly to Step 2.
---
### Step 1 — Scout
Skip if `--from-quality`/`--from-test` (the report already is the evidence).
Spawn **`scout`** with the bug description:
- Greps for error patterns in logs and stack traces
- Reads affected source files and maps dependencies
- Checks recent git changes for related commits
```
// Evidence:
// Error pattern: NullReferenceException at auth.ts:45
// Affected files: auth.ts, session.ts
// Recent change: commit a3f2b1 modified auth.ts (2h ago)
```
---
### Step 2 — Diagnose
Spawn **`debugger`** with the scout evidence report, or with the report's findings/failures directly for `--from-quality`/`--from-test`:
- Forms 2–3 hypotheses from the evidence (or takes the report's `required_action`/`expected` vs `actual` directly — it's already a confirmed root cause, not a hypothesis)
- Confirms or rejects each against the codebase
- Applies the minimal fix at the confirmed root cause, scoped to exactly what the report/evidence names
```
// Hypothesis A: null check missing in auth.ts:45 → CONFIRMED ✓
// Hypothesis B: race condition in session init → REJECTED ✗
//
// Root cause: missing null guard on req.user before .validate()
// Fix applied: auth.ts:45
// Severity: HIGH | Scope: 1 file
```
---
### Step 2.5 — Quality Re-verification (when applicable)
If the fix touched any file already covered by an issued quality receipt (`plans/{slug}/quality/{phase}-receipt.json`), that receipt is now stale — its fingerprint no longer matches the file's bytes. Run `ck:quality --verify plans/{slug}/quality/{phase}-quality-report.json` before Step 3. `CHANGES_REQUIRED` sends the fix back to Step 2; do not proceed to Review or Finalize on a stale or rejected receipt.
Skip this step only when the fix touched no file with an existing receipt.
---
### Step 3 — Review
**`--fast`**: skip → Step 4.
Spawn **`code-reviewer`**: correctness, security, regressions. `code-reviewer` does not re-score maintainability that `ck:quality` already approved in Step 2.5 — it checks the bug fix itself, not architecture.
**Standard**: auto-approve on `code-reviewer`'s `APPROVED` verdict. Up to 3 fix/re-review cycles (different approach each), then escalate.
**`--hard`**: no auto-approve — human must explicitly approve before Step 4.
---
### Step 4 — Finalize (MANDATORY)
**`project-manager`** (skip `--fast`): sync plan progress if bug was tracked.
**`docs-manager`** (skip `--fast`): update docs if fix changes a public contract.
**`git-manager`** (always): conventional commit + ask to push.
```
// git-manager → fix(auth): add null guard on req.user before validate
// → Push to remote? [y/N]
```
---
## Agents
| Agent | Step | Modes |
|-------------------|------|-------|
| `scout` | 1 | Standard, `--hard` (skip if `--fast` or `--from-quality`/`--from-test`) |
| `debugger` | 2 | All |
| `ck:quality --verify` | 2.5 | All (only when a touched file has an existing receipt) |
| `code-reviewer` | 3 | Standard, `--hard` (skip for `--fast`) |
| `project-manager` | 4 | Standard, `--hard` (skip for `--fast`) |
| `docs-manager` | 4 | Standard, `--hard` (skip for `--fast`) |
| `git-manager` | 4 | Always (mandatory) |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!