code-improver Skill
✓ VerifiziertFührt einen autonomen Review-and-Fix-Loop über Code-Targets aus, indem ein spezifischer Reviewer-Agent oder ein Skill genutzt wird, bis die Review-Anforderungen erfüllt sind.
- GitHub Stars
- 8.136
- Dateien
- 1
- Letzter Commit
- 11. Nov. 2026
- Lizenz
- CC-BY-SA-4.0
- Erlaubte Tools
- 6
Was macht der code-improver Skill?
code-improver ist ein Agent Skill. Führt einen autonomen Review-and-Fix-Loop über Code-Targets aus, indem ein spezifischer Reviewer-Agent oder ein Skill genutzt wird, bis die Review-Anforderungen erfüllt sind.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den code-improver skill
Developer können den iterativen Prozess der Code-Verfeinerung automatisieren, indem sie einen autonomen Review-and-Fix-Loop ausführen. Dieser Skill funktioniert durch die Koordination eines benannten Reviewers – das kann jeder installierte Agent oder Skill sein – mit einem Fixer-Subagenten, um Probleme so lange zu beheben, bis ein sauberes Review erreicht ist. Er ist darauf ausgelegt, spezifische Targets wie Verzeichnisse, Module oder Plugins zu verbessern, indem Fixes wiederholt angewendet und gegen einen Satz von Anforderungen geprüft werden.
Der Prozess nutzt das Workflow-Tool, um ein Background-Script auszuführen, das ein Ledger für Funde verwaltet, Scope Guards erzwingt und eine Eskalation einleitet, falls die Fixes nicht konvergieren. Zur Verwaltung der Umgebung werden Tools wie Bash Glob, Read und TaskOutput verwendet. Im Gegensatz zum manuellen Editieren stellt dieser Workflow sicher, dass alle Änderungen im Working Tree bleiben, ohne zu committen. Zudem liefert er strukturiertes Feedback darüber, ob der Loop konvergiert ist, ein Maximum an Runden erreicht hat oder aufgrund von Scope-Verletzungen gestoppt wurde.
Was ein agent damit machen kann
- 1Iterative Code-VerfeinerungFühre einen kontinuierlichen Loop aus, um ein spezifisches Verzeichnis zu verbessern, bis ein festgelegter Reviewer keine kritischen Probleme mehr findet.
- 2Automatisierte QualitätssicherungStelle sicher, dass der Code spezifische Standards erfüllt, indem ein Reviewer und ein Fixer so lange in einer Schleife laufen, bis keine schwerwiegenden Funde mehr vorhanden sind.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den code-improver 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 code-improver Skill in Plugin installieren
/plugin marketplace add trailofbits/skills /plugin install code-improver@trailofbits
Den code-improver Skill in Claude Code installieren
~/.claude/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.claude/skills/code-improverDen code-improver Skill in Claude Code (project) installieren
.claude/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver .claude/skills/code-improverDen code-improver Skill in Codex installieren
~/.agents/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.agents/skills/code-improverDen code-improver Skill in Gemini CLI installieren
~/.gemini/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.gemini/skills/code-improverDen code-improver Skill in Claude.ai installieren
npx degit trailofbits/skills/plugins/code-improver/skills/code-improver code-improver && zip -r code-improver.zip code-improver # claude.ai → Customize → Skills → + → Create skill → Upload a skill → code-improver.zip
Automatisierte Checks
Geluften am 14. Nov. 2026Vollständiger Bericht →Hat unsere automatischen Prüfungen bestanden. Das ist kein Sicherheitsaudit: Lesen Sie die Skripte, bevor ein Agent sie ausführt. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbartrailofbits/skills/plugins/code-improver/skills/code-improver is public and reachablegithub.com/trailofbits/skills/tree/HEAD/plugins/code-improve ↗Bestanden
- Open Source Lizenz (OSI)CC-BY-SA-4.0 is not OSI-approvedspdx.org/licenses/CC-BY-SA-4.0.html ↗Befund
- Commit oder Release im letzten JahrLast commit 2026-11-11github.com/trailofbits/skills/commits ↗Bestanden
- Keine Download-und-Ausführen-Muster oder Zugangsdatendiebstahl in SkriptenNo scripts in the skill folderBestanden
- Keine versteckten Anweisungen in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/trailofbits/skills/blob/HEAD/plugins/code-improve ↗Bestanden
- Vorab erlaubte Tools sind eingeschränktBash lets the agent run any shell command without askinggithub.com/trailofbits/skills/blob/HEAD/plugins/code-improve ↗Befund
SKILL.md
Auf GitHub ansehenCode Improver
Improve any code target by running /code-improver:improve — a dynamic workflow that
loops the named reviewer and a fixer subagent until a review reports zero critical/major
findings, then strips its own residue. The loop, its ledger, and its guards live in the
workflow; this skill collects the three inputs the generic entry requires and relays the
outcome.
Starting the loop
The user provided: $ARGUMENTS (if empty, take the details from the conversation).
1. Collect the three required inputs — no guessing
- Target: the absolute path to the directory under improvement. Resolve relative paths against the working directory; verify the directory exists.
- Reviewer: the installed skill or agent that performs every review. The user must
name it — there is no default and no bundled reviewer. Determine the kind:
- a namespaced agent (e.g.
plugin-dev:skill-reviewer) →"kind": "agent" - an installed skill (e.g.
pr-review-toolkit:review-pr) →"kind": "skill"If the name could be either, check the session's skill listing; if still ambiguous, ask the user. If no reviewer was named, ask — do not pick one.
- a namespaced agent (e.g.
- Scope: repo-relative globs the loop may touch. The generic entry requires it
explicitly; if the user did not give one, propose the target directory
(
<repo-relative-target>/**) and confirm before launching.
2. Resolve the loop script
Resolve improve.js from this SKILL.md's installed location
to an absolute path and confirm the file exists. Its plugin directory is pluginRoot.
Use this exact plugin copy; if the file is missing, stop.
3. Invoke the workflow
Run it with the Workflow tool, {scriptPath: "<the path from step 2>", args: {...}}:
{
"target": "<absolute target path>",
"reviewer": { "kind": "agent|skill", "name": "<namespaced-name>", "notes": "<what the reviewer should know about the target>" },
"scope": ["<repo-relative-glob>/**"],
"pluginRoot": "<the plugin directory from step 2>",
"maxRounds": 5
}
maxRoundsonly if the user asked for a different cap.pluginRootis the resolved plugin directory from step 2, for the metrics collector.finalize({"version_bump": bool, "narration_strip": bool, "docs_pass": bool}) only to override the defaults: version bump when the target sits inside a plugin, narration strip and docs pass always.decisiononly on continuation (below).
The workflow runs in the background and needs no babysitting: it reviews, fixes, re-reviews, checks scope after every fix round, and can only complete on a clean review. It never commits; all changes stay in the working tree.
If the Workflow tool is unavailable or denied, stop and say so. Do not improvise the loop inline with direct edits — the ledger, scope guard, and escalation guarantees live in the workflow, and an inline imitation has none of them.
If the result is halted: "reviewer-unavailable", relay it and stop. The named
reviewer is not installed in this session; tell the user which plugin provides it and
re-run after installing. Do not review the target yourself.
Do not end your turn while the loop is running. The Workflow tool returns a task id immediately; the result comes later. In an interactive session the completion notification re-invokes you — wait for it. In a non-interactive run (scripted, CI, eval) there is no later turn: stopping abandons the loop mid-round, so after launching, poll the task (TaskOutput with the returned task id, or sleep-and-recheck) until it completes, then relay the result. A session that answers "the loop is running, I'll report later" has lost the run.
Relaying the result
The workflow returns a structured result. Report it honestly — the distinctions matter:
converged: true— the last action was a review with zero critical/major findings. Report rounds used, remaining minor findings (open_minor_count), and the artifact paths (ledger_path,metrics).capped: true— the fix budget ran out and the FINAL review still found blocking issues. Say plainly: capped, NOT converged, and listopen_blocking. Do not present this as success.escalation— the loop detected it was not converging (recurring findings, non-decreasing counts, or a fix relocating a problem). Relay the escalation message and finding ids to the user: this needs a design decision, not more rounds.halted— a guard fired (scope violation, unregistered new files, a dead or unavailable reviewer, or a finalize pass whose own edits failed the check that follows it). Relay the paths inviolations/new_untracked_files, the sites infinalize_regressions, and the notes.notesalways travel with the result — surface them; they include loud warnings such as "a git repository was initialized".
Continuing after an escalation
The loop stops on escalation by design. When the user decides, start a fresh run with
the same target and reviewer plus:
{ "decision": "<the user's ruling, verbatim>" }
The new run reloads the on-disk ledger, so every finding, rejection, and verdict carries over — rounds restart, re-derivation does not.
To stop a running loop, stop the workflow task (TaskStop); the ledger on disk is current to the last round and a re-run resumes from it.
When NOT to use
- A Claude Code skill: use the
skill-improverentry — it wires the right reviewer - A branch / pull request: use the
pr-improverentry — it derives scope from the diff - One-time review: dispatch the reviewer directly; the loop's value is iteration
- Quick single fixes: edit the file directly
Dateien in diesem Skill
1code-improver Skill-Fragen
Wie installiere ich den code-improver Skill in Claude Code?
Führe npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.claude/skills/code-improver 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 code-improver 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.
Was passiert, wenn der Verbesserungsprozess keine Fortschritte mehr macht?
Das System löst eine Eskalation aus, wenn es erkennt, dass der Loop nicht konvergiert – zum Beispiel bei wiederkehrenden Funden oder einer nicht sinkenden Anzahl an Problemen. In diesem Fall ist eine Entscheidung durch den User erforderlich.
Commitet das Tool Änderungen automatisch in mein Repository?
Nein, der Workflow führt niemals Commits aus; alle während des Verbesserungsprozesses vorgenommenen Änderungen bleiben im Working Tree.