/init
Scaffold the John workspace in the current project. Creates .john/ working state, a starter PLAN.md, and (if missing) a starter CLAUDE.md. Optionally copies an input path into .john/input/. ALWAYS run this first when starting a new John project — every other John command depends
$ npx -y skills add kitchen-engineer42/joharnessburg --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/init
Context preview
What this command does when you run it.
Scaffold the John workspace in the current project. Creates .john/ working state, a starter PLAN.md, and (if missing) a starter CLAUDE.md. Optionally copies an input path into .john/input/. ALWAYS run this first when starting a new John project — every other John command depends
Command definition
init.mddescription: Scaffold the John workspace in the current project. Creates .john/ working state, a starter PLAN.md, and (if missing) a starter CLAUDE.md. Optionally copies an input path into .john/input/. ALWAYS run this first when starting a new John project — every other John command depends on .john/ existing.
argument-hint: "[input-path] [--force]"
When this command fires, the user is starting a new John project (or re-bootstrapping one). Your job:
1. Parse the user's argument. The first positional argument (if any) is a path to a file or directory of input materials to copy into `.john/input/`. The `--force` flag (if present) recreates `.john/` even if it exists.
2. Invoke the init script via Bash:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/init_workspace.py" <user-args>Pass the user's positional + `--force` (if present). If the user gave no input path, just run the script with no positional argument.
3. Parse the JSON status on stdout. On `success: true`, summarize for the user: project_root, .john/ created, PLAN.md written (or kept), CLAUDE.md written (or kept), files copied. On `success: false`, surface the human-readable error from stderr.
4. After a successful init, read the freshly-written `PLAN.md` and invite the user to start the start-of-project conversation per the `plan-md-authoring` skill — confirm project intent, decide the app-type definition (knowledge format, knowledge schema, app mechanism, build pipeline), sketch the first 2-3 phases.
Do NOT skip step 4. The init script only writes a skeleton; the actual project intent + app-type definition decisions are a conversation you owe the user.
If the user already has a PLAN.md or CLAUDE.md in the project, init preserves them by default (only `--force` recreates PLAN.md; CLAUDE.md is never overwritten). Tell the user when this happens so they know the existing files were kept.
Read more
description: Scaffold the John workspace in the current project. Creates .john/ working state, a starter PLAN.md, and (if missing) a starter CLAUDE.md. Optionally copies an input path into .john/input/. ALWAYS run this first when starting a new John project — every other John command depends on .john/ existing. argument-hint: "[input-path] [--force]"
When this command fires, the user is starting a new John project (or re-bootstrapping one). Your job:
1. Parse the user's argument. The first positional argument (if any) is a path to a file or directory of input materials to copy into `.john/input/`. The `--force` flag (if present) recreates `.john/` even if it exists.
2. Invoke the init script via Bash:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/init_workspace.py" <user-args>Pass the user's positional + `--force` (if present). If the user gave no input path, just run the script with no positional argument.
3. Parse the JSON status on stdout. On `success: true`, summarize for the user: project_root, .john/ created, PLAN.md written (or kept), CLAUDE.md written (or kept), files copied. On `success: false`, surface the human-readable error from stderr.
4. After a successful init, read the freshly-written `PLAN.md` and invite the user to start the start-of-project conversation per the `plan-md-authoring` skill — confirm project intent, decide the app-type definition (knowledge format, knowledge schema, app mechanism, build pipeline), sketch the first 2-3 phases.
Do NOT skip step 4. The init script only writes a skeleton; the actual project intent + app-type definition decisions are a conversation you owe the user.
If the user already has a PLAN.md or CLAUDE.md in the project, init preserves them by default (only `--force` recreates PLAN.md; CLAUDE.md is never overwritten). Tell the user when this happens so they know the existing files were kept.
中文版: README_ZH.md John turns unstructured source material into a working knowledge-dense app. It keeps knowledge engineering and app building in one durable run, coordinates large per-entry fan-outs, and leaves auditable events and checkpoints on disk.
Other commands on joharnessburg.
- /archive
Bundle the finished John workspace (PLAN.md, CLAUDE.md, AGENTS.md, .john/, .claude/skills/, .agents/skills/) into a release zip. Use when the user says "archive this project", "package it up", "we're done", or you've completed an end-to-end run and want a portable bundle.
Open command - /endurance
Set or clear the long-running goal for this John session. Pinned into the system prompt by the SessionStart hook so it survives context compaction and stays visible across long ralph-loop runs. Use this command when the user says "let's run this in endurance mode", "set the
Open command - /report
Assemble a run report — the shareable postmortem of this John run (process scorecard + manifest + outcome summary + candidate lessons), privacy-scrubbed. Use when a run wraps or a milestone ships, when the user asks "how did this run go?", "make a run report", or wants evidence
Open command - /status
Print John workspace status — active template, current phase, inventory of inputs/parsed/chunks/knowledge/events/checkpoints/produced-skills. Use whenever the user asks "where are we?", "what's done?", "what's next?", or you need to verify state before advancing a phase. Cheap;
Open command

