fix
Fix build failures and red tests, or investigate an error with an evidence-based loop.
Skill by bllshttng
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/bllshttng-fix
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/fix
What's inside
- Skill name
fix- Description
- Fix build failures and red tests, or investigate an error with an evidence-based loop.
- License
- Apache-2.0
- Instructions
- 78 lines in SKILL.md · view on GitHub
Files (7)
- LIMITATIONS.md
- SKILL.md
- fix-loop.md · references/
- investigate.md · references/
- iteration-loop.md · references/
- track-attempt.md · references/
- verification-patterns.md · references/
SKILL.md (first lines)
<!-- style-exception: mechanical command rename preserves pre-existing prose -->
# Fix
**One command on a broken state.** `/fix` routes between fast repair and methodical diagnosis.
| Mode | What runs | Use when |
|------|-----------|----------|
| `fix` (default) | fast one-fix-per-iteration loop, auto-revert on regression | you know roughly what is broken and want it green |
| `investigate` | scientific-method hypothesis loop (BDD criteria + failing repro) | the cause is unknown and you need to find it first |
This is a **router**. It parses the first argument as a mode, announces the resolved mode, then either runs the default loop here or loads the investigate reference and follows it. It never calls another skill at runtime (it dispatches the tournament-debugger via the Task/Agent tool and loads the investigate flow via Read).
## Step 0: Location preflight (before any write)
`/fix` writes code. Before resolving the mode, consult the shared location verdict (the SAME one `/target` and `/execute` use, so the canonical-main rule never drifts). Resolve the plugin root portably so the helper is found on non-Claude surfaces too. On those, `CLAUDE_PLUGIN_ROOT` is unset and the project checkout is not the fno plugin. Try `CLAUDE_PLUGIN_ROOT`, then `CODEX_PLUGIN_ROOT`, then the persisted `~/.fno/install/plugin-root` pointer (written by `session-start.sh`), then the git root.
```bash
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-$(cat "$HOME/.fno/install/plugin-root" 2>/dev/null || git rev-parse --show-toplevel 2>/dev/null)}}"
LOC_HELPER="$PLUGIN_ROOT/hooks/helpers/check-impl-location.sh"
[[ -f "$LOC_HELPER" ]] && bash "$LOC_HELPER" || echo "verdict=ok"
```
## Known Limitations and Deferred Work
- Unreadable probes cannot prove a repair worked. See [LIMITATIONS.md](LIMITATIONS.md).
If the output carries `verdict=canonical-protected` AND `TARGET_LOCATION_OK` is not `main-acknowledged`, REFUSE: do not resolve the mode, do not write. Name the branch (from the `branch=` line) and print the exact escape, then stop:
```
/fix refused: canonical checkout on '<branch>' (sibling terminals share .fno/).
worktree: wt=$(fno agents workspace worktree ensure --repo . --name <slug> --harness <yours>) && cd "$wt"
branch: git checkout -b feature/<slug>
override: re-run with TARGET_LOCATION_OK=main-acknowledged
```
Otherwise (`verdict=ok`, a linked worktree, or the helper absent) continue to Step 1.
## Step 1: Resolve the mode (ALWAYS announce it)
Parse the first argument token:
- **`investigate`** -> mode is `investigate`. Print `running investigate (hypothesis loop)`. Go to "Investigate mode".
- **`fix`** -> mode is `fix` (explicit). Print `running fix (repair loop)`. Consume the token; the rest are fix's arguments. Go to "Fix mode".
- **empty, `from-debug`, a `--flag`, or `Iterations: N`** -> mode is `fix` (default). Print `running fix (default)`. Keep the token as fix's own argument. Go to "Fix mode".
- **any other bare non-flag word** -> this is an unknown mode (likely a typo). Do NOT default, do NOT guess. Print:
```
unknown fix mode: '<token>'
valid modes: fix (default), investigate
```
and stop with a non-zero result. This is the locked router contract: an unknown non-empty mode never silently falls through.
## Investigate mode
Load [investigate.md](references/investigate.md) and execute it in full, in this context. That reference is the canonical scientific-method debugging loop: define acceptance criteria, prove the bug with a failing reproduction, then test one falsifiable hypothesis per iteration. When it finishes with confirmed findings, the natural next step is the default repair loop - `/fix from-debug` consumes those findings in severity order.
## Fix mode (default)
Repair a broken state iteratively until the error count reaches zero or the loop exhausts its budget. The contract:
- **Target:** the detected failure queue; `from-debug` seeds it from the latest debug findings. An empty queue is a clean `nothing to fix` exit, never an iteration.
- **Guard:** the command a fix must not regress; inferred from the repo (test command in config.toml) or given. No guard means detection delta decides.
- **Bound:** `Iterations: 15` default; two rework attempts per item, then blocked.
- **Completion:** baseline vs remaining error counts, reverted fixes with reasons, and blocked items in `fix/{YYMMDD}-{HHMM}-{slug}/summary.md` - the receipts, not a claim.
Load [references/fix-loop.md](references/fix-loop.md) and execute it in full, in this context: detection, priority order, the atomic one-fix-per-iteration loop with the builder_step crumb, and the summary.
**Ask only unresolved consequential choices.** Infer what to fix, the guard, and the scope from the request and the repository (detected failures, config.toml, debug findings). When target information is genuinely missing, ask once in a single batched AskUserQuestion (what, guard, scope, iteration mode) with the detected failure counts in the first question - do not run the setup ceremony when the request already names its target.
### Decision rules (invariant, whichever body runs)
- A bug-class fix proves red to green. Name a guard command that reproduces the bug. Run it at the base commit before the fix, and it must fail. Run it at the fix commit, and it must pass. Record both exit codes in the fix receipt. A falling error count alone never keeps a bug fix. A guard that passes at the base proves nothing: write a sharper one, or block the item.
- Keep when `delta > 0` and the guard passes; revert when `delta <= 0`; revert immediately on regression and record the revert in the summary.
- Regression prevention is part of the fix: a fix that silences a check (`@ts-ignore`, `# noqa`, deleted or skipped failing tests, empty catch) is discarded and re-queued, never kept.
- Root cause before any defensive check. Name the producer of the bad state first. When the state a defensive check handles is legitimate, the check is a fix. Legitimate means the world can hand the code that state. Over a state the code made itself, fix the producer. The full test is in [references/fix-loop.md](references/fix-loop.md#name-the-root-cause-before-the-fix).From bllshttng/fno, Apache-2.0.
More from bllshttng/fno
- 0.597score
review
bllshttng
Review recent code changes, check if they are ready to ship, or assess a research brief.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
execute
bllshttng
Execute an approved plan in a flat run or coordinated waves.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
mail
bllshttng
Read, send, reply to, and manage Footnote agent mail from any session.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
intel
bllshttng
Report session provenance, work completed, and where agent sessions needed correction.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
setup
bllshttng
Set up a machine for Footnote by launching the interactive setup wizard and reading its report.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
lead
bllshttng
Lead a backlog territory over time or run one governed planning wave.
SkillAFreshness: A★ 2Claude Code +9 - 0.593score
autocorrect
bllshttng
Review corrections, triage proposed patches, and audit the agent self-improvement loop.
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
fno-me
bllshttng
Join this session to the Footnote agent mesh so peers can reach it.
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
growth-launch
bllshttng
Draft and evaluate a growth campaign bundle, then stop at founder approval.
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
audit
bllshttng
Audit a feature for completeness, gaps, and buildable follow-up work.
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
cache-keepalive
bllshttng
Keep the prompt cache warm during idle sessions when the project opts in.
SkillAFreshness: A★ 2Claude Code +9 - 0.592score
dnd
bllshttng
Hold incoming agent mail during a quiet window, then deliver one digest.
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Oct 21, 2026 (8 days ago)
- Last release
- Oct 23, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/bllshttng/fno
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from bllshttng
- 0.597score
review
bllshttng
Review recent code changes, check if they are ready to ship, or assess a research brief.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
mail
bllshttng
Read, send, reply to, and manage Footnote agent mail from any session.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
execute
bllshttng
Execute an approved plan in a flat run or coordinated waves.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
intel
bllshttng
Report session provenance, work completed, and where agent sessions needed correction.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
lead
bllshttng
Lead a backlog territory over time or run one governed planning wave.
SkillAFreshness: A★ 2Claude Code +9 - 0.597score
setup
bllshttng
Set up a machine for Footnote by launching the interactive setup wizard and reading its report.
SkillAFreshness: A★ 2Claude Code +9
Cite this page
fix skill. Agent Mart. https://agentmart.dev/skills/bllshttng-fix (last updated 2026-10-24)