genesis · git:20260728.3b2cb4a · 2026-07-28 · sha256 2b31b44a196458b1

genesis git:20260728.3b2cb4aA

Immutable. This exact content never changes and is served at /api/v1/blob/2b31b44a196458b1.

---
name: genesis
description: "Build a new project from an empty folder, or bring an existing repository up to standard. Use when the user says \"/genesis\", \"start a new project\", \"scaffold this\", \"create the project\", or begins greenfield work — and equally when they say \"bring this repo up to standard\", \"modernize my setup\", \"transition this project\", \"my CLAUDE.md is out of date\", \"check my agent setup\", or \"audit my priming\". Three modes: create (empty folder → researched, designed, built, tested project), transition (an existing repository → the standard, including repositories primed for an older model), and system check (the user-level ~/.claude layer). Every run opens with the system check. Also resumes a paused build — \"resume genesis\" or a .scratch/resume.json checkpoint."
license: MIT
allowed-tools: Read, Write, Edit, Bash, TodoWrite, WebSearch, WebFetch
argument-hint: "[create | transition | system]"
---

# Genesis — three modes, one standard

Genesis measures everything against [`standard.md`](standard.md). Read it before acting in any mode; it is
the target state, and the mode files are how to reach it.

| Mode | For | Runbook |
|---|---|---|
| **system** | the user-level `~/.claude` layer — is it current, or shaped for an older model? | [`system.md`](system.md) |
| **create** | an empty folder → a researched, designed, built, tested project | [`create.md`](create.md) |
| **transition** | an existing repository → the standard | [`transition.md`](transition.md) |

## Start here — the system check runs first, every time

The user-level layer loads in every session, so a repository fixed under a stale one inherits the staleness.
Run [`system.md`](system.md) §Survey before anything else. It reads only.

Then **one short message and one question**, per [`system.md`](system.md) §Report and confirm: what is wrong,
what genesis will change, "proceed?". Yes applies all of it. No stops. There are no other questions in this
mode — not a menu of sections, not a table to choose from, not a request to pick between behaviours the
standard already decides. The user asked for the standard by invoking genesis.

- **Clean** — one line, then continue to the mode below.
- **`/genesis system`** — the system check is the whole job. Stop after it.

**Open with the finding, not with an explanation of yourself.** No preamble about what genesis is, what the
three modes are, or why the user-level layer matters — the user typed the command, so they know. The first
thing they read is what is wrong on their machine.

## Then pick the mode

Explicit argument wins. Otherwise decide from the folder and say which you picked and why:

- **Empty, or nothing but a README / `.git` / editor config** → **create**.
- **A real codebase** → **transition**. Genesis does not scaffold over existing work.
- **Ambiguous** (a half-built scaffold, a folder with a `docs/` and no code) → say what you see and ask.

**A resume outranks both.** If `.scratch/resume.json` or `.scratch/resume.json.inflight` exists, or
`.scratch/acceptance.json` exists with `criteria_met=false`, this is a paused build relaunching. Go to
[`create.md`](create.md) §Phase R and do nothing else — the foundation, research, design, stack and plan are
already on disk, and re-running the earlier phases would clobber them.

## What every mode ends with

1. **The change, applied.** Not proposed — applied, with what was run and what it printed.
2. **A request for `/doctor`.** Anthropic's `/doctor` measures the repository's configuration under its own
   rubric. Genesis does not run it: ask the user to run it and paste the output back, then apply its mechanical
   findings — dangling references, unused permission rules, broken paths. Where its `CLAUDE.md` proposals
   differ from [`standard.md`](standard.md), the standard decides; say which way you resolved it and why.
3. **The repository's own gate, run.** Whatever `CLAUDE.md` now names as the gate — the test command, the
   build, the lint — run it and record the result. A gate nobody can pass teaches an agent to skip it, so a red
   result found here is a finding rather than an inconvenience.
4. **A report the user can read**, governed by [`standard.md`](standard.md) §11. Lead with what changes what
   they do. Name things in words, never by section number or line range. Collapse everything that was already
   fine into one clause. Where the mode also wrote a durable record, the record holds the detail and the
   message holds the summary — reading the record aloud is how a report becomes a wall of text nobody finishes.

## Subagents

Genesis defines no agents and installs none. Whether to fan out on a `create` build is decided per item against
what the item actually is: delegate genuinely substantial, genuinely independent work, and finish the rest
inline. Work that completes in a handful of tool calls costs more to delegate than to do.

Never dispatch a subagent to check work another subagent just did. Independent work in parallel is the reason
fan-out exists; a second agent re-reading the first agent's output is not.

Transition and system work is inline always: it is judgment about text, and splitting it across contexts loses
the judgment.

## Detail

- [`standard.md`](standard.md) — the rubric all three modes measure against
- [`create.md`](create.md) — phases 0–6 and the resume path
- [`transition.md`](transition.md) — the six-step repository pass
- [`system.md`](system.md) — the user-level survey and its proposals
- [`reference.md`](reference.md) — permissions, integrations, resuming after a stop, the README audit