implement-patch Skill
Behebt bestätigte lokale Bugs durch Reparaturen auf Invariant-Ebene, das Schreiben von Regressionstests und das Erstellen strukturierter Patch-Records.
- GitHub Stars
- 8.136
- Dateien
- 1
- Letzter Commit
- 11. Nov. 2026
- Lizenz
- CC-BY-SA-4.0
- Erlaubte Tools
- —
Was macht der implement-patch Skill?
implement-patch ist ein Agent Skill. Behebt bestätigte lokale Bugs durch Reparaturen auf Invariant-Ebene, das Schreiben von Regressionstests und das Erstellen strukturierter Patch-Records.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den implement-patch skill
Die Reparatur bestätigter lokaler Bugs durch Fixes auf Invariant-Ebene und Regressionstests ist die Hauptfunktion dieses Skills. Entwickler nutzen ihn, wenn ein Bug bereits unabhängig validiert wurde und einen strukturierten Reparaturprozess anstelle von spekulativer Suche erfordert. Der Agent folgt einem strikten Verfahren, das mit einem Check des Record Validators mittels uv run beginnt, um sicherzustellen, dass der Reparaturumfang und der Case Plan nutzbar sind.
Sobald die verletzte Invariant identifiziert ist, sucht der Agent nach allen Instanzen der Verletzung innerhalb seiner Grenzen. Er schreibt einen Regressionstest, der beim Baseline fehlschlägt, bevor er die kleinste überprüfbare Änderung anwendet, um die Invariant zu fixen. Der Prozess schließt mit der Erstellung von zwei spezifischen Dateien, fix.patch und tests.patch, in einem Patch-Verzeichnis ab. Schließlich erstellt der Agent ein patch.json Record, das Commit SHAs, Dateistatistiken und Suite-Ergebnisse enthält, welches dann mittels des manifest Commands manifestiert und mit dem Record Validator verifiziert wird.
Was ein agent damit machen kann
- 1Fixen validierter lokaler BugsWende eine Reparatur auf Invariant-Ebene auf einen Bug an, der bereits durch unabhängige Validierung bestätigt wurde.
- 2Erstellen von RegressionstestsEntwickle einen neuen Test, der beim aktuellen Baseline fehlschlägt, um sicherzustellen, dass der Bug und seine Varianten behoben werden.
- 3Generieren strukturierter Patch-RecordsErstelle eine patch.json Datei, die Commit-Details, Zeilenänderungen und Test-Suite-Ergebnisse enthält.
- 4Suche nach Invariant-VerletzungenIdentifiziere jede Instanz einer spezifischen Verletzung innerhalb der Grenzen einer defekten Invariant.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den implement-patch Skill
Jeder Befehl kopiert den Skill-Ordner in das Skills-Verzeichnis des Clients. Starte den Client neu oder beginne eine neue Session, um ihn zu laden.Den implement-patch Skill in Plugin installieren
/plugin marketplace add trailofbits/skills /plugin install patching-bugs@trailofbits
Den implement-patch Skill in Claude Code installieren
~/.claude/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.claude/skills/implement-patchDen implement-patch Skill in Claude Code (project) installieren
.claude/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch .claude/skills/implement-patchDen implement-patch Skill in Codex installieren
~/.agents/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.agents/skills/implement-patchDen implement-patch Skill in Gemini CLI installieren
~/.gemini/skills/implement-patch/SKILL.md
$ npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.gemini/skills/implement-patchDen implement-patch Skill in Claude.ai installieren
npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch implement-patch && zip -r implement-patch.zip implement-patch # claude.ai → Customize → Skills → + → Create skill → Upload a skill → implement-patch.zip
SKILL.md
Auf GitHub ansehenImplement Patch
When to Use
Use after independent validation confirms one claim. Read the record contract. Before target commands, follow its project guidance.
When NOT to Use
Do not use for speculative bug hunting, proof of a completed patch, or a change that cannot be exercised by the local compiler or runtime.
Procedure
-
Before editing, run
uv run --no-project <script> check --before-repair <run-dir>with the record validator. If this check fails, stop and return its errors for an INCONCLUSIVE report. The gate requiresfinding.repair_scopewith a usable case plan and a consistent attempt count. Use the declared scope as the repair brief. Identify the broken invariant and search within its boundary for every instance of the same violation. Read the threat model only to preserve intended behavior; it is not a gate. -
Run the project's existing suite and record its results. Write a regression test that fails on the baseline for the named bug and any fixed variant. Observe the failure. Fix the invariant within the repair brief with the smallest reviewable change.
-
Run the regression test and full existing suite again. Compare before and after failures. Fix new failures or explain a pre-existing one from receipts.
-
Record every variant as
fixedornot_fixedwith a reason. Produce exactly one local commit. Never push or open a PR. From the baseline, writefix.patchfor production changes andtests.patchfor test changes inpatch/attempt-N/. -
Write
patch.jsonwith the two commit SHAs, changed-file and line counts, variants, suite results, and your agent identity. If the attempt produced no commit, recordpatch_commit: nulland return it as failed. Manifest the entire attempt directory, including both patch files and the record, usinguv run --no-project <script> manifest <patch-attempt-dir>. Check it with the record validator.
{
"schema_version": 1,
"attempt": 1,
"baseline_commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"patch_commit": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"files_changed": 2,
"lines_added": 3,
"lines_removed": 1,
"variants": [],
"suite_before": {"command": "pytest", "passed": 9, "failed": 1, "skipped": 0},
"suite_after": {"command": "pytest", "passed": 10, "failed": 0, "skipped": 0},
"agent": "patcher-1"
}
Rationalizations to Reject
| Shortcut | Required action |
|---|---|
| Only the reported line matters. | Search for the same invariant violation. |
| Minimal means the fewest lines. | Make the smallest reviewable invariant-level fix. |
| Tests pass after the patch. | Show the regression test failed before it. |
Dateien in diesem Skill
1implement-patch Skill-Fragen
Wie installiere ich den implement-patch Skill in Claude Code?
Führe npx degit trailofbits/skills/plugins/patching-bugs/skills/implement-patch ~/.claude/skills/implement-patch aus. Claude Code lädt Skills aus ~/.claude/skills (alle Projekte) oder .claude/skills (ein Projekt) und nutzt einen Skill, wenn seine Beschreibung zur Aufgabe passt.
Welche Clients können den implement-patch Skill nutzen?
Jeder Client, der das Agent Skills-Format liest: Claude Code, Codex, Gemini CLI und claude.ai (als ZIP hochladen). Skripte im Skill laufen nur dort, wo der Client Codeausführung erlaubt.
Wann sollte ich den implement-patch Skill nutzen?
Nutze diesen Skill, nachdem eine unabhängige Validierung einen Bug bestätigt hat und du eine Reparatur auf Invariant-Ebene durchführen, nach Varianten suchen und einen lokalen Commit erstellen musst.
Kann ich diesen Skill für spekulatives Bug-Hunting nutzen?
Nein, der Skill sollte nicht für spekulatives Bug-Hunting oder um zu beweisen, dass ein Patch abgeschlossen ist, verwendet werden.
Was soll ich tun, wenn der erste Check des Record Validators fehlschlägt?
Wenn der Check fehlschlägt, musst du abbrechen und die Fehler als INCONCLUSIVE Report zurückgeben.
Sollte ich meine Änderungen in ein Remote-Repository pushen?
Nein, du solltest genau einen lokalen Commit erstellen und niemals pushen oder einen Pull Request eröffnen.