Generate a comprehensive project specification document through an interactive interview process
Generates comprehensive project specifications through interactive interviews and documentation queries.
/plugin marketplace add Linaqruf/cc-plugins/plugin install project-spec@cc-plugins[project-type: web-app | cli | api | library]Generate a comprehensive project_spec.md through structured interviews before building.
First, check if a project_spec.md already exists:
If a project type argument was provided:
web-app: Focus on frontend, backend, database, auth questionscli: Focus on commands, arguments, distribution questionsapi: Focus on endpoints, authentication, data models questionslibrary: Focus on public API, documentation, publishing questionsIf no argument, determine project type during interview.
Use AskUserQuestion to gather information. Ask 2-4 questions per interaction.
Phase 1: Product Requirements
Start with:
Questions about your project:
1. What problem does this project solve? (one sentence)
2. Who is the target user?
3. What are the 3-5 must-have features for MVP?
Follow up with:
Questions about scope:
1. What features are explicitly out of scope for now?
2. Any existing products that inspired this?
Phase 2: Technical Design
Based on project type, ask about tech stack:
Technical preferences:
1. Frontend framework? (Next.js, Vue, Svelte, none)
2. Backend approach? (Node.js, Python, serverless, none)
3. Database needs? (PostgreSQL, MongoDB, SQLite, none)
4. Deployment target? (Vercel, AWS, self-hosted)
Phase 3: Constraints
Project constraints:
1. Solo developer or team?
2. Any existing codebase to integrate with?
3. Budget constraints for paid services?
After tech choices are made, use Context7 MCP to fetch relevant documentation:
Example:
For Next.js + Prisma + PostgreSQL:
- Query Next.js: "app router setup authentication"
- Query Prisma: "PostgreSQL schema best practices"
Write the specification to the project root with all sections:
# Project Specification: [Name]
## Overview
- Problem Statement
- Solution
- Target Users
- Success Criteria
## Product Requirements
- Core Features (MVP) with user stories
- Future Scope
- Out of Scope
## Technical Architecture
- Tech Stack table
- System Design diagram
- Data Models
- API Endpoints (if applicable)
## File Structure
- Proposed directory layout
## Dependencies
- Production and dev dependencies
## Environment Variables
- Required configuration
## Development Phases
- Logical groupings of work
## Open Questions
- Unresolved decisions
## References
- Documentation links
After generating, ask user:
I have created project_spec.md with [X] sections covering [summary].
Would you like me to:
1. Walk through any section in detail?
2. Add more details to specific areas?
3. Proceed with development?
./project_spec.md in the current working directoryIf the user stops responding or wants to exit early:
/spec againIf Context7 MCP queries fail:
If unable to write project_spec.md:
If user provides an unrecognized project type argument:
For detailed question banks and templates, refer to:
${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/references/interview-questions.md${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/references/output-template.mdFor example specifications:
${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/examples/web-app-spec.md${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/examples/cli-spec.md${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/examples/api-spec.md${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/examples/library-spec.md${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/examples/design-spec.md${CLAUDE_PLUGIN_ROOT}/skills/spec-writing/examples/feature-spec.md