genesis
Skill17 starsChanged 8 months agoMITView on GitHub
Bootstrap a new Claude Code project with full infrastructure. Use this when the user wants to create a new project, scaffold a project, or says "new project", "create", "bootstrap", or "build me".
6 other projects use a version of this.
Adopted by
Most recently taken up by
- gaiaaiagent/regen-heartbeattheir own version, first seen Oct 15, 2026
- SebastienDegodez/skraft-plugintheir own version, first seen Oct 11, 2026
- gabrieldabbah/genesistheir own version, first seen Jul 28, 2026
- GPire/claude-skills-swarmtheir own version, first seen Jun 30, 2026
- LilithLabs/liliththeir own version, first seen Jun 20, 2026
- freskhu/genesistheir own version, first seen May 8, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- SebastienDegodez/skraft-plugin★ 13same name
- GPire/claude-skills-swarm★ 8same name
- freskhu/genesis★ 5same name
- gabrieldabbah/genesis★ 4same name
- gaiaaiagent/regen-heartbeat★ 2same name
- LilithLabs/lilith★ 1same 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
Show its rules and text
We split this skill into the rules it gives an agent
29 rules. 0 are common, 16 are distinctive, and 13 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
16
Distinctive
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Read the user's request carefully.
- Distinctive: line 26
If the user provided 3+ of these, ask only what's missing (1-2 questions max)
- Distinctive: line 27
If the user was vague, ask up to 4 targeted questions
- Distinctive: line 28
Never re-ask what was already stated
- Distinctive: line 29
Use AskUserQuestion for a clean interview experience
- Very specific: line 33
Read the scaffold profile from environment.md > Claude Plan.
- Distinctive: line 71
Wait for user confirmation.
- Distinctive: line 75
After confirmation, create the project.
- Distinctive: line 79
Read the templates and references before generating:
- Very specific: line 81
Read .claude/skills/genesis/templates/ for all template files
- Very specific: line 82
Read .claude/skills/genesis/references/stack-profiles.md for stack-specific conventions
- Very specific: line 83
Read .claude/skills/genesis/references/agent-catalogue.md for agent definitions
- Very specific: line 99
Use templates/settings.json.tmpl as skeleton.
- Distinctive: line 103
Stop hook for test/commit reminders
- Distinctive: line 105
Write valid JSON, not a template.
- Very specific: line 109
Use templates/agent.md.tmpl as skeleton
- Distinctive: line 117
Write a clear description that tells Claude when to invoke it
- Very specific: line 120
When the risk-evaluator agent is included, also generate a /risk skill that accepts a command or operation description and invokes the …
- Very specific: line 123
Use templates/mcp.json.tmpl as skeleton.
- Very specific: line 126
Create the memory directory.
- Very specific: line 128
If the scaffold profile is lean, write a single consolidated MEMORY.md that includes user profile and project context inline (no separate …
- Distinctive: line 139
Test configuration and a sample test
- Very specific: line 152
Update the project registry.
- Distinctive: line 172
All generated content must use Australian English
- Distinctive: line 173
Never use em dashes in any generated file
- Distinctive: line 174
If the target directory already exists, refuse and explain
- Very specific: line 175
Write valid, parseable JSON for settings.json and .mcp.json
- Distinctive: line 176
Write valid YAML frontmatter for all skill files
- Very specific: line 177
Every generated CLAUDE.md must include all Global Rules from Genesis's CLAUDE.md
“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.
Files
Genesis: Project Bootstrapper
You are executing the Genesis bootstrap workflow. Follow these phases strictly.
Phase 1: Interview
Read the user's request carefully. Extract everything you can before asking questions.
Before interviewing: Read personalisation.md and environment.md from the Genesis root. These provide user preferences and platform details. If either file is missing, trigger first-time setup (see CLAUDE.md) before proceeding. If environment.md exists but lacks a ## Claude Plan section, prompt the user for their Claude plan tier and append the section before continuing (see CLAUDE.md migration check).
Required information:
- Project name (kebab-case)
- Purpose (one sentence)
- Tech stack (language, framework, runtime)
- Key integrations (databases, APIs, auth, external services)
Hosting environment and project base path are already captured in environment.md. Do not re-ask. Confirm the project path with the user: "This project will be created at <project-base>/<name>/." Allow per-project overrides if the user specifies a custom location.
Rules:
- If the user provided 3+ of these, ask only what's missing (1-2 questions max)
- If the user was vague, ask up to 4 targeted questions
- Never re-ask what was already stated
- Use AskUserQuestion for a clean interview experience
Phase 2: Plan
Read the scaffold profile from environment.md > Claude Plan. Factor the profile into agent and skill selection (lean = fewer agents/skills, standard = moderate, full = comprehensive). Consult agent-catalogue.md profile tags.
Once you have all information, produce this plan and present it:
Project: <name>
Path: <project-base>/<name>/
Stack: <language, framework, key dependencies>
Agents (domain):
- <agent-name> -- <one-line purpose>
Agents (workflow):
- test-runner -- run and analyse test results
- code-reviewer -- review code quality and correctness
- doc-writer -- generate and update documentation
Skills (base):
- /test -- run the test suite
- /lint -- run linters and formatters
- /review -- trigger code review
- /commit -- stage and commit changes
Skills (dynamic):
- /<skill-name> -- <one-line purpose>
MCP Servers:
- <server-name> (or "None" if no integrations)
Context Profile: <lean | standard | full> (<context_window> tokens)
Estimated infrastructure: ~<N>k tokens (<P>% of context)
Folder Structure:
<tree of top-level directories>For lean profiles, add a note: "Scaffold sized for Pro plan (200k context). Use /compact if you notice slowdowns in long sessions."
Wait for user confirmation. If they request changes, adjust and re-present.
Phase 3: Generate
After confirmation, create the project.
Prerequisite check: Before generating, verify the user has the required tools installed by running which or command -v checks for: claude, git, node. Also check for stack-specific tools (e.g. python, go, cargo, ruby, java). If any required tools are missing, list them with installation instructions for the user's hosting environment and wait for confirmation before proceeding.
Read the templates and references before generating:
- Read
.claude/skills/genesis/templates/for all template files - Read
.claude/skills/genesis/references/stack-profiles.mdfor stack-specific conventions - Read
.claude/skills/genesis/references/agent-catalogue.mdfor agent definitions
Generation order:
3.1 Directory structure
mkdir -p <resolved-path>/.claude/agents
mkdir -p <resolved-path>/.claude/skills/<skill-name> (for each skill)
mkdir -p <resolved-path>/docs
mkdir -p <resolved-path>/<stack-specific-dirs>3.2 CLAUDE.md
Read the scaffold profile from environment.md. If lean, use templates/CLAUDE.md.lean.tmpl. Otherwise, use templates/CLAUDE.md.tmpl. Fill all placeholders with project-specific content. Ensure every section from the Global Rules in Genesis's CLAUDE.md is present (the lean template merges these into a compact format). This is the most important file -- it governs the entire project.
3.3 .claude/settings.json
Use templates/settings.json.tmpl as skeleton. Configure:
- Permissions appropriate to the stack (consult stack-profiles.md)
- PreToolUse hooks: if the risk-evaluator agent is included, resolve
{{PRETOOLUSE_HOOKS}}to a Bash matcher with a prompt hook that screens commands for risk (destructive operations, state mutations, external writes, permission escalation, severity 1-5). If risk-evaluator is not included, resolve to empty. - PostToolUse hooks for the stack's formatter and linter
- Stop hook for test/commit reminders
Write valid JSON, not a template. Replace all placeholders with actual values.
3.4 Agents
For each agent in the plan:
- Use
templates/agent.md.tmplas skeleton - Fill with role-specific instructions from agent-catalogue.md
- Write to
<resolved-path>/.claude/agents/<agent-name>.md - For the risk-evaluator agent: include the full severity rubric (1-5 scale) in the Guidelines section. Include the project's specific integrations so the rubric can be context-sensitive. Instruct the agent to read CLAUDE.md for additional project context.
3.5 Skills
For each skill in the plan:
- Use
templates/skill.md.tmplas skeleton - Write a clear description that tells Claude when to invoke it
- Include the specific commands or workflow for the stack
- Write to
<resolved-path>/.claude/skills/<skill-name>/SKILL.md - When the risk-evaluator agent is included, also generate a
/riskskill that accepts a command or operation description and invokes the risk-evaluator agent to score it
3.6 .mcp.json (if needed)
Use templates/mcp.json.tmpl as skeleton. Only include servers for integrations mentioned in the plan. Write valid JSON.
3.7 Memory files
Create the memory directory. Derive the path by expanding the project target to an absolute path, slugifying it (replace / with -, strip leading -), then prepend ~/.claude/projects/ and append /memory/. For example, a project at ~/claude/foo/ for user xeeva becomes ~/.claude/projects/-home-xeeva-claude-foo/memory/.
If the scaffold profile is lean, write a single consolidated MEMORY.md that includes user profile and project context inline (no separate files). This reduces the number of files loaded at session start.
Otherwise, write three files:
user-profile.mdfromtemplates/memory-user.md.tmpl(copy verbatim)project-context.mdfromtemplates/memory-project.md.tmpl(fill placeholders)MEMORY.mdindex file pointing to both
3.8 Application boilerplate
Consult stack-profiles.md for the appropriate structure. Generate:
- Entry point file(s)
- Package/project config (package.json, pyproject.toml, go.mod, Cargo.toml, etc.)
- Test configuration and a sample test
.gitignoreappropriate to the stackdocs/README.mdwith project name, purpose, setup instructions, and usagedocs/architecture.mdwith high-level architecture description- Any stack-specific config files (tsconfig.json, ruff.toml, .golangci.yml, etc.)
Phase 4: Finalise
- Initialise git and create the first commit:
cd <resolved-path> && git init && git add -A && git commit -m "Initial scaffold from Genesis"- Update the project registry. Read the current registry from Genesis memory, append the new project entry, and write it back.
- Print a summary:
Project created: <resolved-path>/
Stack: <stack>
Agents: <count> (<names>)
Skills: <count> (<names>)
MCP: <servers or "none">
Context profile: <lean | standard | full> (~<N>k tokens, <P>% of <context_window>)
Next steps:
cd <resolved-path>/
claudeFor lean profiles, append: "Tip: Your Pro plan has 200k context. This scaffold uses ~<N>k tokens. Use /compact if you notice slowdowns in long sessions."
Important Notes
- All generated content must use Australian English
- Never use em dashes in any generated file
- If the target directory already exists, refuse and explain
- Write valid, parseable JSON for settings.json and .mcp.json
- Write valid YAML frontmatter for all skill files
- Every generated CLAUDE.md must include all Global Rules from Genesis's CLAUDE.md
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.

