AgentSkillsCN

Einja Task Spec Validator

Einja 任务规格校验器

SKILL.md

タスク検証 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_formatID形式が不正
invalid_dependency依存関係の書式が不正
missing_dependency_target依存先が存在しない
too_many_phasesPhase数が多すぎる
horizontal_split横切り分割(アンチパターン)
horizontal_split_keywordタスクグループ名に禁止ワードが含まれる

関連ドキュメント