mcpField
F
fix-issue

fix-issue

github.com/frappeDevelopment159230 installsUpdated 2d ago
Repository

About fix-issue

fix-issue is a development skill for engineers handling software bug reports. It separates reported facts from guesses, then guides reproduction, cause analysis, testing, and independent review.

Key features

  1. 01Delegate factual issue extraction
  2. 02Reproduce before investigating causes
  3. 03Make minimal fixes with regression tests
  4. 04Run relevant tests and pre-commit
  5. 05Review changes with a separate agent

Use cases

  1. 01Turn a GitHub issue into a factual brief
  2. 02Check whether a reported bug reproduces
  3. 03Verify a fix and assess review findings

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/frappe/skills --skill fix-issue

After installing, type/fix-issuein Claude Code to confirm it loaded.

Details

From the project README

Fix a reported issue

A bug report is not a specification. Read the reporter's guesses and you inherit them: you look where they looked, and you stop when the symptom stops. A subagent reads the report and returns only the observable facts. You form your own hypothesis from the code.

Never read the issue yourself — no gh issue view, no WebFetch, no Read on the file, not even later to check a detail. If the extract is thin, SendMessage the extractor agent; its context still holds the report.

1. Extract the facts

Spawn one general-purpose agent, run_in_background: false, passing the argument through unchanged:

Read the bug report at . For a GitHub issue use gh issue view <n> --comments. For a path, read the file.

Return a factual brief. Your output is the only thing the engineer will see.

Include, each only if the report states it:

  • Symptom — what the user observed, one or two sentences.
  • Expected — what they expected instead.
  • Reproduction — exact steps, inputs, data. Verbatim, never shortened.
  • Evidence — errors, tracebacks, logs, response bodies. Verbatim and complete.
  • Environment — version, branch, database, browser, deployment type.
  • Scope — always or intermittent, one user or all, when it started.

Exclude: any proposed fix, patch, or PR link; any guess at the cause or any file, function, or commit the reporter suspects; "I think" / "probably" / "it looks like" clauses; severity, urgency, blame, +1s, greetings, bot comments; repeated restatements of the symptom.

A traceback is evidence — keep it, though it names files. A commenter writing "the bug is in x.py" is a guess — drop it.

End with Gaps: what a reproduction needs that the report does not give. "none" if complete.

Do not read the codebase, verify anything, or offer an opinion. Under 400 words plus verbatim blocks.

2. Reproduce before you fix

Reproduce the symptom from the brief. Three outcomes end the work here, and each is a valid result to report: cannot reproduce and the brief lists gaps; cannot reproduce and the brief is complete (search the log for a commit that already fixed it); or it reproduces but the behaviour is correct.

3. Find the cause yourself

Work backwards from the failure through the code. The report told you where the symptom surfaced, not where the defect is. Fix the cause; if you can only reach the symptom, say so rather than patching it in silence.

4. Fix and verify

Smallest change that removes the cause — no refactors, no adjacent fixes. Add a regression test that fails without the change and run it both ways, then the surrounding test module and pre-commit run --files <changed files>.

5. Review in a separate agent

Spawn one general-purpose agent, run_in_background: false:

Load the frappe-code-review skill and review the working diff (git diff plus any untracked files it adds). The change is meant to fix this bug:

<paste the Symptom and Expected lines from step 1>

Judge two things: does the change stop the bug at its cause or mask the symptom, and the skill's checklist. Report only findings worth acting on, most serious first — file and line, what breaks and for whom, the fix. No summary of the diff. If nothing is worth acting on, say so in one line.

Act on the findings and re-run the tests.

6. Report

Four to six lines: the cause, the change, the test, the review outcome, anything unresolved. Commit only if asked; if you do, load technical-writing for the message and add no co-author trailer.

Comments

Markdown supported