lcs-explore について
LCS Exploreは、PRD作成前にユーザーの意図を明確にし、選択肢を比較して決定事項を記録する対話型スキルです。問題と提案された解決策を区別し、確認済みの探索結果を作業項目の文書に保存します。
主な機能
- 01構造化インタビューによる意図の明確化
- 02複雑さに応じた選択肢とトレードオフの検討
- 03決定・仮定・リスク・要件ソースの記録
- 04explore.mdとintent.mdの作成
- 05作業フェーズの更新とlcs-toprdへの引き継ぎ
活用シーン
- 01PRD作成前の曖昧な要件の整理
- 02重要なトレードオフを伴う製品案の比較
- 03制約・対象外事項・未解決の質問の記録
- 04確認済みの意図をPRDフェーズへ引き継ぐ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mdhb2/ lean-coding-skills --skill lcs-exploreインストール後、Claude Code で/lcs-exploreを入力して読み込まれたか確認します。
同梱ファイルreferences/interview-protocol.md
詳細
LCS Explore
共有契約
以下については、../lcs-shared/contract.md に従ってください。
- フォルダーの規約
- OKF フロントマター
- 成果物の安全な書き込み
- Source of Truth のルール
- 安定した ID
- 引き継ぎ形式
Chain of Truth レベル:Light。
目的
- PRD の作成前に、ユーザーの意図を明確にします。
- 意味のある代替案とトレードオフを検討します。
- 構造化された対話型のブレインストーミングを通じて、重要な不確実性を解消します。
- ユーザーの最初の依頼、実際の問題、精緻化された意図、最終的な解決の方向性を区別します。提案された解決策を問題の定義として扱わないでください。
- あらかじめ意図を決めつけず、インタビューを通じてユーザーの意図を発見し、精緻化します。
- 複雑さ、曖昧さ、リスクに応じて解決策の代替案を検討し、既知の制約の範囲内で検証済みの問題を十分に解決する、最もシンプルなアプローチを優先します。
- 決定事項、前提、リスク、安定したソース要件を記録します。
- 結果を以下の場所に保存します。
.lcs/work-items/{timestamp}-{slug-work-item}/explore.md.lcs/work-items/{timestamp}-{slug-work-item}/intent.md - PRD、タスク、本番コード、パッチは作成しないでください。
必須の参照資料
対話型の探索セッションを開始する前に、以下を読んでください。
references/interview-protocol.md
explore.md を生成する際は、以下を読んでください。
../lcs-shared/templates/explore.template.md
intent.md を生成する際は、以下を読んでください。
../lcs-shared/templates/intent.template.md
通常のインタビューでは、成果物を生成する直前まで成果物テンプレートを読み込まないでください。
ワークフロー
- ユーザーの意図に基づいて、簡潔な作業名を決めます。
.lcs/state.mdが存在する場合は、作業を続ける前に読みます。- 空の作業の再利用:作業項目がすでに選択され(
current_workが設定されており)、phase: newで、そのディレクトリに主要な成果物がなく、ユーザーが明らかに同じ名前の作業を続けている場合は、既存の ID/パスを再利用します。2つ目のタイムスタンプ付きディレクトリは生成しないでください。既存のパスにexplore.mdを書き込み、同期ルールに従ってphaseをexploreに設定します。 - 作業項目が選択されていない場合、またはユーザーが本当に新しい作業を始める場合は、状態を遷移させる前、または遷移と同時に、新しい作業項目を作成/登録します。
- トピックの複雑さを評価します。
- 推奨する探索レベルを提示します。
- Easy
- Medium
- Hard
- Auto
- ユーザーにレベルを選んでもらいます。
- ユーザーが手動で選んだレベルが推奨レベルより大幅に低い、または高い場合は、次のように対応します。
- 不一致の理由を簡潔に説明します。
- 予想される結果について警告します。
- 選択を維持するか、変更するかを尋ねます。
- 確認なしに、手動で選択されたレベルを変更してはいけません。
references/interview-protocol.mdを使ってインタビューを実施します。- 1ラウンドにつき、関連性の高い質問を3つ尋ねます。初期のラウンドでは、解決策に決め打ちする前に、実際の問題と意図する結果に関する不確実性を解消することを優先します。ユーザーの最初の依頼ですでに解決策(例:「Excel エクスポートを追加する」)が示されている場合は、それを要件として扱う前に、なぜ必要なのか、どのような問題を解決するのかを尋ねます。
- 各ラウンドの後に、次のことを行います。
- 回答を解釈します。
- 解決済みの決定事項と未解決の質問を分けます。
- 問題、意図、解決策の方向性について、現在の理解をそれぞれ更新します。
- 1~3行で要約します。
- 残っている不確実性を更新します。
- 進捗の概算を更新します。
- 次のいずれかに達するまで続けます。
- 作業が PRD を作成できる状態になる。
- 選択した質問数の上限に達する。
- 責任を持って進めることを妨げる障害がある。
- 質問数によって PRD 作成の準備状況が決まるわけではありません。
- 関連する場合(重要な曖昧さ、複雑さ、またはリスクがある場合)は、新しい解決策を提案する前に、既存のシステム機能を調査し、関連する代替案とトレードオフを記録します。ラベルの変更など、シンプルでリスクの低い変更では、この手順を省略します。解決策が明らかな場合に、無理に解決策を検討しないでください。
- 最終化する前に、理解した「問題」「提案する成果」「制約」「対象外」をユーザーに改めて示し、重大な誤解がないか確認する機会を設けます。重要な決定について、沈黙を承認とみなしてはいけません。
- 主な探索の終了時に、次のいずれかをユーザーに選んでもらいます。
- 完了して PRD に引き継ぐ。
- ラウンドを1回追加する。
- 特定の領域を詳しく掘り下げる。
- 探索レベルを上げる。
- ユーザーが探索を終了する場合は、次の手順を実行します。
../lcs-shared/templates/explore.template.mdを読みます。- 完全な
explore.md成果物をまとめます。 explore.mdを保存します。../lcs-shared/templates/intent.template.mdを読みます。- 確認済みの「問題」「提案する成果」「影響を受けるユーザー/システム」「制約」「対象外」「未解決の質問」から
intent.mdをまとめます。 - 以下の準備状況ルールを満たす場合は Intent Status を
confirmedに設定し、満たさない場合はrefiningに設定します(重大な曖昧さにより後続作業を進められない場合はblocked)。 intent.mdを保存します。.lcs/state.mdを更新します。lcs-toprdに引き継ぎます。
探索の優先事項
重要な不確実性を最も大きく解消できる質問を優先します。
一般的な観点には、次のものがあります。
- 問題と意図する成果
- ユーザーとアクター
- 必須の動作
- 既存システムの制約
- アーキテクチャとデータフロー
- インテグレーション
- UX に関する期待
- セキュリティとプライバシー
- デプロイと実行環境
- 規模/パフォーマンス
- 代替案とトレードオフ
- 明示的な対象外事項
すべての項目を機械的に質問してはいけません。
次の情報から回答がすでにわかっている質問はしないでください。
- ユーザーの現在の入力
- 前のラウンド
- 既存の信頼できる情報源となる成果物
適応的な対応
各ラウンドの後に、引き続き重要な内容を再評価します。
回答によって今後の質問が不要になった場合:
- 不要になった質問を削除します。
- その質問を再度尋ねません。
- 次のラウンドを調整します。
ユーザーがラウンドの一部にしか回答しなかった場合:
- 解決済みの回答を保持します。
- 未回答の重要な項目のみ未解決としてマークします。
- ラウンド全体を繰り返しません。
ユーザーがA~Dを選ぶ代わりに独自の回答をした場合:
- その回答を受け入れます。
- その内容を忠実に解釈します。
- 既存の選択肢に無理に当てはめません。
意思決定の規律
合意済みの決定は、次の項目と分けて管理します。
- 仮定
- 推奨事項
- 未解決の質問
製品、動作、インターフェイス、データ、セキュリティ、運用上の要件を示す合意済みの決定はすべて、独立した安定した SRC-### エントリとして Decision Ledger に登録する必要があります。
ルール:
- 1つの質問から複数の
SRC-###エントリが作成されることがあります。 - 1つのラウンドから作成される
SRC-###エントリは、0件、1件、または複数件の場合があります。 - 合意を捏造しません。
- 既存のIDを保持します。
- 未解決の仮定には
[verified]または[unverified]を付けます。
PRD の準備状況
次の条件を満たした場合に限り、探索が PRD 作成の準備完了と見なします。
- 目指す成果が明確である。
- 主な制約が把握されている。
- 有意義な選択肢とトレードオフが検討されている。
- 重要なリスクと仮定が明らかになっている。
- 未解決の質問が作業の妨げにならないか、明示的に継続課題として引き継がれている。
- 合意済みの要件が安定した
SRC-###エントリとして記録されている。
質問の予算を使い切ったからといって、自動的に PRD 作成の準備が整うわけではありません。
主な予算が尽きても重要な不確実性が残っている場合:
- 残っている不確実性を述べます。
- 現在の PRD 作成の準備状況を報告します。
- 追加のラウンドまたは対象を絞った深掘りを推奨します。
Intent の準備状況
次の条件を満たした場合に限り、intent.md を confirmed とします。
- Problem を明確に記述でき、提案されたソリューションとは区別されている。
- Proposed Outcome が明確である。
- Affected Users/Systems が十分に把握されている。
- 重要な Constraints が把握されている。
- 重要な Out of Scope 項目が特定されている。
- 残る曖昧さによって PRD 作成が実質的に妨げられない。
- エージェントによる解釈を訂正する機会がユーザーに与えられている。
- 重要な仮定が、確定した Intent であるかのように扱われていない。
未解決の質問をすべて解決する必要はありません。作業の妨げにならない質問は、継続課題として引き継ぐことができます。
上記がまだ満たされていない場合は refining を使用し、重要な曖昧さによって後続の作業が妨げられる場合は blocked を使用します。後の Intent に置き換えられた場合に限り superseded を使用します。
完了
探索が完了したら:
- 正規の共有テンプレートを使って
explore.mdを生成します。 - 正規の共有テンプレートを使って
intent.mdを生成し、インタビューで確認された Problem、Proposed Outcome、Constraints、Out of Scope を再利用します。Explore によってより正確な Problem が明らかになった場合、ユーザーの最初の依頼をそのまま Problem として記載しないでください。 ../lcs-shared/contract.mdの Artifact Writing Safety に従います。.lcs/state.mdを次の内容で更新します。current_phase: explorecurrent_work: {timestamp}-{slug-work-item}work_items[state.current_work].phase = explorework_items[state.current_work].updated_at = <current-ISO-timestamp>last_session_note: <brief summary>timestamp: <current-ISO-timestamp>
intent.mdを Source of Truth Bundle に含めるよう指定し、lcs-toprdを推奨する Handoff で終了します。
ファイルシステムまたはリポジトリにアクセスできない場合:
- 完全な成果物をチャットで提示します。
- ファイルや状態の操作を実行していないことを明記します。
- 実際には読み取りも書き込みもしていないファイルについて、その操作を行ったと主張してはいけません。
情報の連鎖
レベル:Light
次の情報を明示します。
- 確認した情報源
- 仮定
- 実施した操作
- 検証状況
- リスク
隠された思考過程は明示しません。
情報の連鎖のレベル
レベル:Light