improve について
現在のセッションで確認した事実に基づき、改善案を提示するコードレビュー用スキルです。エージェントがユーザーへの影響順に提案を整理し、根拠のある指摘と推測を分けられます。
主な機能
- 01セッションの観察事実に基づく提案
- 02根拠のある指摘と推測の区別
- 03ユーザーへの影響による優先順位付け
- 04正確性・セキュリティ・性能の確認
- 05Ralph ループと引き継ぎへの対応
活用シーン
- 01完了前に変更したコードをレビュー
- 02作業の節目で具体的な問題を特定
- 03エージェントへの引き継ぎ用改善記録の作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alleneubank/ claude-code --skill improveインストール後、Claude Code で/improveを入力して読み込まれたか確認します。
詳細
改善点
このセッション中に確認した事実に基づいて、構造化された改善点の洗い出しを行います。
原則(常に適用)
- すべての提案には、具体的な観察事項(ファイルパス、確認されたエラー、気づいたパターン、検証済みの動作)を根拠として示します。「よくある慣行ではこうです」より「Xを確認しました」を優先します。
- 根拠のある提案と推測に基づく提案を区別します。推測に基づく提案には、その旨を明記します。
- 説明のしやすさではなく、ユーザーへの影響を基準に優先順位を付けます。
- 公開 API の契約、認証境界、データスキーマを変更する改善は、高リスクであることを明示せずに提案しないでください。
- シンプルさも機能の一つです。このセッションで確認した具体的な問題を防ぐのでなければ、複雑さを増やす提案はしないでください。
使用するタイミング
- ユーザーが「今わかったことを踏まえると、どのような改善ができますか?」などと尋ねたとき
- ralph ループで完了を宣言する前(セルフチェック)
- 引き継ぎを作成する前
- 大きな作業を完了した後
- 直前に作成または変更したコードをレビューするとき
使用しないタイミング
- 有意義な作業を行う前のセッション開始時
- ユーザーがレビューを省略してリリースするよう明示的に求めたとき
- アーキテクチャの再設計時(代わりに仕様策定/計画のフローを使用してください)
分析項目
以下の項目に沿って分析します。根拠のある提案がない項目は省略してください。
正確性
エラー処理の不足、未処理のエッジケース、型安全性の問題、競合状態、システム境界での検証不足。
シンプルさ
不要な間接処理、未使用コード、意図が伝わりにくい命名、過剰に設計された抽象化、複雑さに見合う効果がないコード。実装には simplify スキルを参照してください。
セキュリティ
認証境界の不備、入力検証の抜け穴、シークレットの取り扱いに関する問題、変更したコードで確認された OWASP 上の懸念。
テストカバレッジ
セッション中に確認した未テストのコードパス、不足しているテストレイヤー(単体/統合/E2E)、フィクスチャの現実性の不足、意味のある動作を検証していないアサーション。
パフォーマンス
セッション中に確認したボトルネック(遅いクエリ、N+1 パターン、不要な再計算)。実際に確認されたものだけを指摘し、仮定に基づく指摘はしないでください。
開発者エクスペリエンス
API の使いやすさの問題、わかりにくい動作についてのドキュメント不足、CLI の使いにくさ、外部設定にすべき設定。
ワークフロー
-
コンテキストを収集する:このセッションで起きたこと(変更したファイル、実行したコマンド、発生したエラー、作成したテスト、確立したパターン)を確認します。
-
各項目を分析する:各項目について、セッション中の観察から具体的な指摘ができるか確認します。指摘がない項目は省略します。
-
各提案を構成する:
[IMP-N] effort/gate: summary
Observation: what was seen (file:line, error message, test gap, etc.)
Suggestion: concrete change
Grounded: yes/no
項目の説明:
effort:trivial(5 分未満)|small(30 分未満)|medium(数時間)gate:強化するデリバリーゲート:TDD|DEV|E2E|REVIEW|CI
-
影響の大きい順に並べる(項目別ではなく、影響度順)。
-
実行可能なリストとして提示する。ralph ループ内では、完了を宣言する前に、
trivial/smallの改善点をその場で対応します。mediumの改善点は、ユーザーが優先順位を決めるための判断事項として記録します。
Ralph ループとの連携
ralph ループ内(.rl/state.json が存在する場合)で実行するとき:
.rl/rl doneの前に改善点の洗い出しを行うtrivialの改善点はその場で修正する- 現在のマイルストーンの範囲内であれば、
smallの改善点にも対応する mediumの改善点は.rl/rl log decision "IMP-N deferred: [reason]"に記録するmediumの改善点については、タスクのマイルストーンを超えて範囲を拡大しない
引き継ぎとの連携
引き継ぎを作成するときは、未対応の改善点を <next_steps> セクションに含めます。受け取るエージェントが参照できるよう、同じ [IMP-N] 形式を使用してください。
出力形式
## Improvements
N suggestions (X grounded, Y speculative)
[IMP-1] trivial/DEV: Extract magic number to config constant
Observation: `src/server.ts:42` uses hardcoded port 3000, but other services read from env
Suggestion: Read from `PORT` env var with 3000 as default
Grounded: yes
[IMP-2] small/TDD: Add boundary test for empty input
Observation: `processItems([])` path untested — saw it handle non-empty arrays only in test suite
Suggestion: Add test case for empty array input in `process-items.test.ts`
Grounded: yes
[IMP-3] medium/E2E: Add timeout handling for external API calls
Observation: Catalog search took 1.2s avg in profiling — no timeout configured
Suggestion: Add configurable timeout with bounded retry
Grounded: yes
注意すべき点
- 観察に基づかない提案 — 具体的な箇所を示せない場合は、提案しないでください
- 提案が10件を超えること — 影響の大きい上位5〜7件に絞ってください
- 変更箇所を超えて範囲を広げる提案 — 今回の作業の影響範囲内にとどめてください
- 未テストのパスを特定しない、一般的な「テストを増やす」という提案