Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: "Init" description: Initialize Genesis Spec-Kit in a project — scaffold .genesis/ and determine the project mode (greenfield, brownfield, lowfield). Use when setting up the kit for the first time. argument-hint: "[project-path] [--mode greenfield|brownfield|lowfield]"
Init — Scaffold Genesis Spec-Kit
Set up the kit's file-backed scaffolding in a project and establish its mode. Everything the kit does afterward reads from the files this step creates.
Process
- Check for an existing install. If
.genesis/already exists, ask whether to reinitialize (overwrite kit system files, preserve all user artifacts) or stop. On reinitialize, preserve:constitution/,project-state.md,discovery/,design/,features/.
- Determine the mode. If
--modeis given, use it. Otherwise scan the directory and recommend:
- Empty (only
.git) → Greenfield — a new project from scratch. - Files present → Brownfield — an existing codebase needing structure.
- Lowfield — a content or creative project (novel, research corpus, knowledge base). Lowfield is always an explicit choice, never auto-detected.
Present all three and let the user confirm.
- Resolve the project name from
package.json/Cargo.toml/pyproject.toml/ etc., or ask.
- Create the directory structure:
`` .genesis/ ├── constitution/ # supreme law (populated by /genesis-constitute) ├── discovery/ # project profile (populated by /genesis-discover) ├── design/ # project-level design docs │ ├── technical/ │ ├── user-journeys/ │ ├── systems/ │ └── decisions/ # ADRs ├── features/ # per-feature artifacts ├── templates/ # copied from the kit ├── hooks/ # optional git hooks ├── furnace.json # deferred-idea backlog (starts empty) └── project-state.md # the live state file ``
- Copy the kit templates into
.genesis/templates/(constitution, spec, micro-spec, feature-design, north-star, discovery-{greenfield,brownfield,lowfield}, design-inputs).
- Seed `furnace.json`:
{ "entries": [] }.
- Write `project-state.md` from the template: project name, mode, init date, current phase
Initialized, and empty sections for Active Features, Completed Features, Key Decisions, Constitutional Amendments, Open Questions, Blockers.
- Generate or update `CLAUDE.md` with: the project name, the mode, an instruction to read the constitution and
project-state.mdat session start, and a one-line command reference pointing at/genesis-help.
- Git: if no repo exists,
git initand write a.gitignore. Stage only the kit scaffolding and commit:genesis: initialize spec-kit scaffolding.
- Print a mode-specific welcome with next steps (constitute → discover → brainstorm).
Mode additions
- Brownfield: run the codebase scan from
discovery-brownfield.mdand pre-populate the discovery findings; note brownfield audit-scoping rules (audits scoped to changed files; findings classified inherited vs introduced). - Lowfield: use the content-oriented templates; the work-unit registry is built later by
/genesis-discover.
Constraints
- MUST NOT modify any existing non-kit files (no edits to
package.json, source files, etc.). - MUST NOT run builds, tests, or install dependencies.
- MUST NOT create files outside
.genesis/,.claude/, andCLAUDE.md. - MUST preserve all user artifacts on reinitialize.
- MUST commit only kit scaffolding, never unrelated changes.
Next step
Run /genesis-constitute to establish the project's constitution.
Natural language triggers
- "initialize genesis"- "set up the spec kit"- "start a new project"- "onboard this project"