| name | interviewer |
| description | Collect user's implicit knowledge (business context, technical constraints, past failures, hidden assumptions) through interactive dialogue and save as _interview-notes.yaml before executing feature documentation skills. Use when running /interview command or automatically before any start-teams-doc phase. Generic design allows use with skills beyond teams-docs. |
Interviewer スキル
トリガー条件
/interview コマンドが呼ばれたとき
/start-teams-doc スキルのフェーズ開始前に自動的に呼ばれたとき
- ユーザーが「インタビューしたい」「暗黙知を整理したい」「前提を確認したい」と言ったとき
入力パラメータ
| パラメータ | 説明 | 必須 |
|---|
target_skill | 質問セットを切り替える対象スキル名(例: teams-docs-discovery) | ✅ |
output_dir | _interview-notes.yaml の出力先ディレクトリ。サブモジュール利用時は {docs_root}/teams/{team}/{project}/{feature} 形式で渡される | ✅ |
mode | initial(初回)/ phase-followup(フェーズ追加質問) | ✅ |
existing_notes | 既存の _interview-notes.yaml の内容(phase-followup 時) | 任意 |
context_params | 呼び出し元から引き渡されるコンテキスト(team, project, feature, feature_id, docs_root 等) | 任意 |
実行手順
1. 質問セットのロード
以下の質問セット YAML を読み込む:
mode: phase-followup の場合はスキル固有質問のみをロードする。
2. 既存回答のスキップ判定
existing_notes が提供されている場合:
- 既に回答済みの
question_id はスキップする
confidence: low の回答は再質問候補としてマークする(ユーザーに再回答するか確認)
3. 対話ループ
ロードした質問セットに基づき、関連する質問をバッチにグルーピングして AskUserQuestion で提示する。
各回答について以下を評価する:
- 曖昧度判定: 回答の具体性を
short / vague / unknown / clear で判定
- フォローアップ:
short または vague の場合、質問定義の follow_up_probes から掘り下げ質問を実施(各質問最大2回)
- 動的トリガー: 回答にキーワードが含まれる場合、
dynamic_triggers の追加質問を実施(各質問最大1回)
- スキップ: ユーザーが「スキップ」「わからない」と回答した場合、次の質問へ進む
質問の提示方法(バッチ質問方式)
- 関連する質問を 3〜5問ずつまとめて 1回の
AskUserQuestion で提示する
- グルーピングは質問セット YAML の
category または意味的な関連性に基づいて行う
- 各バッチの冒頭にカテゴリ名(例: 「ビジネスコンテキスト」「技術的制約」)を表示する
- 各質問には番号を振り、なぜこの情報が重要かの簡潔な説明を添える
- 選択式の場合は選択肢を明記し、自由記述の場合はその旨を示す
- ユーザーは番号で対応する回答を返すか、まとめて自由に回答できる
- 未回答・スキップの質問は次のバッチに繰り越さず、
skipped として扱う
4. _interview-notes.yaml 生成
全質問の回答を収集後、assets/output-schema.yaml の構造に従って _interview-notes.yaml を生成する。
出力先: {output_dir}/_interview-notes.yaml
5. 品質チェック
references/quality-checklist.md に基づきインタビュー結果を検証する。未達項目がある場合はユーザーに通知し、追加回答を求めるか確認する。
バリデーションスクリプトを実行して自動チェックを行う:
python <this_skill_dir>/scripts/validate-interview.py <feature_dir>
<this_skill_dir> は、この SKILL.md が配置されているディレクトリの実際のパスに解決すること。
エラーが出た場合はユーザーに通知し、追加回答を求めるか確認する。
6. サマリー表示
インタビュー完了後に以下を表示する:
📝 インタビュー完了: {target_skill}
🔑 主要な発見:
- {key_findings の各項目}
⚠️ 特定されたリスク:
- {risks_identified の各項目}
📌 確認された前提:
- {assumptions_captured の各項目}
❓ 未解決の質問:
- {open_questions の各項目}
📄 保存先: {output_dir}/_interview-notes.yaml
出力ファイル
| ファイル | 必須 |
|---|
{output_dir}/_interview-notes.yaml | ✅ |
Troubleshooting
- validate-interview.py がエラーを返す →
_interview-notes.yaml の YAML 構文を確認する。インデントずれや必須フィールド(metadata, responses, summary)の欠落が主な原因。
- ユーザーが回答を拒否する →
confidence: low でマークし、open_questions に追加して次の質問に進む。無理に再質問しない。
- 質問セット YAML が見つからない →
target_skill の値が正しいか確認する。対応する question-sets/{target_skill}.yaml が存在しない場合は _base.yaml のみで実行する。
参照