From agentic-development-workflow
Authors a dynamic multi-agent workflow script for large, uncertain, or adversarial tasks, replacing the default single-context harness with a context-isolated subagent orchestration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agentic-development-workflow:workflowThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A reusable pattern for **building a custom harness for a single task**. Instead of
A reusable pattern for building a custom harness for a single task. Instead of running the task in the one default coding harness, Claude writes a small deterministic JavaScript program — a Claude Code Workflow — that spawns and coordinates subagents, each with its own clean context window, tuned to the task at hand.
"Claude can now write its own harness on the fly, custom-built for the task at hand. While the default Claude Code harness is built for coding, … Claude is now intelligent enough to write a custom harness tailor-made for your use case." — Thariq Shihipar & Sid Bidasaria, Anthropic, "A harness for every task: dynamic workflows in Claude Code"
Not
/aep-workflow-feedback. That skill captures lessons about the AEP process. This skill is about authoring a multi-agent orchestration script for a task. Different jobs, similar prefix.
This skill is both a utility library and a standalone skill:
references/pattern-catalog.md to pick the
right sub-pattern and shape its script.AEP's third design principle: every harness component earns its place — each exists because of a specific failure mode. Dynamic workflows are a structural fix for three failure modes that appear when a complex task runs inside one context window:
| Failure mode | What it looks like | How a workflow prevents it |
|---|---|---|
| Agentic laziness | Stops after partial progress and declares done (e.g. 35 of 50 security-review items). | Fan-out gives each item its own agent; a loop-until-done stop condition replaces a fixed pass count. |
| Self-preferential bias | Praises / passes its own work when asked to verify it against a rubric. | A separate verifier agent (no authorship attachment) judges each output — the generalized form of /aep-gen-eval. |
| Goal drift | Fidelity to the original objective decays across many turns, especially after compaction; "don't do X" constraints get lost. | Each subagent gets a short, focused goal in a fresh context, so the objective never has to survive a long lossy history. |
The mechanism in every case is the same: isolated context windows + focused goals + a deterministic orchestrator instead of one long, drifting transcript.
Pick the shape that matches the task. Full intent, the Workflow primitive to use
(parallel barrier vs pipeline no-barrier vs loop), AEP examples, and skeletons
are in references/pattern-catalog.md.
| Sub-pattern | One-liner | AEP instance |
|---|---|---|
| Classify-and-route | A classifier agent decides the task type / model tier, then routes. | /aep-dispatch readiness-score routing + "…with workflow" opt-in |
| Fan-out-and-synthesize | Split into many small steps → one agent each → a barrier merges results. | /aep-executor workflow mode (one agent per story) |
| Adversarial verification | For each output, a separate agent tries to refute it against a rubric. | /aep-gen-eval (generator/evaluator) generalized to N verifiers |
| Generate-and-filter | Generate many candidates → dedupe → keep only rubric-passing ones. | naming / design option generation |
| Tournament | N approaches compete; pairwise judging until a winner (comparative > absolute). | taste-based decisions (naming, design direction) |
| Loop-until-done | Keep spawning until a stop condition (no new findings / no errors), not a fixed count. | /aep-autopilot tick loop is the long-lived cousin |
These compose: a thorough review is fan-out → adversarial verify → loop-until-dry.
Workflows are powerful but cost significantly more tokens. They are not needed for every task.
Reach for a workflow when:
Do NOT reach for a workflow when:
/aep-gen-eval loop already covers the verification need.Rule of thumb from the article: "use workflows creatively to push Claude Code in ways you haven't previously" — not as a default wrapper around routine work.
ultracode keyword. Including ultracode forces Claude Code to author a
workflow for the request./aep-executor's workflow backend mode (one agent per
locked story, hub-and-spoke gating). See
../executor/references/backends.md → Mode: workflow.Pair with other tools:
/loop — run a repeatable workflow (triage, research, verification) on an
interval./goal — set a hard completion requirement so the workflow can't quit early
(counters laziness).s in the workflow menu to save to
~/.claude/workflows, or distribute via a skill. Treat a saved workflow as a
template, not a script to run verbatim.| AEP touchpoint | Sub-pattern it uses | Relationship |
|---|---|---|
/aep-executor workflow mode | fan-out / pipeline | Runs one dispatched build wave as a Workflow script — the narrow use. This skill is the general catalog and the "should I even use a workflow" judgment. |
/aep-gen-eval | adversarial verification | Generator/evaluator separation is the canonical instance; workflows generalize it to N independent verifiers/refuters per finding. |
/aep-validate | gen/eval today; fan-out as upgrade | Validate runs a fixed Generator/Evaluator(/Protocol Checker) trio and checks claims inside the evaluator. When there are many independent claims, a workflow upgrades that to one verifier per claim — a generalization validate does not do today. |
/aep-dispatch | classify-and-route (score-based) | Dispatch routes by readiness_score and offers the "…with workflow" batch opt-in. A classifier agent / model-tier routing is the workflow generalization, not what dispatch does today. |
/aep-autopilot | loop-until-done | The tick loop is the long-lived, OS-driven cousin of an in-workflow loop-until-dry. |
After sync with the aep- prefix, the catalog is at:
.claude/skills/aep-workflow/references/pattern-catalog.md
parallel (barrier — you need all results together,
e.g. before a dedupe/synthesize), pipeline (no barrier — each item flows
through stages independently, the default), or a loop (unknown amount of work).Read references/pattern-catalog.md for skeletons.
Why a pattern, not just the executor mode. /aep-executor already has a
workflow backend — but it is narrow: run one dispatched build wave as a
fan-out. The article's idea is broader (verification, tournaments, research,
triage, evals, sorting at scale) and the most valuable judgment is when a task
warrants a workflow at all. That judgment belongs in a first-class pattern, not
buried in one executor mode.
Why it sits next to gen-eval, not inside it. Generator/evaluator is one
sub-pattern (adversarial verification with N=1 evaluator). /aep-gen-eval stays
the canonical, reusable implementation; this skill points to it rather than
re-specifying scoring. Likewise /aep-autopilot owns the long-lived loop; this
skill only describes loop-until-done in the short-lived workflow sense.
Why "when NOT to" is load-bearing. Workflows multiply token cost. Without an explicit guardrail, the pattern degrades into a reflex wrapper around routine coding — exactly what the article warns against.
After deciding on / authoring a workflow, control returns to the calling context:
/aep-executor workflow mode runs it./aep-validate or /aep-gen-eval./loop if recurring.npx claudepluginhub memorysaver/agentic-engineering-patterns --plugin patternsOrchestrates deterministic JS workflows for Claude Code subagents with phases, parallelism, and quality patterns. For fan-out to hundreds of agents or codebase-wide audits.
Authors a reusable, deterministic agent orchestration workflow as a self-contained .mjs script for Claude Code's Workflow tool, with structured phases, fan-out, and verification.
Guides using Claude Code dynamic workflows to orchestrate many subagents for large-scale tasks like codebase sweeps or migrations.