About project-discovery
project-discovery is a development skill for interviewing project teams before implementation and recording the resulting technical decisions. It emphasizes probing constraints, comparing trade-offs, and documenting a stack-specific set of project files and rules.
Key features
- 01Structured project discovery questions
- 02Follow-up on technical constraints
- 03Trade-offs for recommendations
- 04Stack-specific decision documentation
- 05Project templates and library files
Use cases
- 01Clarifying requirements before coding
- 02Choosing technical options against budget and compliance needs
- 03Documenting architecture and implementation conventions
- 04Preparing project files after stack decisions
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ bhagyamudgal/ skills --skill project-discoveryAfter installing, type/project-discoveryin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/coding-standards.mdlib-files.mdoutput-templates.mdstack-menu.mdDetails
From the project READMEProject discovery
Interrogate every answer. "PostgreSQL" is the start of a question, not the end of one: self-hosted or managed, what volume, what compliance, what is the backup story. The second question is where the real constraint surfaces.
Every recommendation ships with its trade-off. Say what they gain and what they give up. When a choice fights their constraints, say so and name the cheaper path.
Discovery categories
1. Project overview
| Question | Why It Matters |
|---|---|
| What does this project do? Who is it for? | Frames all technical decisions |
| What problem are we solving? What's painful now? | Ensures we're solving real problems |
| How will we know if it's successful? | Defines done, prevents scope creep |
| What's the timeline? MVP vs full launch? | Determines build vs buy, complexity tolerance |
| Who's building this? Solo, small team, org? | Affects architecture, tooling choices |
| What's the budget for infrastructure/services? | Managed vs self-hosted decisions |
2-10. Every other layer
When the interview reaches a layer the user has not already decided, read ${CLAUDE_SKILL_DIR}/references/stack-menu.md and use that layer's option list and separating questions. This covers framework, database, ORM, auth, API style, styling, hosting, integrations, and testing. Do not name options from memory. The file exists so the trade-off you quote is the one you quote next time.
Conducting discovery
Opening
"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?"
During discovery
- Group related decisions: "So for the data layer, we're going with Postgres on Supabase with Drizzle ORM. That gives us..."
- Flag decisions that need more thought: "Let's come back to the auth flow once we understand the user types better"
- Challenge weak reasoning: "You said 'because everyone uses it'. Is that the right reason for your specific case?"
Closing discovery
"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?"
What to produce
-
Read
${CLAUDE_SKILL_DIR}/references/output-templates.mdand writeCLAUDE.md, the folder skeleton, and the config files it lists. -
The rule corpus is
${CLAUDE_SKILL_DIR}/references/coding-standards.md. You need it once, when writingPATTERNS.md. Read it then, copy across only the rules the chosen stack actually uses, and delete the rest. A rule for a library the project does not have is a rule the agent will misapply. -
Copy all four files in
${CLAUDE_SKILL_DIR}/references/lib-files.mdintolib/verbatim. Every downstream rule in the rule corpus assumes these exact signatures.
The run is done when CLAUDE.md names a decision for every category in ${CLAUDE_SKILL_DIR}/references/stack-menu.md, including categories decided as "not needed", with the reason. PATTERNS.md exists and contains only rules the chosen stack uses. All four files from ${CLAUDE_SKILL_DIR}/references/lib-files.md are in lib/. An unnamed category is an undiscovered one. Go back and ask.