Claude CodeでTDD実装 ― tsumikiのdev-implスキル
cccskills 編集部読了 約 10 分
この記事の結論
- こんな人に
- AIに実装を任せたいが、テストで動作を確かめずに進むのが不安な開発者
- 入れると
- タスクを指定するだけで、テスト作成から失敗確認、実装、成功確認まで順に進む
- 実装後に行数・セキュリティ・性能・カバレッジの点検とレポートが毎回付く
- 小さな修正は計画なしのクイックモードで、テスト付きのまま素早く済ませられる
- 向かない人
- テストを書く習慣がないプロジェクトや、テストを実行できない環境で使う人
tsumikiのdev-implを入れると、Claude Codeなどのエージェントは先にテストを書き、失敗することを確かめます。そのあとで、テストが通るように実装を進める流れです。この記事では、計画に沿って進める通常モードと、直接指示するクイックモードの違いを説明します。インストール方法と依頼文の例、使う前に知っておきたい前提もあわせてまとめました。
目次
使うとこうなる
計画済みのタスクを指定すると、dev-implはテストを書いて失敗を確かめてから実装に入ります。依頼文はたとえば次のとおりです。
/dev-impl auth 001
エージェントはまずdocs/dev/context.mdとタスクファイルを読みます。次に、タスクに書かれたテスト方針からテストコードを作り、実行して失敗(Red)を確認します。そのうえでテストを通す最小限の実装を書き、成功(Green)を確かめる流れです。
テストが通ったあとは、ファイルの行数やセキュリティ、パフォーマンス、カバレッジを点検します。最後に返ってくるのが「確信度レポート」です。
レポートには、パッケージごとのカバレッジと閾値、実装したファイルごとの確認の必要度が並びます。あわせて、タスクファイルの状態がdoneに更新されます。
dev-implでできること
dev-implは、classmethodが公開するtsumikiに含まれる実装用のスキルです。TDD(テストを先に書いてから実装する開発手法)をガードレールにしています。テストが通る前に次のステップへ進まないことが、このスキルの基本ルールです。
通常モードとクイックモード
モードは2つあり、渡す引数の形で切り替わります。
| モード | 呼び出し方 | 向いている作業 |
|---|---|---|
| 通常モード | /dev-impl < plan-name> <task-id> | 計画(Plan)にあるタスクを1つ実装する |
| クイックモード | /dev-impl "修正指示" | 小さなバグ修正、既存テストへのケース追加、軽いリファクタリング |
通常モードは、tsumikiの開発の流れで計画の次に来る工程です。dev-contextでプロジェクトを分析し、dev-planでタスクに分けたあと、dev-implで1タスクずつ実装します。検証はdev-verify、失敗時の調査はdev-debugの担当です。
クイックモードはPlanを必要としません。関連ファイルをサブエージェントで探し、テストと実装を直したら、テストを実行して確かめます。500行ルールの確認と簡潔なレポートも付きます。
実装後の点検が手順に入っている
テストがGreenになったあとに行う点検は、毎回同じ項目です。判断の優先順位は「品質 > 速度 > トークン消費」と決められています。
- 行数: 関連ファイルが500行を超えたら責務の境界で分割し、テストも分けて再実行する
- セキュリティ: インジェクション、認証・認可の漏れ、機密情報の露出、入力検証の不足を確かめる
- パフォーマンス: ループ内のクエリ(N+1問題)、メモリリーク、非効率なアルゴリズムを探す
- カバレッジ: context.mdの閾値に届くまでテストを足す(最大3回。届かなくても止めずに報告する)
設計判断の根拠をコメントで残す
生成したpublic関数とメソッドには、すべて「Intentコメント」が付きます。このコメントは、設計判断の根拠がどこにあるかを信号機のような3段階で示すものです。
| 信号 | 意味 | レビューでの扱い |
|---|---|---|
| 青 | タスクファイルやcontext.mdで明示された判断 | 優先度は低い |
| 黄 | 指示から推論した妥当な判断 | 要確認 |
| 赤 | 前工程に根拠がなく、AIが補った判断 | 人間の確認が必須 |
セキュリティとパフォーマンスで赤が付いた問題は、修正してから完了します。確信度レポートでも、ファイルが同じ3段階に分けて示されます。
タスクの複雑度で進め方を変える
テストと実装の進め方は、タスクファイルに書かれた複雑度で変わる仕組みです。
| 複雑度 | 進め方 |
|---|---|
| low | テストと実装を一括で作り、テスト実行で検証する |
| medium | テスト、Red確認、実装、Green確認の順に回す |
| high | テストを1つずつ足し、1つずつGreenにする |
インストール方法
コマンド1行で入れられます。実行時には、Claude CodeやCodexなど入れる先のエージェントを選べます。
npx skills add https://github.com/classmethod/tsumiki --skill dev-impl
エージェントに入れてもらう場合は、次の文面をそのまま送ってください。
次の Agent Skill をインストールしてください。
https://github.com/classmethod/tsumiki/tree/main/skills/dev-impl
まず SKILL.md と付属ファイルの中身を確認し、不審な処理(外部への送信、認証情報の読み取りなど)がないことを確かめてから、Claude Code なら ~/.claude/skills/dev-impl/、Codex なら ~/.agents/skills/dev-impl/ に配置してください。
置き場所は、すべてのプロジェクトで使うか、特定のプロジェクトだけで使うかで選びます。
| エージェント | すべてのプロジェクトで使う | 特定のプロジェクトだけで使う |
|---|---|---|
| Claude Code | ~/.claude/skills/dev-impl/ | プロジェクトの.claude/skills/dev-impl/ |
| Codex | ~/.agents/skills/dev-impl/ | プロジェクトの.agents/skills/dev-impl/ |
リポジトリ全体はclassmethod/tsumikiで確認できます。
使い方の例
呼び出しに使える言葉は、「タスクを実装」「テストファースト実装」「実装を開始」「クイック修正」「quick fix」などです。
dev-impl auth 001 で、認証プランのタスク001をテストファーストで実装してください。
この依頼なら通常モードです。最初に、依存するタスクがすべてdoneかを確かめます。そこからテスト作成、Red確認、実装、Green確認、点検の順に進みます。最後に確信度レポートが返り、タスクの状態がdoneになります。
quick fix: ログインフォームで、メールアドレスの前後の空白を取り除いてから検証するように直してください。
こちらはクイックモードです。関連ファイルを探してテストと実装を修正し、テストを実行して結果を確かめます。返ってくるのは簡潔なレポートです。
クイック修正で、既存のテストにページ番号が0のときのケースを追加してください。
これもクイックモードの依頼です。既存テストへのケース追加は、このモードの用途に含まれます。追加したテストが通るように実装も調整し、実行結果を報告します。
注意点
dev-implは単独では完結せず、tsumikiの他のスキルが作るファイルを前提にしています。入れる前に次の点を確かめてください。
docs/dev/context.mdが無い場合は、先にdev-contextの実行を案内されます。テスト実行コマンドもこのファイルから取得します。- 通常モードでタスクファイルが無い場合は、
dev-planを案内されます。Planやタスクファイルの作り方は、この記事では扱いません。 - プロジェクトのルートに
docker-compose.ymlまたはdocker-compose.yamlがあると、最後にdocker compose downが実行されます。開発用のコンテナが止まるので、他の作業中なら注意が必要です。 - 行数の確認ではgitコマンドでプロジェクトのルートを取得します。gitで管理しているプロジェクトでの利用が前提です。
- 手順にはTodoWriteやサブエージェントのモデル指定(haiku、sonnet、opus)など、Claude Code向けの機能名が含まれています。
ライセンスはMITです。付属ファイルはSKILL.mdとreferences/impl-strategies.mdの2つだけなので、入れる前に中身を読んでおくと安心でしょう。
関連スキル
dev-implの前後で使うスキルは、同じtsumikiリポジトリにそろっています。
dev-contextは、技術スタックやテストフレームワーク、コーディング規約を分析して、プロジェクトのコンテキストを作ります。dev-implが読むcontext.mdを用意する工程です。
dev-planは、要件から実装計画を作ってタスクに分けます。通常モードで指定するPlanとタスクは、ここで作るものです。
dev-debugは、テスト失敗やビルドエラーを扱うスキルです。dev-implで3回直してもテストが通らないときに案内されます。
まとめ
dev-implは、テストを先に書く習慣をAIとの開発に持ち込むスキルです。計画済みのタスクは通常モードで、小さな修正はクイックモードで進めます。
どちらのモードも、テストの実行結果を確かめてから完了します。最後に返ってくるのは、根拠の強さを3段階で示したレポートです。詳しい情報はcccskillsのページで確認できます。
よくある質問
- Planを作らずに使えますか
- クイックモードならPlanもタスクファイルも要りません。/dev-impl "修正指示" の形で直接頼めます。ただしcontext.mdが無いとdev-contextを案内されるので、先に作っておくと進みが速くなります。
- テストがなかなか通らないときはどうなりますか
- エラーを分析して修正するサイクルは、最大3回までです。それでも解決しなければ、dev-debugを使うよう案内されます。
- Codexでも使えますか
- インストールコマンドでは、入れる先にCodexを選べます。ただし手順には、TodoWriteやサブエージェントのモデル指定など、Claude Code向けの機能名が含まれています。
- ファイルが長くなりすぎたらどうなりますか
- 関連ファイルが500行を超えたら、責務の境界で分割する決まりです。テストファイルも合わせて分け、分割後にテストを再実行して成功を確かめます。
このスキルを試す
dev-impl の入れ方とインストールコマンドは、cccskills のスキルページにまとめてあります。
この記事は、公開されている SKILL.md と cccskills の紹介文をもとに AI(Claude)が下書きし、cccskills 編集部の方針に沿って推敲・公開しています。正確な仕様はスキルのページで原文を確認してください。
他の記事
prompt-reviewでAIとの対話履歴からプロンプトの癖を診断する
Claude CodeやCursorなどの対話履歴を読み、技術理解度・プロンプトの傾向・AI依存度を推定して日本語レポートにするスキルprompt-reviewの入れ方、呼び出し方、期間の絞り込み、注意点を解説します。
prompt-reviewtokoroten
TypeScriptの循環依存を防ぐ setup-ts-deep-modules
TypeScriptのパッケージ内部への直接参照と循環依存を、dependency-cruiserで検出するsetup-ts-deep-modulesの使い方を解説。型チェックと同じコマンドで境界を確かめ、雛形と規約文書まで整えます。
setup-ts-deep-modulesmattpocock
Claude Codeの実装計画をサブエージェントに分担してレビューする
subagent-driven-developmentの使い方を解説します。実装計画をタスクごとに別のエージェントへ任せ、仕様と品質の確認、進捗記録からの再開、ブランチ全体のレビューまでを一続きで進める手順が分かります。
subagent-driven-developmentobra