doc-ears-autopilot について
doc-ears-autopilotは、PRD、プロンプト、実装計画からEARS要件文書を生成・レビューするスキルです。作成、監査、修正、インデックス更新を連携し、単体とバッチの両方に対応します。
主な機能
- 01PRD・プロンプト・計画からEARSを生成
- 02生成とレビューを自動判定
- 03基準到達まで監査と修正を反復
- 04複数のEARSをバッチ処理
- 05合格後にEARSインデックスを更新
活用シーン
- 01上流PRDからEARS要件を作成
- 02既存EARS文書をレビューして修正
- 03複数の要件文書をまとめて処理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vladm3105/ aidoc-flow-framework --skill doc-ears-autopilotインストール後、Claude Code で/doc-ears-autopilotを入力して読み込まれたか確認します。
詳細
doc-ears-autopilot
目的
自動化された EARS 生成パイプラインです。上流の PRD、ユーザープロンプト、または実装計画(IPLAN-*)を基に、ソースを分析して上流の準備状況を確認し、アトミックな WHEN-THE-SHALL-WITHIN 文で構成される完全な EARS ドキュメントを生成します。準備状況を検証し、EARS-00_index.md を保守して、監査↔修正サイクルを合格スコアに達するまで実行します。EARS は単体でも一括でも処理できます。
レイヤー:3。上流:PRD(およびその BRD)、プロンプト、または IPLAN。 下流:検証済みの EARS +インデックスエントリー。
スキルの依存関係
| スキル | 役割 |
|---|---|
../doc-ears/SKILL.md | EARS の構造、4 つのパターン、構文規則 |
../doc-ears-audit/SKILL.md | 品質ゲート(スコアリング+指摘事項) |
../doc-ears-fixer/SKILL.md | 監査レポートに基づく修正の適用 |
../doc-naming/SKILL.md | 要素 ID の規則と @threshold: タグ |
入力仕様
EARS の対象 ID/パス、上流 PRD の ID/パス、自由形式のテキストプロンプト、または IPLAN のパスを受け付けます。オプション:スコアのしきい値(デフォルトは 90)、修正の最大反復回数(デフォルトは 3)、一括処理リスト。明示的な入力がない場合は、リクエストをプロンプトとして扱います。
ドキュメントのスマート検出
各対象について、EARS がすでに存在するか確認します(ネストされたフォルダー docs/03_EARS/EARS-NN_{slug}/)。
- 存在しない → 生成モード(上流 PRD/プロンプト/IPLAN から生成)。
- 存在する → レビューと修正モード(監査し、しきい値を下回る場合は修正)。
ソースの内容から deliverable_type(code/document/ux/risk/process。上流 PRD から継承)を判定します。
モデルの事前チェック
参考情報として最善を尽くして提示します。このレイヤーに推奨するモデルを表示しますが、セッションのモデルは切り替えられません。ドライバーを呼び出す前に、次の手順を実行します。
.claude/aidoc-flow.config.yamlが存在しない場合、またはmodel.*キーがない場合は、このセクション全体をスキップします(出力なし)。- 推奨モデルを解決します。
model.per_layer.EARSが設定されていればそれを使用し、そうでなければmodel.defaultを使用します。 model.precheck(warn|silent|block)に応じて動作します。warn(デフォルト)— 1 行表示してからドライバーに進みます。ℹ EARS recommends model '<rec>'. If you're not on it, run /model <rec> (or set model.precheck: silent to hide this).silent— 何も表示せずに続行します。block— 上記の行に加えてprecheck=block: confirm you want to draft on the current model, or run /model <rec> first.を表示し、続行する前にユーザーの確認を待ちます。
ワークフロー
Saga 駆動の生成ループ(review_mode: team)
ステップ 1 — ドライバーを呼び出します。それだけです。 ハーネスは、この SKILL を呼び出す前に PREV_OUTPUT、
ARTIFACT_ID、ARTIFACT_PATH の環境変数を設定します。
最初のオーケストレーションアクションでは、必ず Bash ツールを使用し(上記の Model precheck が先に実行されます)、次のコマンドを正確に実行してください。
python3 "${CLAUDE_PLUGIN_ROOT}/tools/saga_driver.py" \
--layer 03_EARS \
--allow-skip-permissions
--allow-skip-permissions を指定すると、ドライバーがディスパッチするフェーズで、許可を求めるプロンプトなしにファイルを書き込めます。無人の自動実行にはこの指定が必要です。
このフラグを外すと、Claude Code の通常のプロンプトを使って同じループを実行できます。
十分に長いタイムアウト(≥1800s)を設定してください。入力を事前に分析しないでください。上流の成果物を読まないでください。種類やスコープを分類しないでください。ドライバーと、ドライバーがディスパッチするサブプロセス(ドラフト作成には /aidoc-flow:doc-ears、レビューには /aidoc-flow:doc-ears-audit、修正には /aidoc-flow:doc-ears-fixer)がすべて処理します。ドライバーは
${CLAUDE_PLUGIN_ROOT}/framework/governance/REVIEW_SAGA.md に従ってステートマシンを先回りして適用します。この
SKILL の役割は、ドライバーを呼び出して結果を報告することです。
ステップ 2 — ドライバーの戻り後に報告します。 .aidoc/review/03_EARS/${ARTIFACT_ID}/saga.json を読み取ります。最終ステータスは、CLOSED(PASS)、ESCALATED(終端 FAIL)、PARTIAL_TIMEOUT(ソフトデッドライン。再開可能)のいずれかでなければなりません。ステータス、verdict.json が存在する場合は最終スコア、および 1 行の要約を出力してください。
ステップ 3 — インデックスを更新します(CLOSED の場合のみ)。 新しい EARS を参照する行を
docs/03_EARS/EARS-00_index.md に追加し、上流成果物の下流エントリを更新します。
team モードでのワークフローは以上です。ここで他のことをしていることに気づいた場合(文章のドラフト作成、Task サブエージェントのディスパッチ、別のスラッシュコマンドの呼び出しなど)は、ドライバーを迂回していると認識して中止し、代わりに上記の Bash コマンドを実行してください。
リニアパイプライン(review_mode: single_pass)
従来の動作を変更せずに使用します。プロファイルで指定されている場合、Task サブエージェントのディスパッチが利用できない場合、または作成時(on_author)にコストを最優先する場合に使用します。以下のセッション内 5 ステップのパターンでは saga.json なしで EARS を生成します。そのため、ハーネスの saga-journal チェックでレイヤーが失敗します。このモードは手動のドライランにのみ適しています。
- 入力分析 — 入力(PRD/プロンプト/IPLAN)を分類し、上流の PRD とその BRD を特定して、生成するかレビューして修正するかを決定します。
- 準備状況の確認 — 上流の PRD が存在し、EARS-Ready(スコア ≥ 閾値)であることを確認し、次の
EARS-NNを確保します。PRD の要件を 4 つの EARS パターン(Event、State、Unwanted、Ubiquitous)に分類します。 - 生成 —
../doc-ears/SKILL.mdに従って EARS を作成します。Document Control を最初に配置し、5 つのセクションをすべて含め、WHEN-THE-SHALL-WITHIN 形式の原子的なステートメント、表形式の Quality Attributes(パーセンタイルによる時間)、要素 IDEARS.NN.SS.xxxx、累積的な@brd/@prdタグ、@threshold:参照、および../charts-flow/SKILL.mdによる状態/シーケンス図タグを含めます。 - 検証 —
../doc-ears-audit/SKILL.mdを新規に実行します。 - 監査と修正のサイクル — スコアが閾値未満で、反復回数が上限未満の間は、
../doc-ears-fixer/SKILL.mdを実行してから再監査します。合格したらdocs/03_EARS/EARS-00_index.mdを更新します。反復回数が上限に達したら、手動レビュー対象として記録します。
実行モード
- Single — 1 つの EARS(生成、またはレビューと修正)。
- Batch — 複数の EARS。コンテキストを制限するため、3 件ずつ処理します。上流の PRD が準備済みであることを確認してから、各 EARS を生成します。
- Dry-run — ファイルを書き込まずに、予定しているアクション(パターン、セクション、ID)を報告します。
品質ゲート
- 監査に合格する(BDD-Ready ≥ 閾値、Tier-1 エラーが 0 件)か、反復回数の上限に達する(その場合は手動レビュー対象として記録する)まで、生成は完了しません。
- EARS インデックスを更新するのは、EARS が合格した後のみです。
- サイクルごとに新規監査を実行します。スコアをキャッシュしません。
エラー処理
| 状況 | アクション |
|---|---|
| 上流の PRD がない、または EARS-Ready のしきい値を下回っている | 停止し、不足している、または準備ができていない依存関係を報告します |
| しきい値を下回ったまま最大反復回数に達した | レポートを作成し、手動レビューの対象としてフラグを立て、バッチを続行します |
| ソース入力が曖昧である | プロンプトモードにフォールバックし、前提を EARS に記録します |
| 曖昧、または複合的なステートメントを自動的に解決できない | 手動レビューの対象としてフラグを立て、バッチを続行します |
| 書き込み/権限エラー | ログに記録し、その項目をスキップしてバッチを続行します |
適応
デフォルトを適用する前に、プロジェクトの適応プロファイル
(.aidoc/profile.yaml)を読み込み、生成フェーズと内部の
監査/修正フェーズの両方に適用します。section_toggles、active_layers、audit_threshold
(引き上げのみ — より厳格にする場合のみ)、および glossary を尊重します。不明なキーや
対象範囲外のキーは無視し、プロファイルがない場合はフレームワークのデフォルトを使用します。
権威ある参照先:${CLAUDE_PLUGIN_ROOT}/framework/governance/ADAPTATION.md。
関連リソース
- 作成:
../doc-ears/SKILL.md· 監査:../doc-ears-audit/SKILL.md· 修正:../doc-ears-fixer/SKILL.md - 権威ある参照先:
${CLAUDE_PLUGIN_ROOT}/framework/layers/03_EARS/EARS-TEMPLATE.yaml、${CLAUDE_PLUGIN_ROOT}/framework/layers/03_EARS/README.md、${CLAUDE_PLUGIN_ROOT}/framework/layers/03_EARS/EARS-00_index.TEMPLATE.md