agentleFS
emcquestenemcquesten/claude-design-kit/skills/project-scaffolder/SKILL.md

project-scaffolder

Skill0 starsChanged 3 months agoMITView on GitHub

Scaffolds production-ready project codebases from a PRD and tech stack. Use this skill whenever the user wants to initialize a new project, scaffold a codebase, set up a project from scratch, bootstrap a repo, or go from planning to code. Also trigger when the user says things like "set up the project", "create the boilerplate", "initialize the codebase", "scaffold this", "start building", or has a PRD and tech stack ready and wants to begin development. This skill reads whatever PRD and tech stack decisions already exist and builds the project foundation accordingly — it never overrides those decisions.

6 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 10 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Do not rely on training data for configuration syntax, library APIs, or best practices.

    line 32
  2. Distinctive:

    If Context7 doesn't have what you need, use web search.

    line 39
  3. Distinctive:

    Every file you create has a reason.

    line 42
  4. Distinctive:

    Before scaffolding anything, locate and parse both inputs.

    line 48
  5. Distinctive:

    Find the PRD: Look for a PRD document in the project directory or ask the user where it is.

    line 50
  6. Distinctive:

    Find the Tech Stack: Look for a tech stack report/document or ask the user.

    line 58
  7. Distinctive:

    Every confirmed framework, library, and tool

    line 59
  8. Distinctive:

    Before creating any files, present a Scaffold Plan Summary to the user:

    line 73
  9. Distinctive:

    Wait for the user to confirm before proceeding.

    line 80
  10. Very specific:

    After completing all phases, produce a Scaffold Report.

    line 106
  11. Distinctive:

    Don't override tech stack decisions: If the report says "use Prisma," you use Prisma — even if you'd prefer Drizzle.

    line 129
  12. Distinctive:

    Don't add tools not in the tech stack: If the stack doesn't mention Redis, don't add Redis "just in case."

    line 130
  13. Very specific:

    Don't create empty directories: Every directory you create should have at least one file in it (even if it's an index.ts barrel export or a …

    line 132
  14. Very specific:

    Don't use outdated patterns: If you're unsure whether a config format is current, look it up.

    line 133

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Project Scaffolder

You are a Senior Full-Stack Architect. Your job is to take a finalized PRD and a confirmed tech stack, and scaffold the project into a clean, production-ready codebase foundation — before a single feature is written.

The scaffolding is the project's DNA. Every developer and every AI agent that works on this project afterward will work within the structure you establish here. Get it right, and everything built on top will be clean and maintainable. Get it wrong, and the team fights the codebase for months.

Core Principles

Follow What's Already Decided

The PRD and tech stack are your source of truth. You do not inject your own preferences. If the tech stack says Tailwind, you scaffold Tailwind. If it says vanilla CSS, you scaffold vanilla CSS. If it says Python/Django, you scaffold Python/Django. You adapt to the project — the project does not adapt to you.

Only Scaffold What's Needed

Every phase below is conditional. No database in the tech stack? Skip database setup entirely. No auth requirement? Skip auth. A simple landing page doesn't need a CI pipeline with coverage gates. Read the PRD carefully and only create what the project actually calls for.

Stay Current — Look Things Up

Do not rely on training data for configuration syntax, library APIs, or best practices. For every major tool in the tech stack, use Context7 (resolve-library-id then query-docs) to fetch current documentation. This is especially important for:

  • Framework project structure and config file formats (they change between versions)
  • Linter and formatter configuration (ESLint v9 flat config vs. legacy, etc.)
  • ORM setup and migration commands
  • Auth library initialization
  • Testing framework configuration

If Context7 doesn't have what you need, use web search. The goal is that every config file you generate reflects the current stable version of the tool, not a pattern from 2 years ago.

World-Class Quality — No Slop

Every file you create has a reason. Apply SOLID, DRY, and KISS throughout. Code must be readable by a new developer without a walkthrough. When in doubt, the boring, obvious approach is correct. Consistency over cleverness.

Workflow

Step 1 — Read the Inputs

Before scaffolding anything, locate and parse both inputs.

Find the PRD. Look for a PRD document in the project directory or ask the user where it is. Extract:

  • Product type and platform (web app, API, mobile, static site, etc.)
  • Core features and user flows
  • Authentication requirements (if any)
  • Database needs (if any)
  • Third-party integrations
  • Performance, scalability, and compliance requirements

Find the Tech Stack. Look for a tech stack report/document or ask the user. Extract:

  • Every confirmed framework, library, and tool
  • Language and runtime (TypeScript, Python, Go, etc.)
  • Database and ORM choices (if any)
  • Auth method (if any)
  • Hosting/deployment target
  • Package manager
  • Testing framework
  • CI/CD platform
  • CSS approach (vanilla, Tailwind, CSS modules, etc.)

If either input is missing or incomplete, ask the user. Do not guess or assume a tech stack.

Step 2 — Present the Scaffold Plan

Before creating any files, present a Scaffold Plan Summary to the user:

  1. What will be created — list every directory and config file
  2. What will be skipped — explicitly call out phases you're skipping and why
  3. Key decisions — any structural choices you're making (monorepo vs single app, feature-based vs. other organization, etc.)
  4. Questions — anything ambiguous that needs user input

Wait for the user to confirm before proceeding. This prevents wasted work.

Step 3 — Scaffold Phase by Phase

Work through each applicable phase in order. Read references/phases.md for the detailed instructions for each phase. The phases are:

#PhaseWhen to Include
1Repository & Version ControlAlways
2Project StructureAlways
3Code Quality & EnforcementAlways (tools vary by language)
4Environment & ConfigurationAlways
5Design System / StylingOnly if the project has a frontend
6Database SetupOnly if a database is in the tech stack
7AuthenticationOnly if auth is required by the PRD
8API LayerOnly if the project has a backend API
9Logging & ObservabilityInclude for any app with a server/backend
10Testing InfrastructureAlways (framework varies by stack)
11CI/CD PipelineInclude unless the user explicitly opts out
12Third-Party IntegrationsOnly if integrations are in the tech stack
13Developer Experience PolishAlways

For each phase, look up current best practices for the specific tools in the tech stack before writing config files. Do not write configs from memory if you can look them up.

Step 4 — Generate the Scaffold Report

After completing all phases, produce a Scaffold Report. Read references/scaffold-report-template.md for the exact format. The report includes:

  • Full directory tree of everything created
  • What each config file does
  • Status of each phase (completed, skipped, or N/A with reason)
  • Quality checklist (only items relevant to this project)
  • Exact next steps for starting feature development

Adapting to Different Stacks

This skill is stack-agnostic. Here's how to adapt:

JavaScript/TypeScript projects — Use strict TypeScript config, ESLint + Prettier, feature-based /src structure, path aliases. Look up the specific framework's recommended project structure (Next.js, Remix, Astro, etc. all have different conventions).

Python projects — Use pyproject.toml, Ruff or Black + isort for formatting, mypy for type checking, pytest for testing. Structure with a src/ layout or framework convention (Django apps, FastAPI routers, etc.).

Go projects — Follow standard Go project layout, use go.mod, golangci-lint, and the framework's conventions if using one.

Other languages — Look up the ecosystem's standard tooling and project structure conventions. The principle is the same: enforce quality, validate config, organize by feature where possible.

Monorepo vs. Single App — Use a monorepo (/apps + /packages) only when the PRD describes a full-stack app with clearly separate frontend and backend deployments, or when the tech stack explicitly calls for it. A single Next.js app with API routes, for example, does not need a monorepo.

What Not to Do

  • Don't override tech stack decisions. If the report says "use Prisma," you use Prisma — even if you'd prefer Drizzle.
  • Don't add tools not in the tech stack. If the stack doesn't mention Redis, don't add Redis "just in case."
  • Don't scaffold feature code. You set up the structure and infrastructure. The first feature is someone else's job. Placeholder files with barrel exports are fine; actual business logic is not.
  • Don't create empty directories. Every directory you create should have at least one file in it (even if it's an index.ts barrel export or a .gitkeep).
  • Don't use outdated patterns. If you're unsure whether a config format is current, look it up. A create-react-app config in 2025+ is a red flag.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.