claude-skills/engineering/workflow-builder
Claude 7405298b4b
fix: resolve the actionable reported issues (#954, #949, #933, #931, #969, #968, #924, #885)
- #954: strip non-spec source/attribution keys from all 39 plugin.json
  manifests so Claude Code's validator accepts them; metadata preserved in
  new .claude-plugin/authoring-notes.json sidecars; check_plugin_json.py now
  hard-fails manifests carrying those keys and sanity-checks the sidecar;
  CLAUDE.md ClawHub schema section updated to the new rule.
- #949: move the c-level-agents plugin out of c-level-advisor/ to a
  top-level directory so the two marketplace sources no longer overlap;
  updated marketplace.json source, homepage, descriptions, all
  cross-references, docs, harness manifest, mirror-tree symlinks/indexes,
  and rebased the moved files' relative links; domain counters trued up
  (18 -> 19 domains).
- #933: replace dead links to the gitignored maintainer-local megaprompts/
  tree with annotated plain-text references (44 files: SKILL.md, READMEs,
  agents, commands).
- #931: DynamoDB on-demand pricing updated to post-Nov-2024 rates
  ($0.625/M writes, $0.125/M strongly consistent reads).
- #969: skill_security_auditor.py and the three dossier scripts reconfigure
  stdout/stderr to UTF-8 (errors=replace) so legacy Windows codepages no
  longer crash at print time; PYTHONUTF8=1 documented.
- #968: Windows Notes section in INSTALLATION.md + README pointer for the
  core.symlinks mirror-tree checkout caveat.
- #924/#885 residuals: hook commands quote "${CLAUDE_PLUGIN_ROOT}" paths in
  all plugin hooks.json/settings.json (space-safe roots); removed the stale
  pre-rename status/review mirror symlinks and index entries left over from
  the memory-status/memory-review rename.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qgc6RYXWJPr5oW9DHU7zR4
2026-08-21 05:47:37 +00:00
..
.claude-plugin fix: resolve the actionable reported issues (#954, #949, #933, #931, #969, #968, #924, #885) 2026-08-21 05:47:37 +00:00
agents feat(engineering): add workflow-builder skill for Claude Code workflows 2026-05-27 14:20:53 +00:00
commands feat(engineering): add workflow-builder skill for Claude Code workflows 2026-05-27 14:20:53 +00:00
skills/workflow-builder chore(workflow-builder): apply plugin-audit fixes 2026-05-27 14:47:00 +00:00
README.md feat(engineering): add workflow-builder skill for Claude Code workflows 2026-05-27 14:20:53 +00:00

workflow-builder

Design and write deterministic multi-agent workflow scripts for Claude Code's Workflow tool — .js files in .claude/workflows/ that fan work out to fresh-context sub-agents under plain JavaScript control flow. Only leaf agent() calls spend tokens, so the main session stays clean and the run is resumable.

Targets the Workflow tool introduced in Claude Code v2.1.147 (gated behind CLAUDE_CODE_WORKFLOWS=1, browsable via /workflows).

The intake-first rule

Every workflow-creation session opens with an intake question set (what task, what unit of work, known list vs. loop, barrier vs. pipeline, structured output, depth). When the user is vague, the skill does not stall or interrogate in a loop — it runs a deterministic recommendation engine that infers a topology and presents it with the reasoning ("here's what I'd build and why"), then confirms before writing any file.

What's in the box

Component Where What it does
Intake recommendation engine skills/workflow-builder/scripts/workflow_intake.py Classifies a (vague) task → recommended topology + runner-up + per-stage model plan + budget guard + a one-line rationale per choice.
Workflow validator skills/workflow-builder/scripts/validate_workflow.py Stdlib linter for .js workflows: pure-literal meta, no Date.now()/Math.random()/argless new Date(), no FS/Node APIs in the orchestrator, parallel() thunks, guarded loops, filter(Boolean), size cap. PASS / WARN / FAIL with line numbers.
Scaffolder skills/workflow-builder/scripts/scaffold_workflow.py Emits a runnable starter for any of 5 topologies (fan-out, pipeline, barrier, loop, judge-panel).
3 references skills/workflow-builder/references/ API reference · orchestration patterns · decision + intake guide (7-8 sources each).
Templates + example skills/workflow-builder/assets/ Fan-out / pipeline / loop starters + a complete PR-triage workflow.
Persona agent agents/cs-workflow-architect.md Design-first interrogator that refuses to write before the topology is confirmed.
Slash command commands/cs-workflow-build.md /cs:workflow-build <task> — runs the full intake → scaffold → validate flow.

Quick start

cd skills/workflow-builder

# 1. Turn a vague request into a concrete proposal
python scripts/workflow_intake.py --task "review my open PRs for bugs"

# 2. Scaffold the confirmed topology
python scripts/scaffold_workflow.py --topology pipeline --name pr-triage \
  --description "Triage open PRs" > /tmp/pr-triage.js

# 3. Validate before running
python scripts/validate_workflow.py /tmp/pr-triage.js

All three tools run with --sample (no args) and --help.

Running the workflows it writes

export CLAUDE_CODE_WORKFLOWS=1          # the feature is off by default
# save the .js under .claude/workflows/ , then launch + watch via /workflows
# P = pause/resume , X = skip a sub-agent ; failed agents retry automatically

Attribution

Conceptually inspired by Ray Amjad's claude-code-workflow-creator. All content here was written for this repo against Claude Code's publicly-documented Workflow tool API; no text was copied verbatim.

License

MIT.