app-design-thinking
Design the app mechanism and build pipeline for the produced app — the app-phase analog of [[schema-design]]. Use this skill whenever the knowledge phases are…
Author a Claude Code dynamic workflow to run a John fan-out phase at scale. Use this skill whenever a phase has dozens-to-thousands of uniform per-entry work units (extract every chunk, apply every rule to every chapter, render every slide) and the session is configured for
$ npx -y skills add kitchen-engineer42/joharnessburg --skill vertical-workflows --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/vertical-workflowsContext preview
The summary Claude sees to decide when to auto-load this skill.
Author a Claude Code dynamic workflow to run a John fan-out phase at scale. Use this skill whenever a phase has dozens-to-thousands of uniform per-entry work units (extract every chunk, apply every rule to every chapter, render every slide) and the session is configured for
name: vertical-workflows
description: Author a Claude Code dynamic workflow to run a John fan-out phase at scale. Use this skill whenever a phase has dozens-to-thousands of uniform per-entry work units (extract every chunk, apply every rule to every chapter, render every slide) and the session is configured for workflows. It is John's vertical-axis execution engine — it fans out worker subagents off your context, adversarially cross-checks them before anything folds in, and wires every worker to John's event log. Reach for it instead of hand-dispatching subagents one wave at a time. If workflows are unavailable, fall back to inline dispatch per subagent-dispatch.
metadata:
triggers:
- vertical workflow
- fan-out phase
- run the extract phase
- sweep at scale
- workflow for this phase
- parallel subagents at scale
- cross-check the extraction
- thousands of entriesA dynamic workflow is a JavaScript script the Claude Code runtime executes in the background. You describe the work; you write the script with your Workflow tool; the runtime fans out subagents (up to 16 at once, 1,000 per run), keeps every intermediate result in *script variables* instead of your context, and hands you back only the final summary.
For John, that is the **vertical axis** — the hundreds-to-thousands of knowledge entries that each need the same kind of work, done in parallel. Until now you walked down each column by hand, placing one subagent at a time and holding every report in your own context. Past a few dozen entries your context floods. A workflow turns the whole column into an assembly line you write once.
**This skill teaches the *shape* of a John workflow, not the workflow API.** You already have the Workflow tool and know its JavaScript surface; what you need from John is *what a John-shaped fan-out looks like* — where the work-list comes from, how workers wire to the event log, what the cross-check stage checks, and what to return. Map that shape onto the live API yourself.
John already separates **what's on disk (truth)** from **how the agent produced it (execution)**. The vertical axis writes per-entry **events** to `<project>/.john/events/<phase>/`, and `reduce_events.py` folds them into `<project>/.john/checkpoints/<phase>/state.json`. You never trust a tool-call assertion; you read the checkpoint.
A workflow is just a new **execution engine** under that contract:
This is why adoption is low-risk: nothing below the execution line changes. Same events, same reducer, same PLAN.md. See [[event-log-and-reducer]].
If the session is in `ultracode`, your default leans toward orchestrating *everything* as a workflow. **Narrow that to fan-out work.** The decision is three-tier (it mirrors [[subagent-dispatch]]):
a few units, result needed in your context → inline subagent (no workflow)
dozens–hundreds, uniform per-entry work → ONE workflow run ← this skill
thousands → batched workflow runs per chunk-range,
all writing to the same event logAuthor a workflow when the work is **uniform and high-fan-out**: "extract from every chunk," "apply every rule to every chapter," "render every slide." The per-unit task shape is identical; only the input differs. That homogeneity is exactly what a script loops over cleanly.
Do **not** reach for a workflow when:
A phase boundary — review results, update PLAN.md, ask the user — is the **seam *between* workflow runs**, never inside one. The docs' own guidance: "for sign-off between stages, run each stage as its own workflow." [[ralph-loop]] drives that seam.
Describe these stages to your Workflow tool. They are responsibilities, not a fixed script.
**Stage 0 — get the work-list (an indexing agent).** The script itself has no filesystem or shell access; only agents read and write. So the first agent reads the phase's index — e.g. `<project>/.john/chunks/chunks_index.json` — and returns the list of work units (chunk IDs, rule×chapter pairs, slide specs). The script loops over what this agent returns.
**Stage 1 — fan out one worker per unit.** Dispatch the matching `agents/*.md` worker (e.g. `knowledge-extractor`) once per work unit. Brief each worker fully — workers inherit nothing from your conversation or PLAN.md ([[subagent-dispatch]] has the briefing checklist; it applies verbatim to workflow workers). Each worker **writes its events to `<project>/.john/events/<phase>/<work-unit>/...`** and returns a one-line digest. The script collects digests in a variable; the durable record is the event files on disk.
**Stage 2 — adversarial cross-check
中文版: 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.
Design the app mechanism and build pipeline for the produced app — the app-phase analog of [[schema-design]]. Use this skill whenever the knowledge phases are…
Bundle a finished John workspace from Codex. Use when the user wants to archive, package, hand off, or preserve a John project, or wants the Claude command…
Break parsed markdown into a tree of progressively-disclosed chunks for downstream extraction. Use this skill whenever a phase needs to work on per-chunk…
Apply deterministic quality checks to the code John produces — catch the 80% of issues (leaked API keys, hardcoded prod URLs, broken imports, missing…
Generate John's process scorecard, auditor manifests, and shareable run report from a Codex project using John's provider-neutral scripts. Use when the user…
Activate a Hamster-built or otherwise applied John template for Codex in the current project. Use when a merged template plugin already exists, when the user…