Agent skill · Documentation

spec-to-repo

Use when the user says 'build me an app', 'create a project from this spec', 'scaffold a new repo', 'generate a starter', 'turn this idea into code', 'bootstrap a project', 'I have requirements and need a codebase', or provides a natural-language project specification and expects a complete, runnable repository. Stack-agnostic: Next.js, FastAPI, Rails, Go, Rust, Flutter, and more.

Alireza Rezvani23,369★ · +428/wk · 1 repos on radarProfile →
claude-codecodexcursorships scriptsMIT
Install
npx skills add alirezarezvani/claude-skills --skill spec-to-repo --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 10 KB
Bundled scripts: yes
Path: product-team/skills/spec-to-repo/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 23,791 · +422 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Spec to Repo Turn a natural-language project specification into a complete, runnable starter repository. Not a template filler — a spec interpreter that generates real, working code for any stack. ## When to Use - User provides a text description of an app and wants code - User has a PRD, requirements doc, or feature list and needs a codebase - User says "build me an app that...", "scaffold this", "bootstrap a project" - User wants a working starter repo, not just a file tree **Not this skill** when the user wants a SaaS app with Stripe + Auth specifically — use `product-team/saas-scaffolder` instead. ## Core Workflow ### Phase 1 — Parse & Interpret Read the spec. Extract these fields silently: | Field | Source | Required | |-------|--------|----------| | App name | Explicit or infer from description | yes | | Description | First sentence of spec | yes | | Features | Bullet points or sentences describing behavior | yes | | Tech stack | Explicit ("use FastAPI") or infer from context | yes | | Auth | "login", "users", "accounts", "roles" | if mentioned | | Database | "store", "save", "persist", "records", "schema" | if mentioned | | API surface | "endpoint", "API", "REST", "GraphQL

What's inside
Steps it walks through
  1. When to Use
  2. Core Workflow
  3. Phase 1 — Parse & Interpret
  4. Phase 2 — Architecture
  5. Phase 3 — Generate
  6. Phase 4 — Validate
  7. Examples
  8. Example 1: Task Management API
  9. Example 2: Recipe Sharing Web App
  10. Example 3: CLI Expense Tracker
  11. Anti-Patterns
  12. Validation Script
  13. scripts/validateproject.py
  14. Progressive Enhancement
Ships with 3 files
  • references/spec-parsing-guide.md
  • references/stack-templates.md
  • scripts/validate_project.py
Commands it runs
Validate a generated project
python3 scripts/validate_project.py /path/to/generated-project
JSON output
python3 scripts/validate_project.py /path/to/generated-project --format json
More from claude-skills
All skills →
About this skill
What does the spec-to-repo skill do?

Use when the user says 'build me an app', 'create a project from this spec', 'scaffold a new repo', 'generate a starter', 'turn this idea into code', 'bootstrap a project', 'I have requirements and need a codebase', or provides a natural-language project specification and expects a complete, runnable repository. Stack-agnostic: Next.js, FastAPI, Rails, Go, Rust, Flutter, and more.

How do I install it?

Run `npx skills add alirezarezvani/claude-skills --skill spec-to-repo --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From alirezarezvani/claude-skills, a repository with 23,791 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going