vague について
vagueは、仮説に基づく質問で曖昧な要件を実行可能な仕様に整理するスキルです。AskUserQuestionの使用を必須とし、明確化後に変更前後をまとめます。
主な機能
- 01要件の曖昧さを特定
- 02仮説を選択肢として提示
- 03関連する質問を最大4件まとめる
- 04明確化の前後を要約
- 05結果の保存希望を確認
活用シーン
- 01曖昧な機能要望の明確化
- 02不完全なバグ報告の補足
- 03定義が不十分なタスクの具体化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ team-attention/ plugins-for-claude-natives --skill vagueインストール後、Claude Code で/vagueを入力して読み込まれたか確認します。
詳細
Vague:要件の明確化
仮説に基づく質問を通じて、曖昧な要件を正確で実行可能な仕様に変換します。必ず AskUserQuestion ツールを使用してください。明確化の質問を通常のテキストで尋ねてはいけません。
使用する場面
- 曖昧な機能リクエスト(「ログイン機能を追加する」)
- 不完全なバグ報告(「エクスポートが動かない」)
- 仕様が不十分なタスク(「アプリを高速化する」)
戦略や計画における見落としの分析には、unknown スキルを使用してください。内容と形式の再構成には、metamedium スキルを使用してください。
基本原則:選択肢としての仮説
自由回答形式の質問をするのではなく、もっともらしい解釈を選択肢として提示します。それぞれの選択肢は、ユーザーが実際に何を意味しているのかを検証できる仮説です。
BAD: "What kind of login do you want?" ← open question, high cognitive load
GOOD: "OAuth / Email+Password / SSO / Magic link" ← pick one, lower load
プロトコル
フェーズ 1:要件の把握と診断
元の要件をそのまま記録します。曖昧な点を特定します。
- 何が不明確、または仕様不足でしょうか?
- どのような前提を置く必要がありますか?
- どのような判断が解釈に委ねられていますか?
フェーズ 2:反復的な明確化
AskUserQuestion を使用して曖昧な点を解消します。**関連する質問を 1 回の呼び出しにつき最大 4 つまでまとめてください。**各選択肢は、ユーザーの意図に関する仮説です。
**上限:質問は合計 5~8 個です。**重要な曖昧さがすべて解消された場合、ユーザーが「これで十分」と示した場合、または上限に達した場合は終了します。
AskUserQuestion の呼び出し例:
questions:
- question: "Which authentication method should the login use?"
header: "Auth method"
options:
- label: "Email + Password"
description: "Traditional signup with email verification"
- label: "OAuth (Google/GitHub)"
description: "Delegated auth, no password management needed"
- label: "Magic link"
description: "Passwordless email-based login"
multiSelect: false
- question: "What should happen after registration?"
header: "Post-signup"
options:
- label: "Immediate access"
description: "User can use the app right away"
- label: "Email verification first"
description: "Must confirm email before access"
multiSelect: false
フェーズ 3:変更前と変更後の要約
変換内容を提示します。
## Requirement Clarification Summary
### Before (Original)
"{original request verbatim}"
### After (Clarified)
**Goal**: [precise description]
**Scope**: [included and excluded]
**Constraints**: [limitations, preferences]
**Success Criteria**: [how to know when done]
**Decisions Made**:
| Question | Decision |
|----------|----------|
| [ambiguity 1] | [chosen option] |
フェーズ 4:保存するかどうかの確認
明確化した要件をファイルに保存するかどうかを尋ねます。デフォルトの保存先は requirements/、またはプロジェクトに適したディレクトリです。
曖昧さの分類
| 分類 | 仮説の例 |
|---|---|
| 範囲 | すべてのユーザー/管理者のみ/特定のロール |
| 動作 | エラーを通知しない/エラーを表示する/自動で再試行する |
| インターフェース | REST API/GraphQL/CLI |
| データ | JSON/CSV/両方 |
| 制約 | <100ms/<1s/要件なし |
| 優先度 | 必須/あるとよい/将来対応 |
ルール
- 自由回答形式の質問ではなく、仮説を提示する:各選択肢はもっともらしい解釈とします
- 前提を置かない:決めつけず、質問します
- 意図を維持する:方向を変えず、要件を明確にします
- 質問は最大 5~8 個:それ以上は負担になります
- 関連する質問をまとめる:AskUserQuestion の呼び出し 1 回につき最大 4 つまで
- 変更を追跡する:必ず変更前と変更後を示します
コメント
Markdown 対応