project-kickoff
Skill1 starsChanged 47 days agoMITView on GitHub
The decisions and setup that must exist before the first feature commit — PRD, explicit non-goals, ICP, locked tech stack, folder structure, repo hygiene (.gitignore, README, CLAUDE.md), environment separation, error tracking, and a commit/review cadence. Load at the START of a new project, when scaffolding a repo, when a project has grown past a prototype without these, or when asked "how should I set this up". Triggers on "new project", "starting a new app", "scaffold", "set up the repo", "PRD", "product requirements", "what should I build first", "tech stack", "folder structure", "project structure", "CLAUDE.md", "README", "gitignore", "staging vs production", "error tracking", "before I start building", "vibe coding a new app".
- Reads credentials
14 other projects use a version of this.
Adopted by
Most recently taken up by
- mahelmouzoun07-afk/project-kickofftheir own version, first seen Nov 8, 2026
- jonesrussell/skillstheir own version, first seen Nov 1, 2026
- adiutama/skillstheir own version, first seen Nov 1, 2026
- DPatta/project-docs-kittheir own version, first seen Nov 1, 2026
- Brandondaymdr/Claude-Skillstheir own version, first seen Oct 29, 2026
- romain-nicod/kickofftheir own version, first seen Oct 2, 2026
Other versions14 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 14
- soumyaRauth/skills-hub★ 10same name
- adiutama/skills★ 1same name
- Brandondaymdr/Claude-Skills★ 1same name
- DPatta/project-docs-kit★ 1same name
- impeto-ai/claude-skills-impeto★ 1same name
- jonesrussell/skills★ 1same name
- Lucas-Grilli/context-os-plugin★ 1same name
- magi12345/project-kickoff★ 1same name
- openqa-labs/zenith★ 1same name
- romain-nicod/kickoff★ 1same name
4 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 repository2 other files it gives its agents.
- legal-complianceSkill
- security-protocolsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 12 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 13 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 28
Do not restate their controls here.
- Very specific: line 35
Not in a chat window. A file at docs/prd.md that the coding agent can read on every session and that survives context loss.
- Distinctive: line 47
Verify: read the three paragraphs back and ask whether they rule anything out.
- Distinctive: line 73
Prefer boring and well-documented: the coding agent has seen far more of it, and so has every answer you will search for.
- Distinctive: line 90
Write it into CLAUDE.md as a short tree with one line per directory.
- Very specific: line 112
Commit .env.example with placeholder values so the shape is documented and the real file never needs to be.
- Distinctive: line 125
Verify: follow your own README from a fresh clone.
- Distinctive: line 130
Put in it the things you have already corrected twice.
- Distinctive: line 131
Keep it current: a stale CLAUDE.md actively misdirects, which is worse than an absent one.
- Distinctive: line 132
Verify: start a fresh session, ask what the stack and conventions are, and check the answer came from the file.
- Distinctive: line 164
Only if you will act on it.
- Very specific: line 165
If added: it collects personal data, so it is a processor to name in the privacy policy (legal-compliance 4).
- Distinctive: line 176
Commit before starting anything risky, so there is a known-good point to return to.
- Distinctive: line 177
Verify: read the last ten commit messages.
- Distinctive: line 183
Read every diff before merge — your own included.
“Common” is measured: kept by at least 6 in 10 of the 13 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
Project Kickoff
What must be true before the first feature commit. Every item here is cheap now and expensive
later — not because it is urgent, but because each one becomes structural the moment code
depends on it. Retrofitting a folder structure, splitting staging out of prod, or adding a
.gitignore after a key is committed all cost far more than doing them first.
Every item has a verification step. As with security-protocols, an item is not done until
something has been checked — a file read, a command run, a URL fetched.
How to use this skill
- New project → work A through E in order. A and B are decisions; C, D, E are setup.
- Existing project that skipped this → run it as an audit. Write results to
tasks/kickoff-audit.md(PASS/FAIL/N/A + why). Fix C before anything else. - Not applicable is a valid answer — a weekend script needs almost none of this — but say so in one line rather than skipping silently.
This skill stops at the first feature commit. From there:
security-protocols— controls 1–3 (secrets) apply the moment the repo exists, not at launch.legal-compliance— before signups open, not after.
Do not restate their controls here. Point at them.
Group A — Decide the product (before any code)
1. Write a PRD, in the repo, in markdown
Not in a chat window. A file at docs/prd.md that the coding agent can read on every session
and that survives context loss.
- Cover: what it does, who for, the core flows, and what "done" means for v1.
- Length is not the point — a page that is actually current beats ten that are stale.
- Verify: the file exists, and its described flows match what you would demo. A PRD that no longer matches the product is worse than none, because it will be believed.
2. State the value, the pain, and the ICP in one paragraph each
- Pain: what specifically is bad today, for a named kind of person.
- Value: what changes for them, stated as an outcome, not a feature list.
- ICP: who exactly this is for. "Everyone" means no one, and it makes every subsequent product decision a coin flip.
- Verify: read the three paragraphs back and ask whether they rule anything out. If they describe any product in the category, they are not specific enough to be useful yet.
3. Write the non-goals down
The highest-value item in this skill. An explicit "not building this in v1" list is the only thing that reliably prevents scope creep, and it is the item people skip.
- List the plausible-sounding features you are deliberately not building, and one clause on why.
- Include the deferred hard problems: offline mode, real-time, i18n, multi-tenancy, an admin panel, mobile apps. Each is cheap to defer deliberately and brutal to retrofit accidentally.
- Verify: the list exists in
docs/prd.mdand names at least three things a reasonable person would otherwise assume are in scope.
4. Break the PRD into tasks before building
Turn v1 into a checkable list, ordered so something demoable exists early.
- In this project that means
tasks/todo.md— the workflow already defined inCLAUDE.md. - Each task small enough to finish and verify in one sitting.
- Verify: the first three tasks are concrete enough to start without another decision.
Group B — Decide the technical (before any code)
5. Lock the stack and write down why
Framework, language, database, auth, hosting, styling — chosen once and recorded, so the agent stops re-litigating it and you stop half-migrating.
- One line of rationale each. "Because it's popular" is not one.
- Prefer boring and well-documented: the coding agent has seen far more of it, and so has every answer you will search for.
- Verify:
docs/stack.md(or aCLAUDE.mdsection) names every choice, and the installed dependencies match it. A stack doc contradicted bypackage.jsonis a trap.
6. Decide the data model and the auth approach before the first table
These two are the most expensive things to change later, because everything else references them.
- Sketch the core entities and their relationships. Decide tenancy now if it is ever plausible — adding a tenant id to a live schema is a migration and an audit of every query.
- Pick the auth approach (managed provider vs. rolled) deliberately. Rolling your own means
owning
security-protocols9–14 in full; a managed provider means configuring them. - Verify: the entity sketch exists and every entity has an owner or tenant column where it needs one.
7. Agree the folder structure
Decide where things go once. The alternative is four conventions in one repo, each introduced by a session that could not see the others.
- Write it into
CLAUDE.mdas a short tree with one line per directory. - Verify: the tree in
CLAUDE.mdmatcheslsoutput. Update it when it drifts; a documented structure nobody follows teaches the agent the wrong pattern.
8. Set up the design system before the first component
Colour tokens, type scale, spacing scale, and the base primitives — button, input, card — before feature UI exists.
- Retrofitting tokens means touching every component; establishing them first means components are consistent for free.
- Include dark mode in the token definition now if you will ever want it.
- Verify: build one real screen using only tokens and primitives. If it needs a hard-coded hex or a magic pixel value, the system has a gap — fix it before building on it.
Group C — Repo hygiene (do this in the first commit)
9. Commit .gitignore first, before any env file exists
Ordering matters. Once a secret is committed it is compromised permanently, and the fix is
rotation, not deletion (security-protocols 2).
- Cover:
.env*(except.env.example),node_modules/, build output,.DS_Store, IDE directories, local databases, credential files. - Commit
.env.examplewith placeholder values so the shape is documented and the real file never needs to be. - Verify:
git status --porcelainshows no env file, andgit log --all --full-history -- .envis empty. Run both before the first push, not after.
10. Connect the remote and protect the default branch
- Private by default. Make it public deliberately, after
security-protocols1–3 pass. - Protect
main: no direct pushes, PRs required. Even solo — it is what makes item 14 possible. - Verify: attempt a direct push to
mainand confirm it is refused.
11. Write the README
What it is, how to run it locally, what env vars are needed, how to run tests. Aimed at someone with a clean machine and no context — a category that includes you in six months.
- Verify: follow your own README from a fresh clone. Every missing step is a bug in it.
12. Write CLAUDE.md
The instruction file the agent reads every session — stack, structure, conventions, commands, and the constraints you keep having to repeat.
- Put in it the things you have already corrected twice. That is the signal it is missing.
- Keep it current: a stale
CLAUDE.mdactively misdirects, which is worse than an absent one. - Verify: start a fresh session, ask what the stack and conventions are, and check the answer came from the file.
13. Separate environments, with separate credentials
Local, staging, and production get their own database and their own API keys — payment providers in test mode outside prod.
- Secrets come from the environment, never a committed file (
security-protocols1). - A staging key that works against production means you have one environment wearing two names.
- Verify: print the database host and a key prefix in each environment and confirm they
differ. Then confirm the staging deploy is not publicly reachable (
security-protocols28).
Group D — Instrumentation (wire before launch, not after the first incident)
14. Add error tracking on day one
Sentry or equivalent, in every environment, with source maps uploaded privately and release tagging on.
- Without it, your bug reports are "it didn't work" and your evidence is gone.
- Scrub PII and tokens in the
beforeSendhook — an error reporter serializes request context, which is a classic secret leak (security-protocols36). - Verify: throw a deliberate error in staging and find it in the dashboard, with a stack trace that maps to real source.
15. Add structured logging and one health check
- Structured (JSON) logs with a request/correlation id, so a user's report can be traced to a request. Log levels used consistently.
- A
/healthendpoint that reports process and database reachability — without leaking internals (security-protocols27). - Verify: trigger a request, then find every log line for it by correlation id alone.
16. Add product analytics if a decision depends on it
Only if you will act on it. Analytics nobody reads is data you are now liable for.
- If added: it collects personal data, so it is a processor to name in the privacy policy
(
legal-compliance4). - Verify: name the specific decision the first event will inform. If you cannot, don't add it yet.
Group E — Working cadence
17. Commit small and often, in the user's voice
One coherent change per commit, with a message explaining why. Small commits are what make
git bisect and a clean revert possible; a 40-file "wip" commit forfeits both.
- Commit before starting anything risky, so there is a known-good point to return to.
- Verify: read the last ten commit messages. If you cannot tell what changed without the diff, they are too coarse.
18. Nothing merges unread
The failure mode of AI-assisted building: code accumulates that nobody has read, so nobody can maintain it, and reviewing it later costs more than writing it would have.
- Read every diff before merge — your own included. Understanding it is the point, not approval.
- Anything touching auth, payments, data access, or user input gets the relevant
security-protocolsgroup read before it is written. /code-reviewfor correctness,/simplifyfor quality — neither replaces reading it.- Verify: for each of the last five merges, can you explain what changed and why? If not, that is technical debt already accrued, not a future risk.
Reporting
Same rule as the other protocol skills: report per item with evidence, and never claim a project
is "set up properly" as a blanket. State which items pass, which fail, which are N/A and why,
and what you did not check.
Then name the single most expensive thing still missing — usually the non-goals list (3), the data model decision (6), or environment separation (13) — and do that one first.
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.

