code-improver skill
✓ 検証済み指定したレビュアーエージェントまたはSKILLを使用して、レビュー要件が満たされるまでコードターゲットに対して自律的なレビュー・修正ループを実行します。
- GitHubスター
- 8,136
- ファイル
- 1
- 最終コミット
- 2026年11月11日
- ライセンス
- CC-BY-SA-4.0
- 許可されたツール
- 6
code-improver skillは何をしますか
code-improverはAgent Skillsです。 指定したレビュアーエージェントまたはSKILLを使用して、レビュー要件が満たされるまでコードターゲットに対して自律的なレビュー・修正ループを実行します。.
skillのSKILL.mdから生成された要約。
code-improver skill について
開発者は、自律的なレビュー・修正ループを実行することで、コードを洗練させる反復プロセスを自動化できます。このSKILLは、インストールされている任意のエージェントやSKILLをレビュアーとして指定し、修正用のサブエージェントと連携させることで、クリーンなレビュー結果が得られるまで問題に対処します。ディレクトリ、モジュール、プラグインなどの特定のターゲットに対し、修正の適用と要件に基づく検証を繰り返すことで品質を向上させるよう設計されています。
このプロセスはWorkflowツールを利用してバックグラウンドスクリプトを実行し、検出結果の台帳管理、スコープガードの適用、および修正が収束しない場合の、エスカレーション処理を行います。環境管理にはBash Glob、Read、TaskOutputなどのツールを使用します。手動での編集とは異なり、このワークフローはすべての変更をコミットせずにワーキングツリー内に留めることを保証します。また、ループが収束したのか、最大ラウンド数に達したのか、あるいはスコープ違反により停止したのかについて、構造化されたフィードバックを提供します。
エージェントができること
- 1反復的なコードの洗練指定したレビュアーが重大な問題を検出しない状態になるまで、特定のディレクトリを改善する継続的なループを実行します。
- 2自動化された品質管理重大な検出事項がゼロになるまで、レビュアーと修正エージェントをループさせ、コードが特定の基準を満たしていることを保証します。
skill の SKILL.md から作成されています。すべてのユースケースは、その引用と照合されています。
code-improver skillのインストール方法
各コマンドはskillフォルダをクライアントのskillsディレクトリにコピーします。読み込むには、クライアントを再起動するか新しいセッションを開始してください。プラグインにcode-improver skillをインストールする
/plugin marketplace add trailofbits/skills /plugin install code-improver@trailofbits
Claude Codeにcode-improver skillをインストールする
~/.claude/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.claude/skills/code-improverClaude Code (project)にcode-improver skillをインストールする
.claude/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver .claude/skills/code-improverCodexにcode-improver skillをインストールする
~/.agents/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.agents/skills/code-improverGemini CLIにcode-improver skillをインストールする
~/.gemini/skills/code-improver/SKILL.md
$ npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.gemini/skills/code-improverClaude.aiにcode-improver skillをインストールする
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
自動チェック
実行日 2026年11月14日詳細レポート →自動チェックに合格しました。これはセキュリティ監査ではありません。エージェントに実行させる前にスクリプトを読んでください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能trailofbits/skills/plugins/code-improver/skills/code-improver is public and reachablegithub.com/trailofbits/skills/tree/HEAD/plugins/code-improve ↗合格
- オープンソースライセンス (OSI)CC-BY-SA-4.0 is not OSI-approvedspdx.org/licenses/CC-BY-SA-4.0.html ↗検出事項
- 過去1年以内にコミットまたはリリースありLast commit 2026-11-11github.com/trailofbits/skills/commits ↗合格
- スクリプトにダウンロード実行や認証情報の窃取がないNo scripts in the skill folder合格
- SKILL.md に隠れた指示がないNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/trailofbits/skills/blob/HEAD/plugins/code-improve ↗合格
- 事前許可ツールが限定されているBash lets the agent run any shell command without askinggithub.com/trailofbits/skills/blob/HEAD/plugins/code-improve ↗検出事項
SKILL.md
GitHubで表示Code 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
このスキルのファイル
1code-improver skillに関する質問
Claude Codeにcode-improver skillをインストールするには
npx degit trailofbits/skills/plugins/code-improver/skills/code-improver ~/.claude/skills/code-improverを実行してください。Claude Codeは~/.claude/skills(すべてのプロジェクト)または.claude/skills(単一プロジェクト)からskillsを読み込み、説明がタスクに一致する場合にskillを使用します。
code-improver skillはどのクライアントで使用できますか
Agent Skills形式を読み込むすべてのクライアントで使用できます: Claude Code、Codex、Gemini CLI、claude.ai(ZIPとしてアップロード)。skill内のスクリプトは、クライアントがコード実行を許可した場合にのみ実行されます。
改善ループが進展しなくなった場合はどうなりますか?
問題が繰り返し検出される、あるいは問題数が減少しないなど、ループが収束していないと判断された場合、システムはエスカレーションをトリガーし、ユーザーによる設計判断を求めます。
このツールはリポジトリへの変更を自動的にコミットしますか?
いいえ、このワークフローがコミットを行うことはありません。改善ループ中に行われたすべての変更は、ワーキングツリー内に保持されます。