skills/dev-run/SKILL.md
This skill should be used when the user asks to "dev-run", "自動実装", "タスクを一括実装", "auto implement", "run all tasks", "タスクを自動実行", "バッチ実装", "dev-run auth 001 005". Plan内の指定範囲のタスクをdev-impl/dev-verify/dev-debugのワークフローで自動実行するオーケストレーションスキル。
npx skillsauth add classmethod/tsumiki dev-runInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Plan 内の指定範囲タスクに対し、impl → verify → debug のループを自動実行するオーケストレーションスキル。各タスクを Task サブエージェントに委託し、TaskCreate/TaskUpdate で依存関係付きの進捗管理を行う。
dev-context → dev-plan → [dev-run] → (完了)
├─ impl サブエージェント (×タスク数)
├─ debug サブエージェント (エラー時)
└─ verify サブエージェント (全タスク完了後)
/dev-run <plan-name> <from-task-id> <to-task-id>
plan-name: 既存の Plan 名(docs/dev/plans/<plan-name>/ が存在すること)from-task-id: 開始タスク ID(例: "001")to-task-id: 終了タスク ID(例: "005")サブエージェントは Task ツールを使用できない(ネスト不可のアーキテクチャ制約)。そのため:
docs/dev/context.md の存在を確認する。存在しない場合は /dev-context の実行を案内して終了するdocs/dev/plans/<plan-name>/ の存在を確認する。存在しない場合は /dev-plan の実行を案内して終了するdocs/dev/context.md を Read で読み込み、以下を抽出する:
docs/dev/plans/<plan-name>/plan.md を Read で読み込むstatus, dependencies, estimated_complexity を確認するタスクファイルの dependencies に、指定範囲外のタスク ID が含まれる場合:
status を確認するstatus: done → 問題なし指定範囲内で status が done でないタスクごとに TaskCreate を実行する:
TaskCreate:
subject: "impl-NNN: <タスクタイトル>"
description: "Plan <plan-name> のタスク NNN を TDD 実装する"
activeForm: "Implementing task NNN: <タスクタイトル>"
タスクファイルの dependencies を TaskUpdate の addBlockedBy にマッピングする。
ID マッピングテーブルを構築: {"001": "<TaskCreate_ID>", "002": "<TaskCreate_ID>", ...}
status: done のタスク: TaskCreate しない、依存元からも除外TaskCreate:
subject: "verify: <plan-name>"
description: "Plan <plan-name> の全体検証を実行する"
activeForm: "Verifying plan <plan-name>"
addBlockedBy: [全 impl タスクの ID]
TaskList で status: pending かつ blockedBy が空のタスクを取得し、順に実行する。
in_progress にするreferences/impl-prompt-template.md を Read で読み込む{{CONTEXT_MD_CONTENT}} ← context.md の全文{{TASK_FILE_CONTENT}} ← タスクファイルの全文{{PLAN_MD_EXCERPT}} ← plan.md の設計概要{{TEST_COMMAND}} ← テスト実行コマンド{{TASK_FILE_PATH}} ← タスクファイルのパス{{ESTIMATED_COMPLEXITY}} ← タスクの複雑度{{COVERAGE_THRESHOLD}} ← カバレッジ閾値IMPL_SUCCESS を含む → 成功処理(3c へ)IMPL_FAILED を含む → debug 処理(3b へ)references/debug-prompt-template.md を Read で読み込む{{CONTEXT_MD_CONTENT}} ← context.md の全文{{ERROR_DETAILS}} ← エラー情報(impl の出力から抽出){{TASK_FILE_CONTENT}} ← タスクファイルの全文{{TEST_COMMAND}} ← テスト実行コマンドDEBUG_SUCCESS → 成功処理(3c へ)DEBUG_FAILED → エスカレーション:
AskUserQuestion で以下を提示:
status を done に更新する(Edit ツール使用)
completed にする全 impl タスクが completed になると verify タスクのブロックが解除される。
in_progress にするreferences/verify-prompt-template.md を Read で読み込む{{CONTEXT_MD_CONTENT}} ← context.md の全文{{PLAN_NAME}} ← Plan 名{{TEST_COMMAND}}, {{BUILD_COMMAND}}, {{LINT_COMMAND}}{{COVERAGE_THRESHOLD}} ← カバレッジ閾値{{TODAY_DATE}} ← 実行日(YYYY-MM-DD)docs/dev/plans/<plan-name>/reports/verify-<日付>.md に出力するverify サブエージェント完了後:
VERIFY_ALL_PASSED → 全パス、Step 6 へVERIFY_ISSUES_FOUND → 修正ループへサイクルごとに:
subject: "fix-NNN: <問題概要>"
activeForm: "Fixing: <問題概要>"
addBlockedBy: [verify タスクの ID]
subject: "re-verify-N: <plan-name>"
activeForm: "Re-verifying plan <plan-name>"
addBlockedBy: [全 fix タスクの ID]
ユーザーに以下を出力する:
## dev-run 完了レポート
### 実行概要
- Plan: <plan-name>
- 範囲: <from-task-id> 〜 <to-task-id>
- 実行タスク数: X / スキップ: Y (done 済み)
### 結果サマリー
| タスク | 結果 | 信号機 |
|-------|------|--------|
| NNN | 成功 / debug後成功 / スキップ | 🔵/🟡/🔴 |
### 検証結果
- テスト: X passed, Y failed
- カバレッジ: X/Y packages above threshold
- ビルド: OK / NG / N/A
- Lint: OK / NG / N/A
- 500行ルール: OK / X files over
### verify → fix サイクル
- サイクル N: [修正内容の概要]
### 残存問題(ある場合)
- [問題の詳細と推奨アクション]
### 🟡 要確認ファイル
- [ファイル一覧と確認ポイント]
### 🔴 要判断ファイル
- [ファイル一覧と判断が必要な理由]
プロジェクトルートに docker-compose.yml または docker-compose.yaml が存在するか確認する。存在する場合:
docker compose down を実行してコンテナを停止する以下の場合は自動実行を停止し、AskUserQuestion でユーザーに確認する:
| マーカー | 意味 |
|---------|------|
| IMPL_SUCCESS | 実装成功(テスト全通過) |
| IMPL_FAILED | 実装失敗(3サイクル超え) |
| DEBUG_SUCCESS | デバッグ成功(エラー解消) |
| DEBUG_FAILED | デバッグ失敗(3サイクル超え) |
| VERIFY_ALL_PASSED | 検証全項目 OK |
| VERIFY_ISSUES_FOUND | 検証で問題あり |
/dev-context を案内して終了する/dev-plan を案内して終了するstatus: done のタスクはスキップする(再開対応)$(git rev-parse --show-toplevel) でルートを取得)references/impl-prompt-template.md — impl サブエージェントに渡すプロンプトテンプレートreferences/debug-prompt-template.md — debug サブエージェントに渡すプロンプトテンプレートreferences/verify-prompt-template.md — verify サブエージェントに渡すプロンプトテンプレートdevelopment
ipa-security-check をはじめとするセキュリティ診断ツールが出力したレポートを読み込み、各検出項目を優先順位付きの dev-debug 依頼リストに変換する。対象プロジェクトの言語・FWを問わず汎用的に使える。コードベースを直接読んでアーキテクチャ判断を行う。
testing
IPA「安全なウェブサイトの作り方 改訂第7版」「安全なSQLの呼び出し方」「ウェブ健康診断仕様」「セキュリティ実装チェックリスト」「安全なウェブサイトの運用管理に向けての20ヶ条」に基づき、ソースコードを静的に検査して脆弱性候補を検出する。発見した問題には IPA 原典の出典 (文書名・章・ページ・URL) を必ず付与する。
data-ai
分割されたタスクを順番に、またはユーザが指定したタスクを実装します。既存のTDDコマンドを活用して品質の高い実装を行います。
tools
This skill should be used when the user asks to "dev-webtest", "Webテスト", "画面の動作確認", "E2Eテスト", "web test", "visual check", "モンキーテスト", "アクセシビリティチェック", "レスポンシブテスト", "フォームテスト". Playwright CLIを使ってWebアプリの動作確認・視覚テスト・アクセシビリティ・レスポンシブ・フォームバリデーションを実行し、問題を検出・記録する。