validation-pipeline について
validation-pipelineは、文書の検証手順を順に実行し、ブロッキングエラーでゲートを設け、スコア付きレポートを作成します。要件文書、PRD、ユーザーストーリーの完全性、テスト可能性、追跡可能性の評価を対象とします。
主な機能
- 01検証手順の順次実行
- 02ブロッキングエラー時のゲート
- 03手順別スコアと加重集計
- 04要件品質の13項目チェック
- 05MarkdownまたはJSONレポート
活用シーン
- 01要件文書の完全性チェック
- 02受け入れ基準のテスト可能性評価
- 03要件とテストの追跡可能性確認
- 04品質ゲートでの要件評価
MCP 対応
検証パイプラインは `pipeline_validate` ツールから利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill validation-pipelineインストール後、Claude Code で/validation-pipelineを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/validation-pipeline.yamlschemas/output.jsonscripts/validate-config.json詳細
検証パイプライン
目的
ステップを順番に実行し、ブロッキングエラーが発生した場合はゲートを適用して、スコア付きレポートを生成する構造化検証パイプラインを実行します。13 個の要件検証ステップ(BMAD-003)を含む .claude/helpers/validation-pipeline.cjs を使用します。
有効化
- 要件ドキュメントを検証する場合
- 構造化された品質ゲートを実行する場合
- ドキュメントの完全性、テスト可能性、トレーサビリティを評価する場合
/validation-pipelineから呼び出す場合
クイックスタート
# Validate a requirements document (all 13 steps)
/validation-pipeline requirements docs/requirements.md
# Validate with specific steps only
/validation-pipeline requirements docs/requirements.md --steps format-check,completeness-check,invest-criteria
# Continue past blocking failures
/validation-pipeline requirements docs/requirements.md --continue-on-failure
# Output as JSON
/validation-pipeline requirements docs/requirements.md --json
ワークフロー
ステップ 1:対象ドキュメントを読む
ユーザーが指定したファイルを読みます。ファイルが指定されていない場合は、ファイルの指定を求めます。
Read the target document using the Read tool.
Store the content for pipeline execution.
ステップ 2:パイプラインを選択する
ユーザーのリクエストに基づいて、適切なパイプラインを選択します。
| パイプライン | ステップ数 | 用途 |
|---|---|---|
requirements | 13 | 要件ドキュメント、PRD、ユーザーストーリー |
.claude/helpers/validation-pipeline.cjs にパイプラインを追加できます。
ステップ 3:パイプラインを実行する
パイプラインヘルパー(.claude/helpers/validation-pipeline.cjs)が実行を処理します。
- 逐次実行 — ステップは順番に実行され、それぞれが前のステップの結果を受け取ります
- ゲートの適用 — ブロッキングステップが失敗するとパイプラインを停止します(
--continue-on-failureを指定した場合を除く) - ステップごとのスコアリング — 各ステップは、検出結果と根拠を含む 0~100 のスコアを生成します
- 重み付き集計 — 全体スコアにはカテゴリの重みを使用します(format=10%、content=30%、quality=25%、traceability=20%、compliance=15%)
要件パイプラインのステップ(全 13 ステップ)
| # | ステップ ID | カテゴリ | 重大度 | 検証内容 |
|---|---|---|---|---|
| 1 | format-check | format | blocking | 見出し、必須セクション、ドキュメントの長さ |
| 2 | completeness-check | content | blocking | 必須フィールドが入力されているか、受け入れ基準が記載されているか |
| 3 | invest-criteria | quality | warning | 独立性、交渉可能性、価値、見積もり可能性、小ささ、テスト可能性 |
| 4 | smart-acceptance | quality | warning | 具体性、測定可能性、達成可能性、関連性、期限の明確さ |
| 5 | testability-score | quality | warning | 各要件をテストできるか |
| 6 | vague-term-detection | content | info | 「should」「might」「various」「etc.」を検出 |
| 7 | information-density | content | info | すべての文に意味があり、冗長な記述がないか |
| 8 | traceability-check | traceability | warning | 要件とテストのマッピングが存在するか |
| 9 | implementation-leakage | quality | warning | 要件が実装方法を規定していないか |
| 10 | domain-compliance | compliance | info | ドメインモデルとの整合性 |
| 11 | dependency-analysis | traceability | info | 要件間の依存関係が特定されているか |
| 12 | bdd-scenario-generation | quality | warning | 各要件について Given/When/Then を生成できるか |
| 13 | holistic-quality | compliance | blocking | 全体的な整合性、矛盾の有無 |
ステップ 4:結果を報告する
パイプラインの結果を構造化レポートとして整形します。
# Validation Report: Requirements Pipeline
**Overall**: PASS/FAIL/WARN | **Score**: 85/100 | **Duration**: 42ms
## Step Results
| # | Step | Status | Score | Findings | Duration |
|---|------|--------|-------|----------|----------|
| 1 | Format Check | PASS | 100 | 0 | 2ms |
| 2 | Completeness | WARN | 60 | 2 | 5ms |
...
## Blockers
- (blocking findings listed here)
## All Findings
- [HIGH] Missing acceptance criteria: Requirement US-104 has no AC
- [MEDIUM] Vague term: "should" used 5 times without specifics
...
ステップ 5:学びを記録する
パイプラインの実行後、学習のために結果を記録します。
// Store validation pattern
memory store --namespace validation-pipeline --key "req-validation-{timestamp}" --value "{score, findings_count, halted}"
パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
pipeline | string | requirements | 実行するパイプラインの種類 |
file | string | required | 検証するドキュメントのパス |
--steps | string | all | 実行するステップ ID をカンマ区切りで指定します(例:format-check,completeness-check) |
--continue-on-failure | boolean | false | ブロッキングゲートをスキップします |
--json | boolean | false | Markdown ではなく JSON で出力します |
--metadata | object | {} | ステップに渡す追加コンテキスト |
統合ポイント
- qe-requirements-validator エージェント — 構造化検証をこのパイプラインに委譲します
- qe-quality-gate エージェント — ゲート評価にパイプラインを使用します
- YAML パイプライン — 検証ステップをワークフローアクションとして呼び出せます
- MCP —
pipeline_validateツールから利用できます
出力スキーマ
パイプラインは PipelineResult オブジェクトを生成します(schemas/output.json を参照)。
{
pipelineId: string;
pipelineName: string;
overall: 'pass' | 'fail' | 'warn';
score: number; // 0-100 weighted average
steps: StepResult[]; // per-step details
blockers: Finding[]; // blocking findings
halted: boolean;
haltedAt?: string; // step ID where halted
totalDuration: number;
timestamp: string;
}
エラー処理
- ステップで例外が発生した場合 — 重大な指摘を伴う失敗として記録され、重大度に応じてパイプラインが続行または停止します
- ファイルが見つからない場合 — エラーを報告し、パイプラインを実行しません
- ドキュメントが空の場合 — フォーマットチェックのステップでブロッキングエラーとして検出されます
コメント
Markdown 対応