mcpField
P
project-discovery

project-discovery

github.com/bhagyamudgal開発2126 回インストール2 日前に更新
リポジトリ

project-discovery について

project-discoveryは、実装前にプロジェクトチームへ質問し、技術的な決定を記録する開発スキルです。制約を掘り下げ、選択肢のトレードオフを示し、選んだスタックに合わせたファイルやルールを整えます。

主な機能

  1. 01体系的なプロジェクト確認項目
  2. 02技術的制約の追加確認
  3. 03提案に伴うトレードオフの提示
  4. 04スタック別の決定事項記録
  5. 05プロジェクト用テンプレートとライブラリファイル

活用シーン

  1. 01コーディング前の要件整理
  2. 02予算やコンプライアンスを踏まえた技術選定
  3. 03アーキテクチャと実装規約の記録
  4. 04スタック決定後のプロジェクトファイル準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bhagyamudgal/skills --skill project-discovery

インストール後、Claude Code で/project-discoveryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
coding-standards.md
lib-files.md
output-templates.md
stack-menu.md

詳細

プロジェクトの要件確認

回答の一つひとつを掘り下げてください。「PostgreSQL」は質問の始まりであって、終わりではありません。セルフホストかマネージドか、データ量はどれくらいか、どのようなコンプライアンス要件があるか、バックアップはどうするのか。2つ目の質問で、本当の制約が明らかになります。

提案には必ずトレードオフを添えてください。何を得て、何を手放すのかを伝えます。選択肢が相手の制約と合わない場合は、そのことを伝え、より安価な方法を示してください。

要件確認のカテゴリ

1. プロジェクトの概要
質問重要な理由
このプロジェクトは何をするものですか?誰を対象としていますか?あらゆる技術的判断の土台になります
どのような問題を解決しますか?今、何に困っていますか?実際の問題を解決していることを確認できます
成功したかどうかをどう判断しますか?完了の定義となり、スコープの拡大を防ぎます
スケジュールはどうなっていますか?MVP と正式リリースのどちらを目指しますか?内製か購入か、どの程度の複雑さを許容するかを決めます
誰が開発しますか?個人、小規模チーム、組織のどれですか?アーキテクチャやツールの選択に影響します
インフラやサービスの予算はいくらですか?マネージドかセルフホストかの判断に影響します
2〜10. その他すべてのレイヤー

ユーザーがまだ決めていないレイヤーに話が及んだら、${CLAUDE_SKILL_DIR}/references/stack-menu.md を読み、そのレイヤーの選択肢と、選択肢を絞り込む質問を使ってください。対象となるのは、フレームワーク、データベース、ORM、認証、API スタイル、スタイリング、ホスティング、インテグレーション、テストです。記憶を頼りに選択肢を挙げないでください。このファイルは、次回も同じトレードオフを正確に伝えられるように用意されています。

要件確認の進め方

冒頭
"Before we write any code, I want to understand what we're building and make sure we make good foundational decisions. This might take 15-30 minutes but will save hours later. Let's start with the big picture. What are we building and who is it for?"
要件確認中
  • 関連する判断をまとめます:「データレイヤーは Supabase 上の Postgres と Drizzle ORM にする、ということですね。それにより……」
  • さらに検討が必要な判断に印を付けます:「ユーザーの種類がもう少しわかってから、認証フローに戻りましょう」
  • 根拠が弱い場合は問い直します:「『みんなが使っているから』と言いましたが、あなたのケースにとって適切な理由でしょうか?」
要件確認の締めくくり
"Let me summarize what we've decided:

Project: [One sentence]
Stack: [Frontend] + [Backend] + [Database]
Auth: [Approach]
Hosting: [Where]
Key patterns: [2-3 important conventions]

Features for MVP:
1. [Feature]
2. [Feature]
...

Does this capture it? Anything we should revisit before we start building?"

作成するもの

  1. ${CLAUDE_SKILL_DIR}/references/output-templates.md を読み、そこに記載されている CLAUDE.md、フォルダー構成、設定ファイルを作成します。

  2. ルール集は ${CLAUDE_SKILL_DIR}/references/coding-standards.md です。PATTERNS.md を作成するときに一度だけ読みます。その際、選択したスタックで実際に使うルールだけをコピーし、それ以外は削除してください。プロジェクトに存在しないライブラリのルールは、エージェントが誤って適用するルールです。

  3. ${CLAUDE_SKILL_DIR}/references/lib-files.md にある4つのファイルすべてを、そのまま lib/ にコピーします。ルール集の後続のルールは、これらの正確なシグネチャを前提としています。

${CLAUDE_SKILL_DIR}/references/stack-menu.md のすべてのカテゴリについて、「不要」と判断したカテゴリも理由とともに、CLAUDE.md に判断が記載されていれば、この実行は完了です。PATTERNS.md が存在し、選択したスタックで使うルールだけを含んでいること。${CLAUDE_SKILL_DIR}/references/lib-files.md の4つのファイルすべてが lib/ にあること。名前が挙がっていないカテゴリは、まだ確認されていないカテゴリです。戻って質問してください。

コメント