---
name: po-verify-acceptance
description: |
  SMの検証結果と仕様（README.md）に基づき、実装結果を検証・判断する。
  SMが計画と仕様に基づき成果物を検証した後、POがその報告を受けて最終判断を行う。
  Use when: 「受入確認」「検証」「acceptance」「完了確認」「受入テスト」と言われた時。
  フェーズ6（検証・受入フェーズ）で使用する。
metadata:
  author: IXV-Agents
  version: 2.0.0
  phase: "6"
---

# PO Verify Acceptance

SMの検証結果報告と仕様（README.md）に基づき、実装結果を検証・判断する。

## When to Use

- SMから検証結果の報告を受けた時
- 「受入確認」「検証」「acceptance」と言われた時
- ワークフロー フェーズ6（検証・受入フェーズ）時

## 前提

このスキルを実行する前に、以下が完了していること：

1. `po-request-yaml` で `task_type: verify` を発行済み
2. SMが計画（docs/）と仕様（README.md）に基づき成果物を検証済み
3. SMからPOに検証結果が報告済み

## Instructions

### Step 1: SMの検証結果を確認

SMから報告された検証結果を確認する。

確認項目：
- SMが検証した計画書（docs/）の内容
- SMが検証した仕様（README.md）との整合性
- 各受入基準に対する検証結果（OK/NG）
- 問題点・懸念事項

### Step 2: 受入基準の取得

`README.md` から対象リクエストに関連する受入基準を取得：

1. **Acceptance Criteria** セクションを確認
2. 対象リクエストに関連する項目を抽出

### Step 3: 仕様に基づく検証・判断

SMの報告内容を仕様（README.md）と照合し、POとして判断する：

| 受入基準 | SM検証結果 | PO判断 |
|---------|-----------|--------|
| 基準A | OK | OK |
| 基準B | NG（理由） | NG |
| 基準C | OK（懸念あり） | 要確認 |

### Step 4: 結果に基づくアクション

**問題なし（全基準達成）の場合**:
```
検証完了: 全ての受入基準を満たしています。

リクエストID: {request_id}
検証結果: OK (N/N 基準達成)

SM検証結果:
{SMの検証結果サマリ}

PO判断:
| 受入基準 | SM検証 | PO判断 | 備考 |
|---------|--------|--------|------|
| 基準A | OK | OK | {evidence} |
| 基準B | OK | OK | {evidence} |

→ 次のステップ:
  1. Human に受入の承認を依頼してください
  2. 承認後、po-request-yaml（task_type: backlog_update）でBacklog更新を指示
```

**問題あり（基準未達成）の場合**:
```
検証完了: 一部の受入基準を満たしていません。

リクエストID: {request_id}
検証結果: NG (M/N 基準達成)

SM検証結果:
{SMの検証結果サマリ}

PO判断:
| 受入基準 | SM検証 | PO判断 | 備考 |
|---------|--------|--------|------|
| 基準A | OK | OK | {evidence} |
| 基準B | NG | NG | {reason} |

→ 次のステップ:
  1. Human に問題を報告してください
  2. 5.3 設計計画フェーズへ差し戻し
```

**SMの検証報告がない場合**:
```
検証不可: SMからの検証結果報告がありません。

リクエストID: {request_id}

→ 次のステップ:
  1. po-request-yaml（task_type: verify）で検証開始をSMに依頼してください
```

## Examples

### Example 1: 問題なし

**SMの検証結果報告**:
- 計画（docs/auth-plan.md）に基づき検証
- 認証画面の表示: OK（E2Eテスト通過）
- ログイン後の遷移: OK（E2Eテスト通過）

**README.md の Acceptance Criteria**:
```markdown
## Acceptance Criteria
- ログインボタンをクリックすると認証画面が表示される
- 正しい認証情報でログインするとダッシュボードに遷移する
```

**報告**:
```
検証完了: 全ての受入基準を満たしています。

リクエストID: REQ-20260201-001
検証結果: OK (2/2 基準達成)

SM検証結果:
計画（docs/auth-plan.md）に基づき検証。全項目E2Eテスト通過。

PO判断:
| 受入基準 | SM検証 | PO判断 | 備考 |
|---------|--------|--------|------|
| ログインボタンをクリックすると認証画面が表示される | OK | OK | E2Eテスト通過 |
| 正しい認証情報でログインするとダッシュボードに遷移する | OK | OK | E2Eテスト通過 |

→ 次のステップ:
  1. Human に受入の承認を依頼してください
  2. 承認後、po-request-yaml（task_type: backlog_update）でBacklog更新を指示
```

### Example 2: 問題あり

**SMの検証結果報告**:
- ダークモード切替ボタン: OK（UIテスト通過）
- localStorage保存: NG（テスト失敗、設定がリロード後に消失）

**報告**:
```
検証完了: 一部の受入基準を満たしていません。

リクエストID: REQ-20260201-002
検証結果: NG (1/2 基準達成)

SM検証結果:
localStorage保存機能にテスト失敗あり。リロード後に設定が消失する。

PO判断:
| 受入基準 | SM検証 | PO判断 | 備考 |
|---------|--------|--------|------|
| ダークモード切替ボタンが表示される | OK | OK | UIテスト通過 |
| 設定がlocalStorageに保存される | NG | NG | テスト失敗 |

→ 次のステップ:
  1. Human に問題を報告してください
  2. 5.3 設計計画フェーズへ差し戻し
```

## Validation Checklist

検証時の確認項目：

- [ ] SMからの検証結果報告を受領している
- [ ] 対象リクエストIDが特定されている
- [ ] README.mdのAcceptance Criteriaが取得できている
- [ ] SMの検証結果と仕様を照合している
- [ ] 全ての受入基準に対してPO判断がある

## References

詳細なチェックリストは `references/acceptance-checklist.md` を参照。

## Notes

- このスキルはPOロールのみが使用する
- SMが先に計画と仕様に基づき検証し、POはその報告を受けて仕様と照合して判断する
- 問題なしの場合はHumanに受入承認を依頼する
- 問題ありの場合はHumanに報告し、5.3 設計計画フェーズへ差し戻す
