start-project
Skill34 starsChanged 52 days agoApache-2.0View on GitHub
The technical on-ramp to a fresh project. Where /spark draws out the ESSENCE and refuses to talk tech, start-project does the opposite. It surveys the technical infrastructure up front (existing setup, language, database, cloud/hosting, CI/CD, deployment, testing, package manager), turns the answers into the docs layer (CLAUDE.md + docs/) plus an ordered setup plan (docs/SETUP.md) and guideline docs for deployment, CI/CD, and testing (docs/DEPLOYMENT.md, docs/CI_CD.md, docs/TESTING.md), then verifies the result with a fresh evaluator. Supports "pointing" (aim it at an existing project on disk and it copies/adapts that project's stack, CI, and conventions) and ships a neutral skeleton (skills/start-project/example/) it falls back to when you have no project to point at. Trigger on "/start-project", "set up the docs and infrastructure", "scaffold the project", "start a project with this stack", "copy the setup from <project>", "I know my stack, lay it down".
9 other projects use a version of this.
Adopted by
Most recently taken up by
- rpraharaj/ai-sdlctheir own version, first seen Nov 1, 2026
- rpraharaj/ai-engineertheir own version, first seen Nov 1, 2026
- jasonku09/altitude-skillstheir own version, first seen Nov 1, 2026
- 26zl/universal-agent-skillstheir own version, first seen Oct 13, 2026
- jcarlosrodicio/normatheir own version, first seen Oct 9, 2026
- joelaharris98/legal-ai-engineering-labtheir own version, first seen Sep 3, 2026
Used with
Projects with it also use write-tests and commit.
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.
SentrySkillwrite-tests
Write tests following project conventions. Use when adding new tests or modifying existing ones.
Also in 3 projects that use this
SentrySkillcommit
Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.
Also in 3 projects that use this
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- jasonku09/altitude-skills★ 27same name
- 26zl/universal-agent-skills★ 2same name
- joelaharris98/legal-ai-engineering-lab★ 2same name
- jcarlosrodicio/norma★ 1same name
- markyafi1991/project-delivery-pack★ 1same name
- pi247/classic-PM-skills★ 1same name
- rpraharaj/ai-engineer★ 1same name
- yuuuguuu123-lgtm/start-project-skill★ 1same name
- rpraharaj/ai-sdlc★ 0same name
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.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Before surveying, ask how they want to supply the answers.
- Distinctive: line 33
Ask in two small batches. Wait for batch one before sending batch two.
- Distinctive: line 37
Do you have any existing infrastructure to build on (a repo, a cluster, a database, an account), or is this truly from zero?
- Very specific: line 100
When you write any of SETUP.md, DEPLOYMENT.md, CI_CD.md, or TESTING.md, add it to the CLAUDE.md wiring block and the HANDOFFS.md "where …
- Distinctive: line 116
Does not: write application code, provision live infrastructure, or grade its own docs.
“Common” is measured: kept by at least 6 in 10 of the 8 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
Start Project (stack + infra → docs, guided)
The repo has two front doors already. /spark starts from an idea in your head and deliberately refuses to talk tech. /apply starts from a codebase that already exists and documents it from the truth of the code. Start-project is the third door: you're starting fresh, but you already have technical decisions to make (a database, a cloud, a CI/CD stance, a testing approach). This is the mirror image of /spark: it puts the technical infrastructure front and center, surveys it deliberately, and lays down the docs and a setup plan so the build starts on solid ground.
You own the survey and the write. You do not write application code or provision live infrastructure: you capture the decisions, fill the docs, and produce an ordered setup checklist for the builder (human or agent) to execute.
The one rule
Capture decisions and reasons, not guesses. Every stack line needs the reason behind it, because a choice without a reason gets "helpfully" swapped the first time the model has a different idea (docs/TECH_STACK.md says this too). Where the human hasn't decided, do not invent a decision. Write <!-- unconfirmed: the open question -->. A doc that states a confident wrong stack is worse than one that admits the gap.
Phase 1: Pick the source
Before surveying, ask how they want to supply the answers. Four modes:
- Survey: answer the infrastructure questions from scratch (Phase 2).
- Point: aim at an existing project ("copy the setup from
~/projects/foo"). Read that project's manifests/lockfiles, CI config, test setup, Dockerfiles, and its owndocs//CLAUDE.mdif present. Extract its stack, conventions, and infra decisions and reuse them as the answers, adapted to this project's name and intent, not copied blindly. - Hybrid: point for the parts that carry over (stack, CI, conventions), survey only what's different (this project's purpose, its database, its non-features).
- Example: no project to point at? Start from the built-in skeleton at
skills/start-project/example/(a neutralSETUP.md,DEPLOYMENT.md,CI_CD.md,TESTING.md, and aci.yml, all{{placeholder}}). Copy its files into the target'sdocs/and.github/, then fill the placeholders from a light survey. This is the fallback so nobody starts from a blank page.
If they name a path, default to Point/Hybrid and skip every question the reference project already answers; only ask what it can't tell you. If they have neither a source nor firm answers, offer Example. Play back what you mined or seeded before treating it as settled.
Phase 2: The infrastructure survey
Ask in two small batches. Wait for batch one before sending batch two. Never dump it all at once, and never answer for the human. Skip any question already answered by a pointed-at project.
Batch one, the ground it stands on:
- Do you have any existing infrastructure to build on (a repo, a cluster, a database, an account), or is this truly from zero?
- Language, framework, and package manager: the exact tools, or "propose one" if you want a recommendation with the tradeoff stated.
- Data: what database (or none), and where does it live?
- Cloud / hosting: where does this run? A platform (Vercel, Fly, a VPS), a cloud (GCP, AWS), or local-only for now?
Batch two, how it's built, shipped, and kept honest:
- CI/CD pipeline: how far does automation go? Checks (lint + type-check + test) on push, a build step, all the way to a deploy on merge? Which host (GitHub Actions, etc.)?
- Deployment: where does a release land and what triggers it? Merge to
main, a version tag, a manual promote? This is set up as part of the process, not deferred, so name the target even if it's "a VPS via SSH" or "not yet, but here's where." - Testing: preferred runner and the bar (smoke, unit, integration); any coverage gate?
- Intent, so
OVERVIEW.mdisn't hollow: one-sentence tech-free pitch, who it's for, the non-features (what it refuses to be), and any hard constraints (one package manager only, no new deps without a reason).
Phase 3: Play back the decisions
Turn the answers into a short decision sheet and show it before writing anything:
- Stack: one line per layer (language, framework, database, hosting, package manager, auth), each with its reason.
- CI/CD: how far the pipeline goes (checks → build → deploy) and the host.
- Deployment: the target and what triggers a release.
- Testing: runner and the bar.
- Intent: pitch, who for, non-features (feeds
OVERVIEW.md). - Unknowns: anything still undecided, marked as such rather than filled with a guess.
Get one "yes, that's it" before you write. A wrong read here becomes a stack of wrong docs.
Phase 4: Write the docs and the setup plan
Fill the template from the decision sheet, derived from the survey, not invented:
CLAUDE.md(repo root): lean rules, permission tiers, and the wiring block intodocs/. Keep it under ~150 lines.docs/OVERVIEW.md: what and why, tech-free. If it names a framework or database, it leaks; move that toTECH_STACK.md.docs/TECH_STACK.md: every layer with its reason and the hard constraints. This is the heart of a start-project run; fill it completely.docs/ARCHITECTURE.md: components, data flow, boundaries, and the layout tree (only folders that will actually exist).docs/CONVENTIONS.md: the naming and code patterns for the chosen stack. Don't restate rules a linter/formatter will enforce.docs/HANDOFFS.md: how work splits and is handed off; a map, not a second rulebook.docs/context/CONTINUE_PROMPT.md: seed the anchor with "scaffolded, not yet built; next step is the setup plan." Leavedocs/context/log.mdnear-empty (correct, it earns content later).docs/DESIGN.md: keep only if the project has a UI; otherwise delete it and remove its wiring line fromCLAUDE.mdand theHANDOFFS.mdtable.
Then the four infrastructure docs. These aren't in the base template; copy their skeletons from skills/start-project/example/ and fill them from the decision sheet:
docs/DEPLOYMENT.md: where a release runs and how it ships. The target, the environments, the secrets, the manual first-deploy and rollback. Deployment is decided now, not deferred: name the target even if it's "a VPS via SSH."docs/CI_CD.md: the pipeline guidelines. What runs on push/PR, the merge gate, the stages (check → build → deploy), branch/release strategy. Points atDEPLOYMENT.mdfor the target; doesn't restate it.docs/TESTING.md: the testing guidelines. The bar, the layers (unit / integration / e2e), the runner and where tests live. The intent behind the suite, not a copy of the config CI enforces.docs/SETUP.md: the ordered standup checklist (below).
The setup plan
Write the actionable checklist in docs/SETUP.md: ordered, one real command per step, a [ ] box. Stand up the test + CI guard early, before feature work, so there's a green baseline to build against instead of quality bolted on at the end. Deployment is a step in this plan, not an afterthought:
[ ] init the repo / package manager <cmd>
[ ] add the test runner + first smoke test <cmd> # the guard: a green baseline
[ ] add CI: lint + type-check + test on push .github/workflows/ci.yml
[ ] provision the database <cmd or console step>
[ ] first feature slice
[ ] wire deployment see DEPLOYMENT.md → <cmd>The division of labor to encode
- CI + tests own the how: the code-derivable facts that drift silently. Once CI enforces a rule (formatting, lint, type-check, test pass),
CONVENTIONS.mdpoints to it instead of restating it (that doc says so itself). - The docs own the why: decisions a reader can't recover from the code. Keep the reasons (which CI host, which runner, which deploy target, and why) in
TECH_STACK.mdand the three guideline docs; keep the ordered actions inSETUP.md.
When you write any of SETUP.md, DEPLOYMENT.md, CI_CD.md, or TESTING.md, add it to the CLAUDE.md wiring block and the HANDOFFS.md "where context lives" table: a doc nothing points to is a doc the model never reads.
Rules while writing: replace every {{placeholder}}; where a decision is genuinely open, write <!-- unconfirmed: … --> rather than a confident guess; don't restate what the tooling already enforces.
Phase 5: Verify (no self-grading)
You wrote it, so you don't get to say it's done. Launch one fresh evaluator sub-agent (Agent tool, harsh prompt, its own context). Hand it only the repo and this definition of done:
Every doc reflects the surveyed decisions; OVERVIEW.md names no technology; TECH_STACK.md gives a reason for every stack line; SETUP.md is an ordered, runnable checklist that matches the stack and includes a deployment step; DEPLOYMENT.md, CI_CD.md, and TESTING.md each exist, are filled, and cross-reference correctly (CI_CD points at DEPLOYMENT for the target, doesn't restate it); the wiring block in CLAUDE.md and the docs on disk match exactly: every project-context doc that exists is referenced (the two guides, README.md and why_this_works.md, count as referenced via the "further reading" line), and every reference points to a doc that exists (a skipped DESIGN.md must not still be listed); no {{placeholder}} survives; CLAUDE.md is lean; no doc contradicts another.
Tell it to read the docs, check each claim, and report issues (not causes): pass/fail per criterion with the exact file and line. Do not give it your reasoning. Then reflect, fix, and re-verify. Cap at ~2-3 rounds; if something's stuck, stop and surface it. Finish with a short report: what you wrote, what the evaluator caught, and any <!-- unconfirmed --> markers still waiting on the human.
What it owns, and what it delegates
- Owns: the source choice (survey / point / hybrid / example), the infrastructure survey, the decision playback, filling the docs template, and writing the setup plan plus the deployment/CI-CD/testing guideline docs.
- Delegates: the essence-first ideation to
/spark, documenting an already-built codebase to/apply, and the actual execution ofSETUP.md(running the commands, provisioning infra) to the builder, human or agent. - Does not: write application code, provision live infrastructure, or grade its own docs. It sets the project up to be built; it doesn't build it.
Requires
The docs template (CLAUDE.md + docs/) must be present in the target repo: start-project fills it, it doesn't ship it. If the repo has no template, copy it in first (cp -r docs CLAUDE.md .claude your-repo/), then run this. The four infrastructure docs (SETUP, DEPLOYMENT, CI_CD, TESTING) are not in the base template; their skeletons live in this skill's example/ folder and get copied in on demand. Pointing at a reference project needs that project readable on disk.
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.

