Scaffold
Skill hamza-ali-shahjahan/hamzaish/_archive/v0/skills/scaffold
One-shot a new product — folders, Next.js starter, product.config.json, CLAUDE.md, scope.md, PRD skeleton, SETUP.md checklist. The Lovable-like ignition.From its SKILL.md
npx -y skills add hamza-ali-shahjahan/hamzaish --skill scaffoldAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.1 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
/scaffold
Usage: /scaffold "<slug>" "<one-liner>"
Example: /scaffold "formpad" "A form builder for indie SaaS founders that auto-generates schema from prompts."
What this does
Creates a complete starting point for a new product:
-
Folder structure at
products/<slug>/:products/<slug>/ ├── product.config.json ├── CLAUDE.md ├── scope.md ├── prd.md ├── metrics.md (skeleton, fill in via metric-framework-designer later) ├── SETUP.md (the one-time setup checklist) ├── README.md ├── decisions/ │ └── 0001-scaffold.md ├── interviews/ │ └── README.md ├── launch/ │ └── README.md ├── analytics/ │ └── README.md └── code/ → symlink or new Next.js app (see step 2) -
Next.js starter — copies
templates/product-starter-nextjs/toproducts/<slug>/code/with the name, slug, and one-liner substituted into:package.json(name).env.example(NEXT_PUBLIC_APP_NAME)src/app/(marketing)/page.tsx(hero copy)src/app/layout.tsx(default metadata)next.config.mjs(if needed)README.md
-
product.config.json — the dashboard registry entry:
{ "slug": "<slug>", "name": "<Title Case Name>", "one_liner": "<one-liner>", "created": "<ISO date>", "stage": "idea", "status": "scaffolded", "code_path": "products/<slug>/code", "aliases": [], "analytics": { "stripe_account_id": null, "posthog_project_id": null, "ga4_measurement_id": null, "plausible_domain": null, "sentry_org": null, "sentry_project": null, "gsc_property": null, "ahrefs_target": null }, "links": { "github": null, "prod_url": null, "staging_url": null } } -
CLAUDE.md in the product folder — uses
templates/claude-md-template.mdwith substitutions. -
scope.md — uses
templates/scope-doc-template.md, with Claude's first-pass fill from the one-liner. User edits in next session. -
PRD skeleton — uses
templates/prd-template.md, Claude pre-fills sections that can be inferred from the one-liner; rest are clearly marked TODO. -
SETUP.md — the exact 11-step setup checklist from
stack/analytics-stack.md, with the product's specific URLs for service signups pre-filled. -
First decision log entry in
decisions/0001-scaffold.md:## YYYY-MM-DD — Scaffolded Created via /scaffold. One-liner: "<one-liner>". Stage: idea. Stack: default per stack/tech-stack.md. Next: complete SETUP.md, run /validate <slug>.
What you do as the assistant when this is invoked
- Parse
<slug>and<one-liner>from the user's invocation. - Validate slug: lowercase, hyphens only, no spaces. If invalid, ask for correction.
- Validate uniqueness: error if
products/<slug>/exists. - VALIDATION GATE: Unless the user said "skip validation" or explicitly the user already has validation evidence (cite the source: e.g.
products/<slug>/validation/snapshot.mdfrom a prior/validaterun), ask: "I don't see validation evidence for this product. Are you sure you want to scaffold before validating? (yes / run /validate first)" - If user proceeds: create folder structure, copy template, do the substitutions.
- Generate the doc skeletons by reading the templates and filling from the one-liner.
- Print the SETUP.md checklist as the final message so the user knows the manual steps remaining.
- Print "next: run
pnpm install && pnpm devin products/<slug>/code/ — landing page should boot at localhost:3000".
Edge cases
- If
templates/product-starter-nextjs/doesn't exist yet, scaffold the doc files only and tell the user to wait for the starter (Phase C of this build pass). - If user provides only
<slug>without<one-liner>, ask for the one-liner once. Don't proceed without it.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.