new-project
Skill25 starsChanged 6 months agoMITView on GitHub
Kickstart a new project by interviewing for context, choosing Astro or Next.js and extras, then scaffolding a barebones app on Vercel with Tailwind, base shadcn/ui, pnpm, Vitest, a `pnpm check` gate, AGENTS.md, a plain-language README, a CHANGELOG, and a GitHub repo under `jcottam`. Use when the user says "new project", "start a project", "scaffold", "bootstrap", "init a repo", or "spin up an app".
- Reads credentials
52 other projects use a version of this.
Adopted by
Most recently taken up by
- Skryx-L-A/project-kittheir own version, first seen Nov 15, 2026
- Walsworth-Group/physkittheir own version, first seen Nov 8, 2026
- cperler/soustheir own version, first seen Nov 8, 2026
- Mark-Life/agent-skillstheir own version, first seen Nov 6, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
- danielrosehill/Claude-Image-Production-Plugintheir own version, first seen Nov 5, 2026
Used with
Projects with it also use checkpoint, prd and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
genomewalkerSkillcheckpoint
Save a checkpoint of task status, decisions, active files, and next steps
Also in 3 projects that use this
GitHubSkillprd
Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.
Also in 3 projects that use this
sunnyclinches44Skillexplain
Explains code using real-world analogies and ASCII diagrams
Also in 3 projects that use this
SentrySkillspec
Produce a verified spec — problem, desired outcome, and acceptance criteria — before building. Use when given a GitHub/Linear issue link, when starting from a fuzzy in-conversation idea, or asked to "figure out what to do" / "scope this" / "what should I build" — whenever the *what* isn't yet pinned down. Grills the ambiguities, checks the premise against the code, and produces acceptance criteria you sign off on — then hands to design-first.
Also in 3 projects that use this
GoogleSkilldomain-modeling
Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.
Also in 4 projects that use this
SentrySkillreview
Fixture review skill.
Also in 5 projects that use this
- +1 more from getsentry
Other versions52 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 52
- hsantanna88/clo-author★ 262same name
- hugosantanna/clo-author★ 262same name
- buildomator/buildomator★ 102same name
- sneg55/agent-starter★ 76same name
- dtiger1889-ops/claude-harness-toolbox★ 31same name
- 5throck/ai-workspace-standards★ 25same name
- danielrosehill/Claude-Image-Production-Plugin★ 21same name
- pche-broken-artist/forge-of-thought★ 12same name
- ice-lfernandes/claude-spring-architect★ 11same name
- nerviz-ai/nerviz★ 11same name
42 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- content-wireframeSkill
- orientSkill
- promote-skillSkill
- review-prSkill
- shipSkill
- squash-branchSkill
- release-notesSkill
- writing-ticketsSkill
- hostSkill
- advisorSkill
- sounding-boardSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 12 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 49 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Do not create a directory, run a generator, write app files, or open a repo until all of these are true:
- Distinctive: line 37
If the user already answered something, don't re-ask.
- Distinctive: line 75
Ask enough to recommend. Discriminators:
- Distinctive: line 89
If mixed, ask which shape v0 is.
- Distinctive: line 104
Do not install or configure an extra until the answer is in v0.
- Distinctive: line 114
Build by addition: Start from nothing and add only what the current step needs.
- Very specific: line 116
Latest stable: Use @latest installers and resolve versions live.
- Very specific: line 152
Chosen v0 extras: Only those marked in v0. Follow the provider's current docs.
- Distinctive: line 158
Add Vitest with jsdom, the React plugin when React is in play, tsconfig paths, and jest-dom matchers.
- Very specific: line 166
Run pnpm check and pnpm build.
- Very specific: line 181
Add .github/workflows/check.yml that runs pnpm check on push and pull request.
- Distinctive: line 193
When a later extra (Supabase, Turso, Resend, R2, Zero Trust, or anything new) becomes a feature, follow the provider's current docs, then:
- Very specific: line 196
Add new variables to .env.example and to Vercel by hand (vercel env add).
- Distinctive: line 197
Keep secrets in server-only modules.
- Distinctive: line 198
Add at least one test for the new code path.
- Very specific: line 204
AI:: call models through the AI SDK with AI Gateway model strings (provider/model) instead of installing provider SDKs one by one.
- Distinctive: line 208
Storage: start with Vercel Blob. Move to R2 when files are large or numerous, egress cost matters, or you need S3-compatible APIs, bucket …
- Distinctive: line 214
Don't run both unless the product actually needs both.
“Common” is measured: kept by at least 6 in 10 of the 49 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.
Files
New Project
Interview first. Understand the product, pick Astro or Next.js, and decide which extras belong in v0. Then scaffold the smallest working project, verify it, and push it. Everything else gets added later, one block at a time.
The user is a senior web developer. Skip explanations of basics. Ask only what you can't infer. Do not silently fill gaps in the stack.
Gate
Do not create a directory, run a generator, write app files, or open a repo until all of these are true:
- You understand the product (name, purpose, who it's for, site vs app).
- The framework is Astro or Next.js, chosen after questions — never assumed, never a silent default.
- Each extra that could apply is in v0, later, or out. Ask; do not assume.
- You recapped the stack in a short table and the user confirmed it.
If the user already answered something, don't re-ask. Partial answers are not permission to scaffold. If they say "just start" without a framework, still ask the discriminating questions, recommend one, and wait.
Defaults vs choices
State the defaults. Only ask about them if the conversation contradicts them. Framework has no default.
| Concern | Choice |
| Framework | No default. Astro or Next.js — ask, then confirm. |
| Hosting | Vercel |
| Styling | Tailwind CSS |
| Components | shadcn/ui, base components customized in place (React; on Astro that means the React integration) |
| Package manager | pnpm |
| Tests | Vitest + Testing Library |
| Lint | ESLint, as the generator configures it |
| Repo | GitHub, jcottam org, private unless told otherwise |
Interview
Work in rounds. Don't dump the whole list. Don't implement between rounds. Ask in the conversation; if the host has a structured question tool, use it.
1. Product
Ask:
- Project name
- One-sentence purpose
- Who uses it and what they do in it
- Is v0 a site (content, marketing, docs, brochure) or an app (auth, dashboards, mutations, user-specific data)?
- What must exist on day one vs later?
2. Framework — Astro or Next.js
Ask enough to recommend. Discriminators:
- HTML-first pages with islands of interactivity, or React as the default UI?
- Mostly public / static-capable pages, or authenticated / session-heavy flows?
- Content collections, MDX, or marketing as the core — or app routing, server mutations, and dashboard UI?
Recommend explicitly, with one or two lines of why:
- Astro — content-led sites, marketing, docs, portfolios, mostly public pages, islands of interactivity
- Next.js (App Router, TypeScript,
src/) — app-led products, auth, dashboards, mutations, React-default UI
If mixed, ask which shape v0 is. Do not pick one without confirmation.
3. Extras — ask; none ship in v0 unless yes
For each extra that could apply, ask in v0 / later / out. Skip only when the purpose makes it nonsense. When in doubt, ask.
| Extra | Discriminators |
| Database | Supabase (Postgres, Auth, Realtime) vs Turso (libSQL / SQLite at the edge, lighter) vs none |
| Storage | Vercel Blob (simple, Vercel-native) vs Cloudflare R2 (scale, cost, S3, access outside Vercel) vs none |
| Resend vs none | |
| AI | Vercel AI Gateway through the AI SDK vs none |
| Edge and access | Cloudflare DNS / domains and/or Zero Trust (Access) vs none |
Do not install or configure an extra until the answer is in v0. "Later" is not a yes. Never add an extra because it appears on this list.
4. Recap
Print a short stack table: framework, defaults, each extra as in / later / out. Wait for go-ahead. Then scaffold.
Rules
- Build by addition. Start from nothing and add only what the current step needs. No speculative packages, folders, or abstractions.
- Latest stable. Use
@latestinstallers and resolve versions live. Never pin from memory. No canary, beta, or RC. - Trust the generator's current output, not your memory of it. Defaults shift between majors (lint config, Tailwind config, CLI flags). Read what was generated before building on it.
- Green before push.
pnpm checkandpnpm buildpass before the first push.
Steps
- Interview (see above). Stop here until the gate is met.
- Scaffold the chosen framework. Pass flags rather than interactive
prompts. If a flag is rejected, check
--helpand current docs.- Next.js:
pnpm create next-app@latest <name>with TypeScript, Tailwind, ESLint, App Router,src/,@/*alias. - Astro:
pnpm create astro@latest <name>with TypeScript (current default), Tailwind, and the React integration. Add the official Vercel adapter. Ensure@/*→./src/*intsconfig. pnpm dlx shadcn@latest initwith defaults (Astro: current Astro template / docs).- Set
"version": "0.1.0",packageManager(current pnpm), andengines.node(current LTS) inpackage.json.
- Next.js:
- Strip to zero. Replace the demo home page with a
<main>holding an<h1>(project name) and the purpose sentence. Delete demo assets inpublic/. Set real title / metadata in the root layout. Add an empty.env.example. - Base features.
- Dark mode: shadcn mode toggle on the home page. Next.js:
next-themesprovider in the root layout. Astro: follow current shadcn Astro theming (class on<html>, toggle as a React island). Do not invent a package. - Vercel Analytics and Speed Insights in the root layout, using the current package for that framework.
- Dark mode: shadcn mode toggle on the home page. Next.js:
- Chosen v0 extras. Only those marked in v0. Follow the provider's
current docs. Add variables to
.env.example(and to Vercel by hand later withvercel env add). Keep secrets in server-only modules. Skip this step when every extra is later or out. - Tests and
pnpm check.- Add Vitest with jsdom, the React plugin when React is in play, tsconfig paths, and jest-dom matchers.
- One smoke test that renders the home page and asserts the
<h1>. Add a test for each v0 extra that introduced a code path. - Scripts:
lint,typecheck(tsc --noEmiton Next.js;astro checkor current Astro equivalent),test(vitest run),test:watch, andcheckrunning lint, typecheck, then test. Add ESLint if the generator didn't. - Run
pnpm checkandpnpm build; fix until green.
- Docs.
AGENTS.md: purpose, stack table (actual choices, including extras in / later / out), commands, and conventions (build by addition, add shadcn components through the CLI, server-only secrets stay out of client code, new features ship with a test,pnpm checkbefore commit). Under ~60 lines. SymlinkCLAUDE.mdto it.README.md: 8th-grade reading level. What it is, what it does, how to run it, and how to check it. No badges or empty sections.CHANGELOG.md:# Changelogheader, then## [0.1.0] - <today>with### Featureslisting "Initial project setup".
- Ship it.
- Commit, then
gh repo create jcottam/<name> --private --source=. --push. - Add
.github/workflows/check.ymlthat runspnpm checkon push and pull request. vercel linkand connect the Git repo. Confirm the first deployment succeeds.
- Commit, then
- Report the repo URL, the deployment URL, the
pnpm checkresult, the chosen framework, extras in / later / out, the resolved versions of the framework, React, Tailwind, and shadcn, and any assumptions or skipped steps.
Adding blocks later
When a later extra (Supabase, Turso, Resend, R2, Zero Trust, or anything new) becomes a feature, follow the provider's current docs, then:
- Add new variables to
.env.exampleand to Vercel by hand (vercel env add). - Keep secrets in server-only modules.
- Add at least one test for the new code path.
- Note it in the AGENTS.md stack table and, if it changes setup, the README.
- Run
pnpm check.
Choices that need judgment when they come up:
- AI: call models through the AI SDK with AI Gateway model strings
(
provider/model) instead of installing provider SDKs one by one. On Vercel, auth comes from OIDC (vercel env pulllocally); useAI_GATEWAY_API_KEYonly outside Vercel. - Storage: start with Vercel Blob. Move to R2 when files are large or numerous, egress cost matters, or you need S3-compatible APIs, bucket policies, or access from outside Vercel. Keep storage behind one small module so the swap touches one file.
- Database: Supabase when you want Postgres plus Auth / Realtime. Turso when you want libSQL / SQLite at the edge and a smaller footprint. Don't run both unless the product actually needs both.
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
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.

