spec-generator

Interview user in-depth to create a detailed spec

16 stars

Best use case

spec-generator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Interview user in-depth to create a detailed spec

Teams using spec-generator 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

$curl -o ~/.claude/skills/spec-generator/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/tools/spec-generator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/spec-generator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How spec-generator Compares

Feature / Agentspec-generatorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Interview user in-depth to create a detailed spec

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-generator — Interview-driven spec generation

Interview the user in-depth using AskUserQuestion to produce a comprehensive, detailed specification file.

## Workflow

1. Read the user's instructions (passed as arguments)
2. Begin an in-depth interview using AskUserQuestion
3. Ask probing, non-obvious questions across all dimensions
4. Continue interviewing until thorough coverage is achieved
5. Write the final spec to a file

## Interview Strategy

### Phase 1: Core Vision

- What problem does this solve and for whom?
- What does success look like? What are the measurable outcomes?
- What existing solutions have been considered and why are they insufficient?

### Phase 2: Technical Deep-Dive

- Architecture: monolith vs microservices, data flow, state management
- Data model: entities, relationships, constraints, migrations
- API design: endpoints, auth, rate limiting, versioning
- Infrastructure: hosting, scaling, caching, CDN, CI/CD
- Dependencies: third-party services, libraries, licensing concerns

### Phase 3: UI & UX

- User flows: entry points, happy paths, error states
- Interaction patterns: real-time vs batch, optimistic updates
- Accessibility: screen readers, keyboard nav, color contrast
- Responsive behavior: breakpoints, mobile-first considerations
- Loading states, empty states, skeleton screens

### Phase 4: Edge Cases & Constraints

- Concurrency: race conditions, optimistic locking, conflict resolution
- Failure modes: network errors, partial failures, retry strategies
- Security: auth model, data encryption, input validation, CSRF, XSS
- Performance budgets: load times, bundle sizes, database query limits
- Data volume: pagination, infinite scroll, search indexing

### Phase 5: Tradeoffs & Decisions

- Build vs buy decisions
- Consistency vs availability tradeoffs
- Speed-to-market vs long-term maintainability
- Scope: what is explicitly out of scope for v1?
- Migration path: how to get from current state to target state

### Phase 6: Operational Concerns

- Monitoring and alerting requirements
- Logging and debugging strategy
- Rollback and deployment strategy
- Testing strategy: unit, integration, e2e, visual regression
- Documentation needs: API docs, runbooks, onboarding

## Interview Rules

- Ask ONE focused question at a time (never batch multiple questions)
- Do NOT ask obvious or surface-level questions
- Follow up on vague answers — push for specifics
- Challenge assumptions respectfully when they seem risky
- Adapt questions based on previous answers (skip irrelevant phases)
- If the user says "that's it" or "done", wrap up immediately
- Aim for 10-20 questions depending on project complexity

## Output Format

Write the spec to `SPEC.md` (or a filename specified by the user) with this structure:

```markdown
# [Project Name] — Specification

## Overview
[1-2 paragraph summary of what this is and why it exists]

## Goals & Success Criteria
- [Measurable outcome 1]
- [Measurable outcome 2]

## User Stories
- As a [role], I want [capability] so that [benefit]

## Technical Architecture
### System Design
[Architecture decisions, data flow diagrams in text]

### Data Model
[Entities, relationships, constraints]

### API Design
[Endpoints, auth, contracts]

## UI/UX Specification
### User Flows
[Step-by-step flows for key interactions]

### Wireframe Descriptions
[Text descriptions of key screens/components]

## Edge Cases & Error Handling
[Documented edge cases and how they're handled]

## Security Considerations
[Auth, encryption, validation, threat model]

## Performance Requirements
[Budgets, benchmarks, scaling expectations]

## Tradeoffs & Decisions
[Key decisions made during the interview with rationale]

## Out of Scope (v1)
[Explicitly excluded items]

## Open Questions
[Unresolved items that need further discussion]
```

## Prompt

Follow the user instructions and interview me in detail using the AskUserQuestion tool about literally anything: technical implementation, UI & UX, concerns, tradeoffs, etc. Make sure the questions are not obvious — be very in-depth and continue interviewing me continually until it's complete. Then, write the spec to a file.

## Guidelines

- Never skip the interview — always ask questions, even if instructions seem complete
- Prefer depth over breadth — 3 deep questions on architecture beats 10 shallow ones
- The spec should be detailed enough that another developer can implement from it alone
- Include direct quotes from user answers when they capture intent well
- Flag any contradictions discovered during the interview

Related Skills

viral-generator-builder

16
from diegosouzapw/awesome-omni-skill

Expert in building shareable generator tools that go viral - name generators, quiz makers, avatar creators, personality tests, and calculator tools. Covers the psychology of sharing, viral mechanic...

typespec-m365-copilot

16
from diegosouzapw/awesome-omni-skill

Guidelines and best practices for building TypeSpec-based declarative agents and API plugins for Microsoft 365 Copilot Triggers on: **/*.tsp

terragrunt-generator

16
from diegosouzapw/awesome-omni-skill

Comprehensive toolkit for generating best practice Terragrunt configurations (HCL files) following current standards and conventions. Use this skill when creating new Terragrunt resources (root configs, child modules, stacks, environment setups), or building multi-environment Terragrunt projects.

steering-specs-generator

16
from diegosouzapw/awesome-omni-skill

Extract tacit engineering knowledge through guided interviews and generate structured steerings. Use when user mentions "steerings", "tacit knowledge", "conventions", "engineering practices", "interview", or wants to document team/project knowledge. Also activates when user asks for "steerings for X", "document X conventions", "continue steerings", "resume interview", or wants to extract knowledge about a specific topic. Supports reviewing and transforming existing steerings to standard format. Auto-detects existing sessions and offers to continue incomplete ones.

spider-generator

16
from diegosouzapw/awesome-omni-skill

Generate Scrapy spiders with best practices when creating new spiders, crawlers, or implementing scraping patterns. Automatically scaffolds spiders based on target website type and requirements.

speckit-check

16
from diegosouzapw/awesome-omni-skill

Run `specify check` to verify that Spec Kit required tools (git, claude, gemini, code, cursor-agent, windsurf, qwen, opencode, codex, shai, qoder, etc.) are installed and available; interpret results and suggest next steps. Use when the user says "check Spec Kit environment", "specify not working", or "slash commands not showing".

spec-workflow-orchestrator

16
from diegosouzapw/awesome-omni-skill

Orchestrate comprehensive planning phase from ideation to development-ready specifications using 4 specialized agents

spec-driven-development

16
from diegosouzapw/awesome-omni-skill

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.

schematic-generator

16
from diegosouzapw/awesome-omni-skill

Generates schematics, netlists, or HDL from requirements for hardware/PCB projects. Validates physical constraints. Use when building PCB, HDL, or hardware designs from approved requirements.

repo-docs-generator

16
from diegosouzapw/awesome-omni-skill

Generate comprehensive AGENTS.md, README.md, and CLAUDE.md documentation for any repository. Deep-dives into codebase structure, identifies technologies, creates ASCII architecture diagrams, and respects existing documentation content.

promql-generator

16
from diegosouzapw/awesome-omni-skill

Comprehensive toolkit for generating best practice PromQL (Prometheus Query Language) queries following current standards and conventions. Use this skill when creating new PromQL queries, implementing monitoring and alerting rules, or building observability dashboards.

PRD Generator for TaskMaster

16
from diegosouzapw/awesome-omni-skill

Smart PRD generator with TaskMaster integration. Detects existing PRDs and offers execute/update/replace options. Generates comprehensive technical PRDs optimized for task breakdown, validates with 13 automated checks, and optionally executes tasks autonomously with datetime tracking and rollback support. Use when user requests "PRD", "product requirements", or mentions task-driven development. Default: PRD generation + handoff to TaskMaster. Optional: autonomous execution with 4 modes.