vibe-dynamic-workflows
State-of-the-art imitation of Claude Code's Dynamic Workflows for Mistral Vibe — as a native Vibe plugin (Agent Plugins 1.0).
One orchestrator skill plans your task, fans it out across parallel subagents, re-verifies every finding independently, has adversaries try to break the result, iterates until the answers converge, and hands you a single coordinated report. Nothing unverified reaches you.
you -> /workflows:run audit the auth service for input-validation bugs
|
|- plan 6 workers - independent verification - adversarial pass
|- confirm [you approve the plan before it runs]
|- run -> wf-bug-hunt-01 -> 34 endpoints checked,
| 5 confirmed issues, 2 refuted, 1 uncertain, report written
What it gives you
| Component | Role |
|---|---|
/workflows:run <task> | Full dynamic workflow: plan, fan-out, verify, attack, converge, report |
/workflows:stress-test <plan> | "A plan you want stress-tested from every angle before you commit to it": feasibility, correctness, security, cost, alternatives |
workflows:worker | Subagent executing one narrow mandate, replies in summaries with evidence |
workflows:verifier | Re-checks one finding independently from scratch: CONFIRMED / REFUTED / UNCERTAIN |
workflows:adversary | Tries to break the result: BREAKER / RISK / NIT objections |
Hooks (ai.mistral.vibe/hooks.toml) | Native enforcement: spawn budget cap, spawn audit log, shell guard against irreversible commands |
| Knowledge folder | The research this imitates, in the plugin, for any agent to consult |
Behaviors faithful to the original feature:
- Confirmation before the first fan-out — you see the plan (workers, mandates, verification approach) before it runs.
- Verification before delivery — a finding enters the report only after an independent verifier confirms it.
- Adversarial pass — dedicated agents try to refute what survived.
- Convergence loop — holes get targeted re-waves, until convergence or a hard budget of 3 rounds.
- Resumable checkpoints — all run state in the scratchpad
(
workflows/<run-id>/), so an interrupted run resumes instead of restarting. - Failed workers are dropped, not fatal.
- Native enforcement — plugin hooks make the budgets real: a
pre_toolhook denies workflow spawns pastWORKFLOWS_SPAWN_CAP(default 40), apost_toolhook counts executed spawns and writes an audit trail to${VIBE_HOME:-~/.vibe}/workflows-hooks/, and a shell guard blocks irreversible commands (rm -rf,git push,git reset --hard,git clean -f) in command position.
Install
git clone https://github.com/deessee0/vibe-dynamic-workflows.git \
~/.vibe/plugins/workflows
Or for one project only: clone into <project>/.vibe/plugins/workflows/
(trusted folder required). Then run /reload inside Vibe, and check
/plugins — the plugin should appear with no diagnostics.
Vibe 3.0.x parses plugin hooks but only executes hooks declared in
~/.vibe/hooks.toml / .vibe/hooks.toml. If you cloned the repository
(rather than an archive), run ./install.sh from it once: it copies the
plugin without .git and merges the three enforcement hooks into
~/.vibe/hooks.toml under workflows:-prefixed names (idempotent;
skip with WORKFLOWS_NO_HOOKS=1). User-scope hooks apply to every
session — delete the workflows: blocks from that file to remove them.
Requires Vibe 2.x+ (plugins, agents.spawn, scratchpad).
Use
/workflows:run find every endpoint in src/auth that trusts client input
/workflows:run stress-audit: dead code across the whole service
/workflows:stress-test @docs/migration-plan.md
Or just ask: "run a workflow to " — the skills describe when the agent should start one on its own judgment (big, parallelizable, verifiable tasks only).
When NOT to use it
Small, sequential, or unverifiable tasks. A workflow multiplies token usage — every worker, verifier, and adversary is its own conversation. Start with a scoped task to get a feel for the cost, like the original docs recommend.
Not Mistral's "Workflows"
Mistral's own product pages called Workflows
(docs.mistral.ai/studio/workflows, plus "Run Workflows" under Vibe
Work docs) are a durable-orchestration platform in Studio: workflows in
Python, activities for side effects, replay from history, pauses on
human signals. This plugin shares only the name. It is Claude
Code-style dynamic agent orchestration inside a Vibe session:
conversational subagents, no platform, no durability beyond the
scratchpad.
How it maps to Claude Code's Dynamic Workflows
| Claude Code | This plugin |
|---|---|
"Create a workflow" / ultracode | /workflows:run, /workflows:stress-test |
| Dynamic plan + parallel fan-out | Orchestrator skill + tools.agents.spawn in waves of 4-6 |
| Verification of every finding | workflows:verifier |
| Adversarial refutation | workflows:adversary |
| Iterate until convergence | Convergence loop, max 3 rounds |
| First-run confirmation | Plan approval gate in Phase 1 |
| Progress saved during the run | Scratchpad checkpoints per run id |
| Enforcement of budgets / safety rails | Plugin hooks: spawn cap, spawn audit, shell guard |
Full research notes and sources live in
ai.mistral.vibe/knowledge/dynamic-workflows/KNOWLEDGE.md.
Honest limitations vs the original
- Scale: waves of 4-6 workers, not tens to hundreds of agents.
- Orchestration runs inside the main conversation, not in an external daemon; the scratchpad gives resumable state, not crash recovery.
- No
ultracodeauto-trigger. - Plugin hooks are parsed but not executed by Vibe 3.0.x —
install.shworks around this by merging them into~/.vibe/hooks.toml(user scope, every session). Revisit when plugin-hook execution ships.
For the full external-daemon experience see open-dynamic-workflows (no Vibe adapter as of October 2026).
License
MIT