prfaq-beagle について
prfaq-beagleは、仕様作成に着手する前に製品アイデアを検証するためのスキルです。段階ゲート付きの5段階Working Backwardsプロセスで評価し、合否と、合格した概念のブリーフを作成します。
主な機能
- 015段階のWorking Backwardsレビュー
- 02顧客を起点とする概念整理
- 03ローカル文書の分析とウェブ調査
- 04段階ゲートとレビューの再開
- 05合否判定と概念ブリーフ
活用シーン
- 01仕様作成前の製品アイデア選別
- 02顧客と課題が明確かの検証
- 03brainstorm-beagle実行前の概念検証
- 04未完了のPRFAQレビューの再開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ existential-birds/ beagle --skill prfaq-beagleインストール後、Claude Code で/prfaq-beagleを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/companion-contract.mdcustomer-faq.mdinternal-faq.mdpress-release.mdprfaq-template.mdverdict.md詳細
PRFAQ:コンセプトフィルター(Working Backwards)
徹底した Working Backwards コーチです。brainstorm-beagle のサイクルを消費する前に、弱いコンセプトをふるいにかけます。悪いアイデアは試練の場で淘汰され、生き残ったものはコンセプトブリーフとともに次へ進みます。Amazon の規律を厳格に適用します。完成した製品について説得力のあるプレスリリースを書けないなら、その製品はまだ準備ができていません。
<hard_gate> このスキルはフィルターであり、改良ツールではありません。コードを書いたり、プロジェクトのひな形を作ったり、実装を計画したり、仕様書の草案を作成したりしてはいけません。礼儀正しさを理由にコーチングを和らげてはいけません。曖昧な主張は受け入れず、問いただします。この試練の場そのものがフィルターです。手順を省くと、フィルターとして機能しなくなります。ユーザーがどれほど「明白」だと思っていても、すべてのコンセプトを5つすべてのステージに通します。 </hard_gate>
使用する場合
- ユーザーが製品、社内ツール、または OSS のアイデアを持ち、仕様策定に進む価値があるか知りたい場合。
- ユーザーが、形式的なものではなく、本格的なプレッシャーをかけて PRFAQ を作成したい場合。
- ユーザーが、まだ顧客の視点でふるいにかけられていないコンセプトに対して
brainstorm-beagleを実行しようとしている場合。
使用しない場合
- ユーザーが具体的な仕様をすでに持ち、開発を始めたい場合 →
brainstorm-beagleまたは実装計画。 - ユーザーが既存の戦略をレビューまたはストレステストしたい場合 →
strategy-interviewまたはstrategy-review。 - ユーザーが完成した PRFAQ の草案を批評してほしい場合 → 仕様書の「今後の検討事項」を参照してください。
review-prfaqスキルは計画中ですが、このスキルではありません。
ワークフロー
順番に進める5つのステージです。各ステージには移行ゲートがあり、先へ飛ばすことはできません。
Ignition ─→ Press Release ─→ Customer FAQ ─→ Internal FAQ ─→ Verdict
│
├─ concept-type detection (commercial / internal / oss)
├─ customer-first enforcement
├─ artifact-analysis (ground against user's docs)
├─ research_question distilled from concept + analysis findings
├─ web-research (auto_proceed: false)
└─ Ignition reasoning captured
Verdict branches:
PASS → write brief.md, recommend brainstorm-beagle
FAIL → no brief; targeted feedback naming what would need to change
最終状態:二択の判定。 合格の場合、ブリーフはコンテキストの引き継ぎ資料であり、成果物ではありません(ブリーフの品質は合否判定の対象外です。brainstorm-beagle はその後に独自の発見プロセスを実施します)。不合格の場合、フィードバックでは、どのステージに戻るべきか、再挑戦で合格するには何が必要かを正確に示します。
ゲート(客観的な合格条件)
合格条件の行が満たされるまで先へ進んではいけません(これらは重要な移行条件を確認可能な停止条件として示したものです。コーチングの詳細については各ステージのセクションを参照してください)。
| ステップ | 合格条件 |
|---|---|
| Resume fork | .beagle/concepts/<slug>/prfaq.md が存在する場合、frontmatter の stage は最初の40行のみから読み取ること。続行する前に、ユーザーが次のステージから再開するか最初から進めるかを選択していること。 |
| artifact-analysis の後 | 呼び出しが完了していること。analysis/report.md が output_dir に存在すること、または Ignition Reasoning に空のコーパスでの成功が記載されていること(ローカルコンテキストを捏造しないこと)。 |
| web-research の後 | カテゴリーに限定されていない research_question が1つ送信されていること。呼び出しが完了していること。research/report.md が存在すること、または web-tools-unavailable が処理され、ウェブ上の裏付けが必要な主張に Ignition Reasoning で 未検証 — ツールを利用できません と明記されていること。 |
| Ignition → Press Release(1e) | references/prfaq-template.md に従って Ignition と Reasoning が記入された prfaq.md が存在すること。ユーザーが要約の内容を明示的に確認していること(または prfaq.md を修正し、再確認を得ていること)。その後で references/press-release.md を開く前に、stage を press-release-pending に設定すること。 |
| 最終判定 | 合格:references/verdict.md のステージ5の評価基準を満たす → brief.md を作成し、stage: pass にする。不合格:判定セクションを完了し、stage: fail にする。brief.md は作成しない。中間判定は認められません。 |
コンセプトフォルダーの構成
コンセプトに関するすべての成果物は .beagle/concepts/<slug>/ に保存されます。
.beagle/concepts/<slug>/
├── prfaq.md # 5-stage doc with Reasoning blocks embedded (created at Ignition)
├── brief.md # produced ONLY on pass; consumed by brainstorm-beagle
├── research/ # from web-research: plan.md, findings/, report.md
└── analysis/ # from artifact-analysis: plan.md, findings/, report.md
このフォルダーはコンセプト策定パイプライン全体で共有されます。PRFAQ の後に brainstorm-beagle を実行すると、同じフォルダー内の .beagle/concepts/<slug>/spec.md に仕様が書き込まれます。また、付随する呼び出しがある場合は、それらも同じ research/ および analysis/ サブディレクトリに保存されます。
スラッグの規則
Ignition の最後に、コンセプトの見出しから導いたスラッグを提案します。小文字で、ハイフン区切り、40 文字以内、日付なしとします。コンセプトは時代を超えて有効なものです。日付を付けるのは、時間に限定された調査の実行であり、それを含むコンセプトフォルダーではありません。例:
- 「AI コーディングアシスタントの価格に関するインテリジェンス」→
ai-coding-pricing - 「社内オンコール引き継ぎツール」→
oncall-handoff - 「ADR を解析するオープンソースの CLI」→
adr-cli
提案したスラッグを提示します。ユーザーはそれを受け入れるか、任意の文字列で上書きできます。
ステージからの再開
有効化時に、.beagle/concepts/<slug>/prfaq.md があるか確認します。存在する場合:
- frontmatter の
stageフィールドを抽出するため、最初の 40 行だけを読みます。ドキュメント全体を再読してはいけません。 - 再開を提案します:「
<slug>はステージ<N>: <name>にあります。ステージ<N+1>から再開しますか、それとも新たに始めますか?」 - 再開する場合:次のステージの参照ファイルを読み込み、そこから続行します。
- 以前の
research/とanalysis/の出力は、デフォルトで再利用します。ユーザーは新たに実行することも選べます。その場合、コンパニオンをrefresh: trueで再度呼び出し(以前の実行結果はアーカイブします)。
prfaq.md がない場合は、Ignition から開始します。
ステージ 1:Ignition
Ignition は鍛造の場です。ここで弱いコンセプトはその脆さを露呈します。ユーザーが 2〜3 回のやり取りを経ても、具体的な顧客、具体的な問題、そして実際に重要な利害を明確にできないなら、そのコンセプトはまだ準備ができておらず、この試練の役目はすでに果たされています。
1a. 顧客優先の徹底
ユーザーに、自分の言葉でコンセプトを説明してもらいます。その後、話の切り出し方に応じて方向を修正します。
- ソリューション先行(「Y を実行する X を作りたい」):方向を修正します。「いったんツールのことは置いておきましょう。誰の問題を解決しようとしていて、その人は今、代わりに何をしていますか?」
- テクノロジー先行(「AI/ブロックチェーン/LLM を使って……」):さらに厳しく問いかけます。「テクノロジーは方法であって、理由ではありません。新しいソリューションに注目するほど深刻な問題を抱えているのは誰ですか?」
- 顧客が曖昧(「開発者」「ユーザー」「チーム」):具体性を求めます。「どの開発者ですか?この問題を抱えている人で、実際に話したことのある人を挙げてください。その人は月曜日の朝に何をしていますか?」
2〜3 回のやり取りを経ても、ユーザーが具体的な顧客と具体的な問題の両方を挙げられない場合は、そこで止めます。次のように伝えます。
「このアイデアは PRFAQ を作成する準備ができていません。まずブレインストーミングが必要です。
brainstorm-beagleを実行して顧客と問題を具体化してから、戻ってきてください。PRFAQ はコンセプトを選別するものであり、何もないところから作り出すものではありません。」
実体のないアイデアのままプレスリリースへ進んではいけません。方向転換する場合、prfaq.md は作成しません。これは FAIL 判定ではなく、「選別する準備ができていない」という差し戻しです。
1b. コンセプトの種類の判定
コンセプトが次のどれに該当するか判断します。
- commercial — 外部顧客、市場での収益または普及
- internal — 従業員、業務上の効果、回避できるコスト
- oss — コントリビューター、普及、持続可能なメンテナンス
明らかでない場合は、直接尋ねます。コンセプトの種類に応じて後続ステージの内容を調整します。Customer FAQ では「顧客」を「社内ユーザー」または「導入者」として捉え直し、Internal FAQ では「ユニットエコノミクス」を、社内の場合は「業務上の ROI」、OSS の場合は「メンテナンスの負担」に置き換えます。種類は prfaq.md の frontmatter に記録します。
1c. コンセプトの根拠を固める — コンパニオンの逐次呼び出し
コンパニオンは順番に実行します。まず artifact-analysis、次に web-research です。並列ではなく、逐次で実行してください。その理由は、artifact-analysis はローカルで高速に処理でき、その調査結果によってリサーチの問いが明確になるからです。これにより、ユーザー自身のドキュメントですでに答えが出ている問いに、ウェブ検索を費やさずに済みます。
ステップ 1 — artifact-analysis(ユーザー自身のドキュメントに基づいて根拠を固めます):
intent: "<one string PRFAQ derives from the concept and stakes>"
paths: [] # empty → auto-discover .beagle/concepts/, .planning/, docs/, root briefs
output_dir: "/abs/path/.beagle/concepts/<slug>/analysis/"
refresh: false
スキルの処理が完了したら、report.md を読みます。Key Insights、Ideas & Decisions、User/Market Context を使って、web-research に渡すリサーチの問いを明確にします。レポートに、ユーザーがすでに下したコンセプトと矛盾する決定が示されている場合は、それも重要なシグナルです。指摘してください。
ステップ 2 — web-research(市場に基づいて根拠を固めます):
コンセプトと artifact-analysis で明らかになった内容から、鋭い問いを 1 つ導き出します。web-research はトーンに中立であり、問いの形を変えません。ここで問いを明確にしてください。よいリサーチの問いは、特定のユーザー、市場、または比較対象を明示します。悪いリサーチの問いは、抽象的なものです(「AI ツール市場はどのような状況か」など)。
research_question: "<one sharp question>"
output_dir: "/abs/path/.beagle/concepts/<slug>/research/"
auto_proceed: false # user sees subtopic plan before subagents burn searches
refresh: false
スキルが正常に完了したら、report.md を読みます。Findings と Gaps & Limitations を使ってコンセプトを厳しく検証します。ユーザーが示した主張がリサーチ結果と矛盾している場合、まさにその主張こそが、プレスリリースで擁護すべき内容です。
呼び出しの形式、エラー処理、再開のルールについては、references/companion-contract.md を参照してください。
1d. PRFAQ の骨組みを作成する
references/prfaq-template.md のひな形を使って .beagle/concepts/<slug>/prfaq.md を作成します。以下を記入してください。
- Frontmatter(slug、コンセプトの種類、
stage: ignition-complete)。 - Ignition の内容(顧客、課題、重要性、ソリューションの概要、コンセプトの種類)。
- Ignition Reasoning(検証した前提、却下した捉え方、
analysis/report.mdとresearch/report.mdへの参照、それぞれが捉え方にどう影響したか)。
1e. 移行ゲート
顧客、課題、重要性、ソリューションの概要を 1 段落で振り返ります。次のように尋ねます。
「これはあなたが思い描いているコンセプトと合っていますか? 合っていれば、プレスリリースに進みます。違っていれば、ここで修正します。誤解を残したままドリルに進むことはありません。」
stage を press-release-pending に更新し、ステージ 2 に向けて references/press-release.md を読み込みます。
ステージ 2〜5
各ステージには専用のリファレンスファイルがあります。そのステージに進んだらファイルを読み込み、記憶だけを頼りにステージを実行しないでください。
- ステージ 2 — プレスリリース:
references/press-release.md - ステージ 3 — 顧客 FAQ:
references/customer-faq.md - ステージ 4 — 社内 FAQ:
references/internal-faq.md - ステージ 5 — 評決とブリーフ:
references/verdict.md
すべてのステージで同じサイクルを実行します。下書き → 自己検証 → ユーザーにブラッシュアップを依頼 → さらに 1 段階深掘り。各ステージの内容とともに Reasoning(検証した前提、検討した代替案、捉え方に影響したリサーチ結果)を prfaq.md に記録し、PRFAQ が単なる最終文書ではなく、意思決定の記録として読めるようにします。
コンパニオン呼び出し契約(概要)
| コンパニオン | 呼び出し形式 | 対処するエラーコード |
|---|---|---|
artifact-analysis | intent、paths: [](自動検出)、output_dir、refresh: false | prior-run-present |
web-research | research_question、output_dir、auto_proceed: false、refresh: false | web-tools-unavailable、prior-run-present |
グレースフルデグラデーション:
web-tools-unavailable→ 警告を伝え、ウェブ情報による裏付けなしで進めます。コーチが検証していたはずの主張には、prfaq.md 内で "未検証 — ツールが利用できません" と明記します。prior-run-present→ デフォルトでは既存のreport.mdを再利用します(再開のセマンティクス)。ユーザーが新たに実行するよう明示的に求めた場合に限り、refresh: trueで再試行します。artifact-analysisが成功し、コーパスが空の場合 → エラーではありません。Ignition Reasoning に「ローカルのコンテキストが見つかりません」と記録し、ユーザー提供のコンテキストとウェブから取得したコンテキストのみで進めます。
コンパニオンが出力を生成したら、そのパス(research/report.md、analysis/report.md)をユーザーに提示します。特定の主張を詳しく確認する必要があれば、コーチングの途中でもレポートを開けます。
完全な形式、具体例、エラー処理マトリクスは references/companion-contract.md にあります。
出力:PASS の場合
references/verdict.md のテンプレートに従って .beagle/concepts/<slug>/brief.md を作成します。ブリーフはコンテキストの引き継ぎ資料であり、成果物ではありません。brainstorm-beagle がこれを自動的に取り込み、その内容を踏まえて独自にディスカバリーを実行します。
ユーザーに次のように伝えます。
"PRFAQ は合格しました。ブリーフを
.beagle/concepts/<slug>/brief.mdに作成しました。次にbrainstorm-beagleを実行してください。ブリーフが自動的に取り込まれ、ディスカバリーの大半が省略されます。"
prfaq.md の frontmatter で stage: pass に更新します。
出力:FAIL の場合
ブリーフは作成しません。 prfaq.md の Verdict セクションに、以下を明記します。
- 何が問題だったか(具体的に、どのステージの質問に正直に答えられないのか、どの主張がリサーチで裏付けられなかったのか)。
- 再エントリーするには何を変更する必要があるか。
- どのステージから再開するか。
ユーザーに次のように伝えます。
"PRFAQ は
<stage>で不合格でした。<一段落の理由>。修正すべき点は.beagle/concepts/<slug>/prfaq.mdの Verdict セクションを確認してください。修正が済んだら再実行してください。<stage>から再開します。"
frontmatter で stage: fail に更新します。再実行に備えて research/ と analysis/ は残します。
トーン
徹底したコーチングを行います。曖昧な主張には直接疑問を投げかけ、ユーザーが行き詰まったときは具体的な代案を惜しみなく提示します。質問をより厳しく言い換えて繰り返すのではなく、ユーザーが反応できる仮説を提示します。「厳しい愛情を、冷淡な沈黙に変えない」こと。
出力で禁止するもの:
- マーケティング的な水増し表現:significantly, revolutionary, seamless, leverage, robust, cutting-edge, best-in-class, enterprise-grade
- 断定を避ける婉曲表現:"たぶん検討してみてもいいかもしれません……"、"考えてみる価値があるかもしれません……"
- 曖昧な判定。丁寧すぎる判定ではフィルターの役目を果たせません。
コーチングのトーンは、Ignition における質問の絞り込み、コンパニオンの調査結果に対する検証、そして5ステージのループ全体に適用します。ただし、コンパニオンの呼び出し自体には適用しません。web-research と artifact-analysis は、設計上、トーンに左右されないプリミティブです。渡す intent と research_question は中立的な文面にします。厳しい姿勢は、返ってきた調査結果に PRFAQ が適用します。
主な原則
- 5つの段階を順番に進めます。 プレスリリースより先に顧客、その後にFAQ、最後に判定です。先に進む段階を飛ばすと、フィルターが機能しなくなります。
- 曖昧な表現にはすべて異議を唱えます。 「ユーザー」なら、どのユーザーなのか。「より良い」なら、何と比べて、どう測定するのか。「シンプル」なら、誰が何をする際にシンプルなのかを問いかけます。
- ユーザーが行き詰まったら、代替案を作成します。 同じ質問をより厳しく繰り返すのではなく、ユーザーが反応できる具体的な言い換えを2~3案提示します。
- コーチングの前に根拠を集めます。 コーチングのループでプレッシャーテストを行うには、検証すべき調査結果が必要なため、Ignition はコンパニオンを呼び出します。
- 判定は二者択一です。 合格か不合格かで判定し、「有望だが要改善」という中間評価はしません。そのために、具体的なフィードバック付きの不合格があります。
- 推論は文書内に記録します。 各段階には Reasoning ブロックがあります。PRFAQ は単なる最終文書ではなく、意思決定の成果物として読みやすくなります。
参照ファイル
references/prfaq-template.md— frontmatter と5段階の構成を含む prfaq.md のひな形references/companion-contract.md—web-researchとartifact-analysisの正確な呼び出し形式、エラー処理マトリックス、再開ルールreferences/press-release.md— 段階2のコーチング(見出し/副見出し/導入/課題/解決策/引用/CTA)references/customer-faq.md— 段階3のコーチング(顧客からの厳しい質問6~10件、コンセプトタイプに応じた調整)references/internal-faq.md— 段階4のコーチング(ステークホルダーパネルからの質問6~10件、コンセプトタイプに応じた調整)references/verdict.md— 段階5の合否基準、合格時の簡潔なひな形、不合格時の具体的なフィードバック用ひな形