中文版: 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.
FAQ
joharnessburg is a Claude Code plugin with 28 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes app-design-thinking, archive-workspace, chunking. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add kitchen-engineer42/joharnessburg> /plugin install john@joharnessburg
中文版:
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.
Use either Claude Code or Codex. Both are recommended runtimes over the same John plugin, skills, scripts, hooks, workspace state, and template format.
Install and verify:
claude plugin marketplace add kitchen-engineer42/joharnessburg
claude plugin install john@joharnessburg
claude plugin list
Then run /reload-plugins in an active session, or start a fresh Claude Code session.
Update and verify:
claude plugin marketplace update joharnessburg
claude plugin update john@joharnessburg
claude plugin list
Run /reload-plugins or start a fresh session after the update.
Install and verify:
codex plugin marketplace add kitchen-engineer42/joharnessburg
codex plugin add john@joharnessburg
codex plugin list
Restart Codex or start a new task so the plugin reloads. Open /hooks, inspect John's hook definition, and trust it only after review; installing the plugin does not trust its hooks automatically.
Update and verify:
codex plugin marketplace upgrade joharnessburg
codex plugin add john@joharnessburg
codex plugin list
codex plugin add is idempotent and refreshes the installed plugin from the upgraded marketplace snapshot. Review /hooks again if the definition changed, then restart Codex or start a new task.
Open your project in either runtime, initialize John with an optional input file or directory, confirm the generated PLAN.md, then describe the app you want. John advances through the knowledge and app phases while .john/events/, .john/checkpoints/, and .john/runs/ preserve durable evidence.
| Operation | Claude Code | Codex |
|---|---|---|
| Initialize | /john:init <input-path> | “Use init-workspace to initialize John from <input-path>.” |
| Status | /john:status | “Use workspace-status to show the John workspace status.” |
| Run report | /john:report | “Use codex-run-report to generate the John run report.” |
| Endurance goal | /john:endurance <goal> | “Use endurance-goal to set <goal>.” |
| Archive | /john:archive [label] | “Use archive-workspace to archive this John workspace.” |
John initializes both CLAUDE.md and AGENTS.md, plus byte-identical project skill trees under .claude/skills/ and .agents/skills/ when knowledge is packaged.
vertical-workflows can author Claude dynamic workflows for large uniform fan-outs. When unavailable, the same work runs through inline subagent waves.codex-vertical-workflows uses native subagent waves and the durable .john/runs/ ledger for retries, reconciliation, status, and cancellation.Both paths emit the same events, pass the same extraction audits, reduce into the same checkpoints, and continue through the same PLAN.md.
A John template is a version-pinned diff that specializes the shared harness for one app family. Install it as a regular directory, apply it once, and use the resulting merged plugin; the same applied output serves both providers.
cp -R /path/to/template ~/.claude/plugins/joharnessburg-templates/<name>
~/.claude/plugins/joharnessburg-templates/<name>/apply.sh
For Claude Code, launch the printed path:
claude --plugin-dir ~/.claude/plugins/joharnessburg-applied/<name>
For Codex, activate that same merged plugin in the target project:
python3 ~/.claude/plugins/joharnessburg-applied/<name>/scripts/activate_codex_template.py \
--merged-plugin ~/.claude/plugins/joharnessburg-applied/<name> \
--project-root /path/to/project
Follow the printed steps: add the project-local marketplace, install the applied listing, verify it with codex plugin list, disable vanilla john@joharnessburg for that project, inspect and trust the applied hooks through /hooks, and restart Codex. Activation prepares project-local files only; it does not change personal marketplace or global plugin state automatically.
Do not delete an applied directory while a live session is using it. See the template authoring guide for the format and Hamster for dual-provider examples and a guided authoring workflow.
markitdown for non-PDF conversion.$JOHN_PPX_CLIENT_URL for high-fidelity PDFs.$JOHN_LLM_CLIENT_URL for produced apps that need runtime model calls.John installs and runs without the optional services. They are external URL contracts, not package dependencies.
hooks/hooks.json is John's sole hook declaration. Hooks execute the bundled scripts with the active coding session's permissions. Review this file and the referenced scripts before trusting an unfamiliar fork. Codex users must review and trust the current definition through /hooks; plugin installation or enablement alone is not trust.
.claude-plugin/marketplace.json Claude marketplace
.agents/plugins/marketplace.json Codex marketplace
plugins/joharnessburg/
.claude-plugin/plugin.json Claude manifest
.codex-plugin/plugin.json Codex manifest
hooks/ shared hook declaration
skills/ shared + provider adapter skills
commands/ Claude slash commands
agents/ canonical Markdown agents
codex/agents/ generated Codex agents
scripts/ deterministic toolkit
templates/ apply script and authoring guide
CONTEXT.md canonical vocabulary
John is maintained by kitchen-engineer42, with contributions and field evidence from @HalfMoon001, @oubeichen, @Ruilin-mmwa, and @AnselKocen.
MIT. See LICENSE.
.agents/
plugins/
marketplace.json
.claude-plugin/
marketplace.json
.codex/
agents/
code-quality-reviewer.toml
coverage-auditor.toml
grounding-checker.toml
knowledge-extractor.toml
schema-designer.toml
config.toml
.github/
workflows/
ci.yml
.gitignore
CONTEXT.md
LICENSE
plugins/
joharnessburg/
.claude-plugin/
plugin.json
.codex-plugin/
plugin.json
agents/
.gitkeep
code-quality-reviewer.md
coverage-auditor.md
grounding-checker.md
knowledge-extractor.md
schema-designer.md
codex/
agents/
code-quality-reviewer.toml
coverage-auditor.toml
grounding-checker.toml
knowledge-extractor.toml
schema-designer.toml
commands/
archive.md
endurance.md
init.md
report.md
status.md
hooks/
hooks.json
scripts/
__init__.py
activate_codex_template.py
app_first_contracts.py
apply_template.py
archive_workspace.py
emit_event.py
emit_manifests.py
init_workspace.py
john_paths.py
john_run.py
knowledge_inventory.py
markitdown_parse.py
parse_govcn_html.py
path_safety.py
post_tool_use_hook.py
ppx_parse.py
precompact_hook.py
process_scorecard.py
reduce_events.py
reset_john.py
session_start_hook.py
set_endurance.py
skill_invocation_hook.py
sync_codex_agents.py
workspace_status.py
skills/
app-design-thinking/
references/
app-archetypes.md
app-phase-design.md
runtime-vs-buildtime-llm.md
SKILL.md
archive-workspace/
agents/
openai.yaml
SKILL.md
chunking/
references/
llm-wedge-chunker.md
onion-peeler.md
onion-wrapper.md
SKILL.md
code-quality-guardrails/
references/
common-guardrails.md
cross-validation-pattern.md
deterministic-vs-llm-fixes.md
SKILL.md
codex-run-report/
agents/
openai.yaml
SKILL.md
codex-template-activation/
agents/
openai.yaml
SKILL.md
codex-vertical-workflows/
agents/
openai.yaml
SKILL.md
context-management/
SKILL.md
endurance-goal/
agents/
openai.yaml
SKILL.md
event-log-and-reducer/
SKILL.md
init-workspace/
agents/
openai.yaml
SKILL.md
job-runtime/
references/
progress-and-cancellation.md
slots-leases-and-timeouts.md
task-registry-and-states.md
SKILL.md
knowledge-extraction/
references/
extraction-subagent-briefing.md
self-correction-echo.md
sweep-strategy.md
SKILL.md
knowledge-rewrite/
references/
cross-linking.md
progressive-disclosure-pattern.md
two-tier-dedup.md
SKILL.md
packaging/
references/
claude-code-skill-format.md
description-pushiness.md
kc-rule-skill-shape.md
SKILL.md
parsing/
references/
gov-cn-html.md
markitdown-recipe.md
parser-backend-swapping.md
ppx-recipe.md
SKILL.md
phase-design/
SKILL.md
plan-md-authoring/
SKILL.md
plan-md-evolution/
references/
interaction-with-ralph-loop.md
log-and-decisions-discipline.md
phase-iteration-patterns.md
SKILL.md
ralph-loop/
SKILL.md
schema-design/
references/
app-type-definition-cascade.md
four-type-taxonomy.md
kc-rule-schema.md
sku-regression-case-study.md
starter-schemas.md
SKILL.md
skill-evolution/
references/
feedback-design.md
lessons-ledger.md
run-report-format.md
s3-loop.md
SKILL.md
subagent-dispatch/
SKILL.md
using-john/
agents/
openai.yaml
SKILL.md
vertical-workflows/
references/
john-workflow-shape.md
SKILL.md
workerllm-runtime/
references/
call-shape.md
SKILL.md
workspace-discipline/
SKILL.md
workspace-status/
agents/
openai.yaml
SKILL.md
templates/
apply.sh
README.md
tests/
__init__.py
_helpers.py
fixtures/
synthetic_5_phase_PLAN.md
README.md
scripts/
__init__.py
test_activate_codex_template.py
test_app_first_contracts.py
test_apply_sh.py
test_apply_template.py
test_archive_workspace.py
test_consistency.py
test_emit_event.py
test_emit_manifests.py
test_init_workspace.py
test_john_run.py
test_parse_govcn_html.py
test_post_tool_use_hook.py
test_ppx_parse.py
test_precompact_hook.py
test_process_scorecard.py
test_reduce_events.py
test_reset_john.py
test_session_start_hook.py
test_set_endurance.py
test_skill_invocation_hook.py
test_workspace_status.py
README_ZH.md
README.md© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic