タスク検証 Skill
概要
このSkillは、生成されたタスク一覧のフォーマットを検証し、違反があればエラーレポートを生成します。
責務
- •生成されたタスクのフォーマット検証
- •違反検出時にエラーレポート(Markdown形式)を生成
- •差し戻し判定(SUCCESS / FAILURE + エラー詳細)
使用タイミング
- •spec-tasks-validator サブエージェントから呼び出される
- •spec-create コマンドのタスク検証フェーズで使用
- •タスク生成直後に自動実行
入力
- •
tasks_markdown: 検証対象のタスク一覧(Markdown形式) - •
retry_count: 現在のリトライ回数(0から開始) - •
max_retries: 最大リトライ回数(デフォルト: 3)
出力
成功時
markdown
## バリデーション結果: SUCCESS タスク一覧のフォーマットは正しいです。 次のフェーズに進んでください。
失敗時
markdown
## バリデーション結果: FAILURE ### エラー一覧 1. **タスク X.Y.Z** - [エラー種別] - 問題: [問題の説明] - 修正案: [具体的な修正方法] 2. **行 NN** - [エラー種別] - 問題: [問題の説明] - 修正案: [具体的な修正方法] ### リトライ情報 - 現在の試行回数: N - 最大試行回数: 3 - 残り試行回数: M
検証項目
1. 構造検証
- • Phase番号が1から連番になっているか
- • タスクグループIDが
X.Y形式か - • タスクIDが
X.Y.Z形式か
2. インデント検証
- • タスクが2スペースインデントか
- • サブタスク/メタデータが4スペースインデントか
3. メタデータ検証(タスク単位で必須)
- • 要件: Story X
- • 依存関係: なし / X.Y / Phase X完了
- • 完了条件: [条件](ACX.Xを満たす)
- • 対応設計: design.md「セクション名」
- • シナリオテスト: なし(理由) / シナリオX
4. 依存関係検証
- • 参照先のタスクグループが存在するか
- • 循環依存がないか
- • 依存関係の書式が正しいか(
X.Y完了は不可)
5. ATDDチェック
- • Phase数が2-3個以内か
- • タスクグループが縦切り(フルスタック)になっているか
6. 横切り検出(最重要)
タスクグループ名に以下の禁止ワードが含まれていないか確認:
| 禁止ワード | 理由 |
|---|---|
Domain | レイヤーごとの分割 |
Infra / Infrastructure | レイヤーごとの分割 |
UseCase / Application | レイヤーごとの分割 |
API / Presentation | レイヤーごとの分割 |
UI / 画面 / フロントエンド | レイヤー/画面ごとの分割 |
層 | レイヤーごとの分割 |
Repository | クラスごとの分割 |
Validator | クラスごとの分割 |
Entity | クラスごとの分割 |
Mapper | クラスごとの分割 |
一覧 / 詳細 / 編集 / 削除 (単体) | 画面ごとの分割 |
例外:
- •「ユーザー作成・編集・削除機能」のように複数をまとめた場合はOK
- •「Domain〜UIまでフルスタック」のようにサブタスク説明に含まれる場合はOK
- •タスク名(X.Y.Z)に含まれる場合はOK(タスクグループ名のみチェック)
検出ロジック:
code
タスクグループ名(X.Y 名前)の「名前」部分に禁止ワードが含まれていたらエラー
エラー種別
| 種別 | 説明 |
|---|---|
missing_metadata | 必須メタデータが欠落 |
invalid_indent | インデントが不正 |
invalid_id_format | ID形式が不正 |
invalid_dependency | 依存関係の書式が不正 |
missing_dependency_target | 依存先が存在しない |
too_many_phases | Phase数が多すぎる |
horizontal_split | 横切り分割(アンチパターン) |
horizontal_split_keyword | タスクグループ名に禁止ワードが含まれる |
関連ドキュメント
- •タスク管理ガイドライン - フォーマット定義(Single Source of Truth)
- •spec-tasks-validator サブエージェント - 呼び出し元