Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/data-wise/craft/workflow-enginenpx skills add Data-Wise/craft --skill workflow-enginegit clone --depth 1 https://github.com/Data-Wise/craftWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00101 | $0.02105 |
| Opus 5 | $0.00051 | $0.01052 |
| Sonnet 5 | $0.00020 | $0.00421 |
| Haiku 4.5 | $0.00010 | $0.00211 |
Grade A, and why
workflow-engine scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workflow Engine
The reusable execution body behind /craft:orch:workflow. The command
owns args (--dry-run, --resume, --refine); this skill owns the work.
Unlike drive-engine (improvises "what next" each turn) the control flow here
is fixed in the definition — only the count of agents in a parallel
stage flexes to upstream data. That determinism is real only because the
mechanical steps are delegated to scripts/workflow_parse.py, never
improvised. You orchestrate and judge the advisory semantic layer; the Python
core decides everything that must be reproducible.
Hard rule — delegate the deterministic mechanics
Never eyeball these. Always shell out to the core:
| Mechanic | Call | Decision it owns |
|---|---|---|
| Compile plan | python3 scripts/workflow_parse.py <file> |
wave order + fan-out shape (D1/D3) |
| Structural gate | gate_output(data, schema, stage) |
pass/fail per agent output (D2 layer 1) |
| Cache key | cache_key(stage_block, resolved_input, role_version) |
replay vs re-run (D4) |
| Cascade | cascade_invalidate(stages, changed, build_deps(plan)) |
downstream invalidation (D4) |
| Fan-out | resolve_fanout(over, upstream_outputs) |
bound items; empty → hard abort (D6) |
| Semaphore | sem_acquire/sem_release/sem_reconcile |
live-agent ceiling (D5) |
Agent Prompt Composition (Lever B — prompt-trim)
Every subagent prompt MUST contain exactly three parts — nothing more:
-
Spec slice — only the portion of the WORKFLOW definition scoped to THIS agent's files/phase. Do NOT pass the entire WORKFLOW-*.yaml to every agent. Extract and pass only the stage block(s) the agent needs to execute.
-
Summarized prior outputs — a brief structured summary of earlier stage results (~200 tokens max per stage). Do NOT include full transcripts or raw prior-agent outputs. Derive the summary from the structured return values cached in
.craft/workflow-runs/<run-id>/. -
Structured-return instruction — end every prompt with exactly:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 178 lines · 101 tokens per session scan A 0f0a853471c8
workflow-engine is a skill published in the GitHub repository Data-Wise/craft (4 stars, last pushed 16d ago), licensed MIT. It adds 101 tokens to every session and 2,105 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
github-actions-workflow
Scaffolds or audits a GitHub Actions CI/CD workflow for a project. Covers job structure, caching, secrets handling, concurrency groups, environment gates, and reusable workflows via workflowcall. Invoked when the user asks to set up CI, add a GitHub Actions workflow, improve pipeline performance, or share workflow…
specflow
Spec-driven development with executable contracts.
specflow-loop-selector
Selects the correct Specflow loop and forces a concrete run contract before work starts. Use when an agent is asked to start Specflow work, build a ticket, create/refine a PRD, investigate an existing product, run Gate D, choose between spec-build and feature-build, or "go find out about" Specflow loops. Compatible…
specflow-simulate
Simulates end-to-end usage of a Specflow story across multiple personas and divergent routes to discover gaps, edge cases, and unhandled branches BEFORE the story is built — then proposes each finding as a concrete story addition (new REQ, negative-path AC, Gherkin branch, or journey step). This is the high-value…
specflow-audit
Audits a Specflow story/ticket for spec-compliance and surgically uplifts it — adding only the missing executable contract sections (SQL/RLS, TypeScript interfaces, invariant codes, Gherkin, acceptance criteria, Definition of Done, data-testid coverage) — then runs a pre-flight gate that refuses to mark the ticket…
architecture-review
Conducts a comprehensive multi-perspective architecture review using ALL architecture team members. Use when the user requests "Start architecture review", "Full architecture review", "Review architecture for version X.Y.Z", "Conduct comprehensive review", or when they want assessment from multiple perspectives. Do…