spec-builder
Transform vague product or feature ideas into concrete, detailed specification documents through an interactive interview process. Use when the user wants to flesh out an idea, create a spec, write requirements, plan a product/feature/prototype, or go from "I have this idea..." to a concrete document. Works for software products, physical products, services, or any concept that needs specification.
Best use case
spec-builder is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Transform vague product or feature ideas into concrete, detailed specification documents through an interactive interview process. Use when the user wants to flesh out an idea, create a spec, write requirements, plan a product/feature/prototype, or go from "I have this idea..." to a concrete document. Works for software products, physical products, services, or any concept that needs specification.
Teams using spec-builder should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/spec-builder/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How spec-builder Compares
| Feature / Agent | spec-builder | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Transform vague product or feature ideas into concrete, detailed specification documents through an interactive interview process. Use when the user wants to flesh out an idea, create a spec, write requirements, plan a product/feature/prototype, or go from "I have this idea..." to a concrete document. Works for software products, physical products, services, or any concept that needs specification.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Spec Builder Transform vague ideas into concrete, actionable spec documents through structured interviews. ## Workflow ### Phase 1: Gather Initial Context First, prompt for the idea: ``` What's the idea you'd like to turn into a spec? Describe it however it exists in your head right now - it can be vague. ``` Then ask background questions to calibrate the interview depth: ``` AskUserQuestion: 1. "What's your background?" - Technical (developer/engineer) - Semi-technical (PM, designer, technical founder) - Non-technical (business, creative, general user) 2. "What's the goal for this spec?" - MVP/prototype to test the idea - Full product spec for development - Pitch document for stakeholders - Personal reference to clarify my thinking ``` ### Phase 2: Deep Interview Conduct the interview using AskUserQuestion with **batched questions** (2-4 related questions per batch). **Rules:** - Never assume - if something is ambiguous, ask - Provide sensible default options for every question - Add "(Recommended)" to the best default option - Anticipate needs the user hasn't considered - Adapt question depth based on user's technical level **Question calibration by user background:** | Topic | Technical User | Non-Technical User | |-------|---------------|-------------------| | Architecture | "REST vs GraphQL vs tRPC?" | Skip - decide yourself | | Data storage | "SQL vs NoSQL? Which DB?" | "Does it need to remember data between sessions?" | | UI framework | "React, Vue, or Svelte?" | Skip - decide yourself | | Hosting | "Serverless, containers, or VMs?" | Skip - decide yourself | | Auth | "OAuth, magic links, or password?" | "How should users log in?" (plain language options) | | Scale | "Expected concurrent users?" | "How many people might use this at once?" | **Interview domains to cover** (adapt based on product type): For **software products**: - Core functionality (what does it do?) - User types and permissions - Key user flows (step by step) - Data model (what entities exist?) - UI/UX preferences (style, layout, interactions) - Integrations (external services, APIs) - Edge cases and error handling - Security and privacy requirements - Platform (web, mobile, desktop, CLI) For **physical products**: - Core functionality - Materials and form factor - User interaction (how do you use it?) - Manufacturing considerations - Safety requirements - Packaging and delivery For **all products**: - Success criteria (how do we know it works?) - Constraints (budget, timeline, must-haves) - Anti-goals (what it explicitly should NOT do) **Example batched question:** ``` AskUserQuestion (batch): 1. "Who are the main users of this product?" - Single user type (just me / general public) - Two distinct roles (e.g., admin + regular user) - Multiple user types (need to define each) 2. "Do users need accounts?" - No accounts needed (Recommended for MVP) - Simple accounts (email/password) - Social login (Google, GitHub, etc.) - Enterprise SSO ``` ### Phase 3: Draft Review After covering core questions (~10-15 batches), present a **draft outline**: ``` Here's the spec outline based on our conversation so far: ## [Product Name] - Spec Outline **Overview:** [1-2 sentences] **Core Features:** 1. [Feature A] 2. [Feature B] ... **User Types:** [list] **Key Flows:** [list main workflows] **Technical Approach:** [high-level decisions] **Open Questions:** [things still unclear] --- Does this capture your vision? What's missing or wrong? ``` Then use AskUserQuestion to get feedback: ``` 1. "How does this outline look?" - Looks good, continue with details - Missing something important (I'll explain) - Some parts are wrong (I'll clarify) - Let's pivot direction ``` ### Phase 4: Deep Dive Based on feedback, ask detailed follow-up questions on: - Unclear areas from the outline - Edge cases and error states - Specific UI/UX details - Technical constraints - Anything marked as "Open Questions" Continue until confident all ambiguity is resolved. ### Phase 5: Write Spec Write the final spec to `spec-<product-name>.md` in the current directory. **Spec format principles:** - Detailed enough for an AI coding agent to implement - Skimmable for human review (use headers, bullets, tables) - No vague language - every requirement must be concrete - Include explicit anti-goals and out-of-scope items - Write as a standalone document - never mention the interview process or reference "our conversation" **Spec structure** (adapt sections based on product type): ```markdown # [Product Name] Spec ## Overview [2-3 sentences: what it is, who it's for, core value prop] ## Goals & Non-Goals ### Goals - [Concrete goal 1] - [Concrete goal 2] ### Non-Goals (explicitly out of scope) - [What this product will NOT do] ## User Types [Table or list of user types and their permissions/capabilities] ## Core Features ### Feature 1: [Name] **Purpose:** [Why this feature exists] **Behavior:** - [Specific behavior 1] - [Specific behavior 2] **UI:** [Description or wireframe reference] [Repeat for each feature] ## User Flows ### Flow 1: [Name] 1. User does X 2. System responds with Y 3. User sees Z ... [Repeat for key flows] ## Data Model [Tables, entities, relationships - for software] [Components, materials - for physical products] ## Technical Decisions [Architecture choices, technologies, integrations] [Skip for non-technical users or physical products] ## Edge Cases & Error Handling - When X happens, the system should Y - If Z fails, show error message: "..." ## Open Questions [Anything that still needs resolution before building] ## Future Considerations [Ideas mentioned but explicitly deferred] ``` ## Key Principles 1. **Be thorough** - Ask many questions. 10-20 batches is normal for a complex product. 2. **Never assume** - If two interpretations are possible, ask which one. 3. **Provide defaults** - Every question should have reasonable options with a recommended choice. 4. **Adapt depth** - Technical users get technical questions; non-technical users get plain language. 5. **Surface unknowns** - Ask about things the user probably hasn't considered yet. 6. **Stay concrete** - The final spec should have zero vague requirements.
Related Skills
typescript-sdk-specialist
TypeScript SDK development with Node.js and browser support. Design SDK architecture, implement type-safe API clients, support ESM and CommonJS modules, and configure bundling for browsers.
tipalti-integration-specialist
Tipalti payment integration guide for payee onboarding, payment processing, webhooks, and tax compliance. Use when implementing payment features.
testing-strategy-builder
Use this skill when creating comprehensive testing strategies for applications. Provides test planning templates, coverage targets, test case structures, and guidance for unit, integration, E2E, and performance testing. Ensures robust quality assurance across the development lifecycle.
testing-builder
Automatically generates comprehensive test suites (unit, integration, E2E) based on code and past testing patterns. Use when user says "write tests", "test this", "add coverage", or after fixing bugs to create regression tests. Eliminates testing friction for ADHD users.
tech-specification
The master skill for generating technical specifications. Identifies project technology and delegates deep analysis to specialized sub-skills.
specs-status
현재 프로젝트의 EARS 스펙 상태 현황 표시
speckit-00-constitution
Create or update project governance principles and constitution
specialist-desenvolvimento-frontend
Especialista em desenvolvimento frontend com componentes, pages e hooks alinhados com design e API.
spec-workflow
Standard software engineering workflow for requirement analysis, technical design, and task planning. Use this skill when developing new features, complex architecture designs, multi-module integrations, or projects involving database/UI design.
spec-workflow-orchestrator
Orchestrate comprehensive planning phase from ideation to development-ready specifications using 4 specialized agents
spec-requirements
Generate comprehensive requirements definition documents with technology selection and improvement suggestions
spec-driven-development
Guide for implementing Specification-Driven Development in any project using GitHub's spec-kit. Use when users want to start spec-driven development, need to initialize spec-kit in a project, or want guidance on the spec-kit workflow (constitution, specify, clarify, plan, tasks, implement). Covers installation, initialization, and step-by-step prompts for each phase.