
Workflow Builder
- 25 installs
- 416 repo stars
- Updated August 5, 2026
- boshu2/agentops
workflow-builder is a Claude Code skill that scaffolds a new Claude Workflow script for deterministic multi-agent orchestration.
About
This skill scaffolds a new Claude Workflow script for deterministic multi-agent orchestration. A developer uses it once the automation shape is confirmed to be a Workflow (a deterministic DAG returning structured JSON, run headless). It starts from a canonical template and walks through schemas-first authoring, choosing parallel() versus pipeline(), budget guards, and a conformance self-check.
- Scaffolds a runnable .claude/workflows/<name>.js for deterministic multi-agent orchestration
- Maps control-flow primitives: agent(), parallel() barrier, pipeline() default, phase() grouping
- Enforces schema-first authoring and a conformance self-check with a governance ledger row
Workflow Builder by the numbers
- 25 all-time installs (skills.sh)
- Ranked #9,764 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
workflow-builder capabilities & compatibility
- Capabilities
- workflow scaffold · agent orchestration · skill builder
- Use cases
- orchestration · planning
What workflow-builder says it does
Scaffold a new Claude Workflow script — deterministic multi-agent orchestration.
npx skills add https://github.com/boshu2/agentops --skill workflow-builderAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 25 |
|---|---|
| repo stars | ★ 416 |
| Last updated | August 5, 2026 |
| Repository | boshu2/agentops ↗ |
What it does
Scaffold a runnable Claude Workflow script that orchestrates subagents deterministically with schema-returning steps.
Who is it for?
Authoring deterministic multi-agent workflow scripts with structured-JSON returns run headless
Skip if: An attach-and-steer run (NTM) or a hard-sequential edit-loop with no parallelism (use skill-builder)
When should I use this skill?
When building, creating, scaffolding, or authoring a Claude Workflow
What you get
A runnable .claude/workflows/<name>.js with a meta block and an agent()/parallel()/pipeline()/phase() body.
- workflow-script
By the numbers
- 7-step authoring checklist
- 5 control-flow primitives
Files
Workflow Builder — scaffold a Claude Workflow script
Counterpart toskill-builder.skill-builderauthors aSKILL.md(a leaf
capability); this authors a Workflow (a composite capability — deterministic
orchestration of subagents). Reach this skill via automation-shape-routingonce the shape is confirmed Workflow (deterministic DAG + structured-JSON
returns + headless). If the shape is NTM or plain skill, you're in the wrong
builder — go back to automation-shape-routing.Confirm the shape first
Do NOT scaffold a workflow for: an attach-and-steer run (→ NTM: ntm / vibing-with-ntm), or a hard-sequential edit-loop with no parallelism (→ plain skill: skill-builder). If unconfirmed, run automation-shape-routing.
The template
Start from .claude/workflows/operating-loop.js — the canonical worked example. Copy its skeleton, don't reinvent it. A Workflow script is plain JS:
export const meta = { // REQUIRED — pure literal, no variables
name: 'my-workflow',
description: 'one line shown in the permission dialog',
phases: [ { title: 'Find' }, { title: 'Verify' } ], // one per phase() call
}
phase('Find')
const found = await parallel(FINDERS.map(f => () =>
agent(f.prompt, { schema: FINDINGS_SCHEMA, phase: 'Find' }))) // barrier
phase('Verify')
const verified = await pipeline(found.flat().filter(Boolean),
f => agent(`verify: ${f.title}`, { schema: VERDICT, phase: 'Verify' }))
return { verified }Building blocks (pick by control-flow shape)
| Primitive | Use when |
|---|---|
agent(prompt, {schema}) | one subagent; schema forces structured JSON back |
parallel([thunks]) | barrier — need ALL results together (dedup/merge/early-exit) |
pipeline(items, ...stages) | default multi-stage — no barrier, each item flows independently |
phase(title) | progress grouping; match meta.phases titles |
loop-until-budget / loop-until-dry | unknown-size discovery; guard on budget.total |
Conformance — author it as a control system, not a DAG
A workflow is an orchestrator (it gates and routes), so it must be a traversable control system, not an open-loop DAG. Before scaffolding, read [the Workflow Conformance Pattern](../../docs/architecture/workflow-conformance-pattern.md) — the copy-paste idiom for the four moves (dispatch skills as black-box schema-returning agents · gate on a delegated deterministic verdict, never a self-grade · the bounded-loop guard idiom · orchestrator-routes-never-reasons) plus the §6 five-rule self-check header to paste into your script and the workflows: ledger row scripts/check-workflow-governance.sh requires. That doc operationalizes control-loop-model.md §6; this skill scaffolds the script that satisfies it.
Authoring checklist
1. Shape confirmed Workflow (via automation-shape-routing). 2. Schemas first — define the JSON schema each agent() returns; structured output is what makes a workflow deterministic and composable. 3. Default to `pipeline()`; reach for parallel() only when a stage genuinely needs all prior results at once. 4. Conflict-free fan-out — if branches write files, give each a disjoint write-scope (the wave-validity invariant) or run in worktree isolation. 5. Budget — for loops, gate on budget.total && budget.remaining() > N. 6. Conformance self-check — paste the §6 five-rule header from the conformance pattern and mark each rule ✓/HARDENED/PENDING honestly; add the workflows: ledger row and run scripts/check-workflow-governance.sh. 7. Dry-run to validate — invoke the workflow on a tiny input; confirm the meta block parses and each phase returns its schema. This is the workflow analog of skill-auditor.
Relationship to the SDK
A workflow is a composite capability; the portable contract for it (a shape: skill|workflow discriminator, a StepGraph, a control_flow enum, a budget, an OrchestrationPort interface) is net-new agentops-core-sdk work. Author the script here; the SDK is where the contract for workflow-capabilities lives. See operating-loop-workflow for installing/running a finished workflow.
Related skills
FAQ
When should I use parallel() vs pipeline()?
Use parallel() as a barrier when a stage needs all prior results together; default to pipeline() so each item flows independently with no barrier.
What makes a workflow deterministic?
Defining the JSON schema each agent() returns first, so structured output makes the workflow deterministic and composable.