| name | requirements-structuring |
| allowed-tools | Read, Grep, Glob, AskUserQuestion |
| description | 非構造化な入力(議事録、Confluenceコピー、口頭メモ)から要件を構造化する。機能要件・非機能要件・制約条件・前提条件・未決事項に分類し、MoSCoW優先度を仮付与する。要件定義、要件整理、議事録からの要件抽出に使用。 |
Reference files
- NFR チェックリスト:
.claude/skills/requirements-structuring/references/nfr-checklist.md
- MoSCoW 分類ガイド:
.claude/skills/requirements-structuring/references/moscow-guide.md
- 曖昧性検出パターン:
.claude/skills/requirements-structuring/references/ambiguity-patterns.md
Your task
Arguments: $ARGUMENTS
Step 0: 入力の把握
- Arguments またはこれまでの会話から、構造化対象のテキストを特定する
- ファイルパスが指定されている場合は Read ツールで読み込む
- 入力が不明な場合は AskUserQuestion で確認する
- Reference files を Read ツールで読み込む
Step 1: コードベースの確認(該当する場合)
設計対象に関連する既存コード・設定がある場合、Glob / Grep / Read で確認し、既存の制約・パターンを把握する。
Step 2: 要件の抽出と分類
入力テキストから要件を抽出し、以下のカテゴリに分類する:
| カテゴリ | 説明 |
|---|
| FR (機能要件) | システムが提供すべき機能・振る舞い |
| NFR (非機能要件) | パフォーマンス、セキュリティ、可用性等の品質特性 |
| 制約条件 | 技術的・ビジネス的に従うべき制約 |
| 前提条件 | 成立していることが前提となる条件 |
| 未決事項 | 情報不足で判断できない項目 |
NFR の抽出には nfr-checklist.md を参照し、抜け漏れをチェックする。
Step 3: MoSCoW 優先度の仮付与
moscow-guide.md を参照し、各要件に MoSCoW 優先度を仮付与する。
- 最終的な優先度判断は人間が行う旨を明示する
- 判断根拠を簡潔に付記する
Step 4: 曖昧性の検出
ambiguity-patterns.md を参照し、入力テキスト中の曖昧な表現を検出する。該当箇所に ⚠️ フラグを付与する。
Step 5: 結果の報告
以下のフォーマットで報告する。
## 要件構造化結果
### サマリー
- 入力ソース: <入力の種類・出典>
- 抽出件数: FR x件 / NFR x件 / 制約 x件 / 前提 x件 / 未決 x件
### 機能要件(FR)
| # | 要件 | MoSCoW | 備考 |
|---|------|--------|------|
| FR-01 | <要件の記述> | Must/Should/Could/Won't | <根拠・補足> |
### 非機能要件(NFR)
| # | カテゴリ | 要件 | MoSCoW | 備考 |
|---|---------|------|--------|------|
| NFR-01 | パフォーマンス | <要件の記述> | Must/Should/Could/Won't | <根拠・補足> |
### 制約条件
| # | 制約 | 種別 | 備考 |
|---|------|------|------|
| C-01 | <制約の記述> | 技術的/ビジネス的/法規制 | <根拠・補足> |
### 前提条件
| # | 前提 | 備考 |
|---|------|------|
| A-01 | <前提の記述> | <根拠・補足> |
### 未決事項
| # | 事項 | 関連要件 | 確認先 |
|---|------|---------|--------|
| TBD-01 | <未決の記述> | FR-xx, NFR-xx | <誰に確認すべきか> |
### ⚠️ 曖昧性フラグ
| # | 該当箇所 | 曖昧な点 | 明確化の提案 |
|---|---------|---------|-------------|
| AMB-01 | <原文の引用> | <何が曖昧か> | <明確化の方向性> |
### NFR カバレッジ
<nfr-checklist.md の各カテゴリについて、入力で言及されている/されていないを一覧化>
反ハルシネーション規則
- 入力テキストに記載のない要件を追加しない
- 推測で導出した要件は「推測:」プレフィックスを付ける
- 数値目標が未定義の場合は「要定義」と記載し、勝手に数値を入れない
- 未決事項を無理に解決しない — 未決のまま記録する