/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.
$ 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
/archive
Context preview
What this command does when you run it.
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.
Command definition
archive.mddescription: 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. Excludes git/__pycache__/node_modules cruft.
argument-hint: "[label] [--output PATH] [--force]"
When this command fires:
1. Parse the user's argument. The first positional (if any) is a label for the archive (used in the default filename). `--output <path>` overrides the default location. `--force` allows overwriting an existing file.
2. Invoke the archive script via Bash:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/archive_workspace.py" <user-args>3. The script returns JSON with `archive_path`, `file_count`, and `size_bytes`. Tell the user the zip is ready at the path, with the file count and size. If the user asked for the archive in the context of "we're done", consider also offering to run `/john:status` for a final inventory check before they ship.
4. On `success: false` with "No .john/ directory found", tell the user there's no workspace to archive — they need `/john:init` first.
The archive is suitable for handing to teammates, attaching to a release, or stashing for posterity. It does NOT include `.git/`, `node_modules/`, `__pycache__/`, `*.pyc`/`*.pyo`, or `.DS_Store` — only the durable John artifacts plus the produced skills.
Read more
description: 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. Excludes git/__pycache__/node_modules cruft. argument-hint: "[label] [--output PATH] [--force]"
When this command fires:
1. Parse the user's argument. The first positional (if any) is a label for the archive (used in the default filename). `--output <path>` overrides the default location. `--force` allows overwriting an existing file.
2. Invoke the archive script via Bash:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/archive_workspace.py" <user-args>3. The script returns JSON with `archive_path`, `file_count`, and `size_bytes`. Tell the user the zip is ready at the path, with the file count and size. If the user asked for the archive in the context of "we're done", consider also offering to run `/john:status` for a final inventory check before they ship.
4. On `success: false` with "No .john/ directory found", tell the user there's no workspace to archive — they need `/john:init` first.
The archive is suitable for handing to teammates, attaching to a release, or stashing for posterity. It does NOT include `.git/`, `node_modules/`, `__pycache__/`, `*.pyc`/`*.pyo`, or `.DS_Store` — only the durable John artifacts plus the produced skills.
中文版: 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.
- /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 - /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
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

