craft-fixlisted
Install: claude install-skill atifgul99/craftsman-marketplace
# Craftsman Fix — driving fixes off an audit
`craft-audit` finds and ranks; this skill **fixes**. It reads the `.craftsman/` workspace
another run already built, re-verifies the picks are still real, gets sign-off, and executes a
tightly scoped batch — then hands back to a re-run of `craft-audit` to confirm. It never
re-audits, never re-ranks, and never marks a finding `fixed` itself — only a fresh audit pass can do
that, because "not seen ≠ fixed" is the whole point of the tracker.
**Handoffs (state both explicitly when this skill doesn't fire):**
- No `.craftsman/` at the project root → this skill does not apply. A scoped, no-audit fix request
goes straight to the relevant domain craft skill. A whole-project assessment goes to
`craft-audit` — run that first, then come back here.
- `.craftsman/` exists but the user wants a *new* assessment, not a fix → that's `craft-audit`
re-run territory, not this skill.
## The loop
Depth for every step lives in `references/fix-protocol.md` — this is the compact sequence.
0. **Precheck.** Locate `.craftsman/` at the project root.
- Missing → stop. Tell the user to run `craft-audit` first (give them the trigger phrase,
e.g. "is my app production-ready").
- **Concurrency marker (mandatory before any mutation).** If `.craftsman/.run-in-progress`
exists, an audit is claiming the workspace (or left a stale marker). **Refuse by default** —
do not mutate `findings.md`, the master tracker, or any other `.craftsman/`