Dynamic Workflow Mode
affaan-m/ECC
Design task-local harnesses, eval gates, and reusable skill extraction for Claude dynamic workflow mode and other adaptive agent harnesses.
Plan-in-code fan-outs, adversarial verification, waves. An agent skill from NousResearch/hermes-agent.
$ npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NousResearch/hermes-agent dynamic-workflow --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/autonomous-ai-agents/dynamic-workflow .claude/skills/dynamic-workflow && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dynamic-workflow" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/autonomous-ai-agents/dynamic-workflow into .claude/skills/dynamic-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dynamic-workflow", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/autonomous-ai-agents/dynamic-workflowType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NousResearch/hermes-agent dynamic-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/optional-skills/autonomous-ai-agents/dynamic-workflow .agents/skills/dynamic-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dynamic-workflow" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/autonomous-ai-agents/dynamic-workflow into .agents/skills/dynamic-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dynamic-workflow", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NousResearch/hermes-agent dynamic-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/optional-skills/autonomous-ai-agents/dynamic-workflow .cursor/skills/dynamic-workflow && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dynamic-workflow" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/autonomous-ai-agents/dynamic-workflow into .cursor/skills/dynamic-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dynamic-workflow", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NousResearch/hermes-agent.git --path optional-skills/autonomous-ai-agents/dynamic-workflow--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NousResearch/hermes-agent dynamic-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/optional-skills/autonomous-ai-agents/dynamic-workflow .gemini/skills/dynamic-workflow && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dynamic-workflow" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/autonomous-ai-agents/dynamic-workflow into .gemini/skills/dynamic-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dynamic-workflow", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NousResearch/hermes-agent dynamic-workflowInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/optional-skills/autonomous-ai-agents/dynamic-workflow .github/skills/dynamic-workflow && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dynamic-workflow" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/autonomous-ai-agents/dynamic-workflow into .github/skills/dynamic-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dynamic-workflow", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NousResearch/hermes-agent dynamic-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/optional-skills/autonomous-ai-agents/dynamic-workflow .opencode/skills/dynamic-workflow && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dynamic-workflow" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/autonomous-ai-agents/dynamic-workflow into .opencode/skills/dynamic-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dynamic-workflow", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dynamic-workflowPlan-in-code fan-outs, adversarial verification, waves. An agent skill from NousResearch/hermes-agent.
Dynamic Workflow is an agent skill from NousResearch/hermes-agent. Plan-in-code fan-outs, adversarial verification, waves.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: The agent that grows with you. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0e37a43. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dynamic Workflow loads about 2.8k tokens when it runs. Until then it costs about 18 tokens; SKILL.md has 1,472 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from NousResearch/hermes-agent at commit 0e37a43, republished under its MIT licence (© NousResearch). 1,472 words, ~2,807 tokens.
.claude/skills/dynamic-workflow/SKILL.md (or your agent's skills folder).Runs large fan-out work as a workflow: the plan, the loop and every intermediate
result live in a script and on disk, so the parent's context holds only verified
results. Covers one-shot fan-outs, adversarial convergence (attempts + refuters),
and multi-wave campaigns that integrate dozens of worker branches. It does not
make delegate_task durable across restarts; that is the kanban swarm's job.
Reach for it when the unit of work is clear (a file, an endpoint, a record) and
there are more units than one context can hold. Skip it for under ~10 units or
for serial chains. For a refactor or fix campaign on hermes-agent itself, load
hermes-agent (the dev workflow) alongside; this skill owns the fan-out shape.
delegate_task available and delegation.max_concurrent_children sized for
the wave (default 10; the runtime rejects a tasks=[] larger than that with a
clear error rather than queueing). delegation.max_spawn_depth >= 2 only if
children must fan out themselves.<!-- no-tmp: ok — explains why a literal /tmp is wrong -->
$TMPDIR, else the platform temp dir). Never a literal /tmp:
Termux has no such directory and native Windows breaks on it. Use <tmp>/wf_<name>_<uuid>/, unique per
run, so an interrupted earlier run cannot leave stale outputs to be misread.execute_code for the deterministic layer (only web_search, web_extract,
read_file, write_file, search_files, terminal, patch exist inside it).Two layers, split by a real capability boundary:
Layer A - execute_code script | Layer B - delegate_task batch | |
|---|---|---|
| Use for | DETERMINISTIC work: fetch N URLs, parse N files, run N commands, template N outputs, build manifests, merge outputs | LLM-JUDGMENT work: classify, review, decide, write, refute, refactor one unit |
| Holds | loop, branching, intermediate variables | nothing; one call with tasks=[...], each task its own isolated agent |
| Tools | the sandbox set above; it can NOT call delegate_task | the parent's toolsets, inherited unchanged (no per-task narrowing); children lose delegate_task, clarify, memory, send_message, cronjob_manage |
| Concurrency | yours (ThreadPoolExecutor, batches) | bounded by delegation.max_concurrent_children |
| Cost | tool calls only | one full agent tree per task; multiplies linearly |
Do the deterministic part in Layer A first, fan out only the irreducibly-LLM step in Layer B, synthesize on the parent.
A top-level delegate_task returns immediately with one handle per task; each
child's result re-enters the conversation as a new message when it finishes. You
cannot read out_*.csv on the line after the call. Finish whatever does not
depend on the children, give a one-line status, and END YOUR TURN; act on each
result message as it lands. An ordinary follow-up user message does not cancel
children; /stop, /new and process exit do. Only a delegation issued by an
orchestrator subagent (depth > 0) is synchronous.
<run>/manifest.jsonl; print count + run dir.summary field (it truncates under load); delimiter-separated lines over JSON.max_concurrent_children, issue bounded waves yourself.delegate_task(tasks=[...]); each task reads its slice, writes
<run>/out_<i>.csv, prints a status word, stops.context, each writing one claim per line to
<run>/attempt_<i>.md. Located, individually falsifiable claims only
("POST /api/users/:id/role in src/routes/users.ts:142 has no role check");
a refuter cannot break "the auth layer has problems".claim_idx|survives|counter_evidence. Give them the sources, not the
attempts' reasoning.The same mechanic protects the parent from its own wrong premises: when you hand children a heuristic ("every patch target on a facade is a dead seam"), tell them to refute it with evidence before acting on it. Four squads doing so turned a 647-site blanket rewrite into 59 real fixes and saved 130+ green tests.
The one-shot recipe does not scale to a whole-codebase pass. What did:
BRIEF.md plus a per-cluster task_<cluster>.md. Every child reads
both. When the fleet drifts (children shaving docstrings instead of cutting
code), patch the brief once and steer; re-dispatched children inherit the fix.git commit -- <paths> only; a bare commit swept a sibling's staged hunks.completed with a few dozen log lines, or
with 0 commits on its branch, has not finished; look for its sub-branches or
re-dispatch it with the predecessor's worktree and diff.git rev-list --count <integration>..<branch>
is 0 for EVERY branch. Workers keep committing after you merge their tip;
168 commits across six slices were once left behind that way.-j.
Many parallel low--j runners were slower AND killed each other's process
groups. Red files are re-run on a bare origin/main worktree in the same
venv; identical per-file failure sets are pre-existing, not yours.HERMES_HOME,
expectation written before the check, evidence on disk, report only, and a
PR-vs-main difference is the only thing that counts as a regression. Green
unit tests missed the one P0 (a logged-in code path no test exercised).HANDOFF.md: why it died, which handles are dead,
per-branch scorecard (LOC delta, import smoke, targeted tests), and the exact
re-dispatch text. Snapshot every dirty worktree into a wip: commit first.delegate_task inside an execute_code script: not in the sandbox.delegate_task: it is turn-scoped
and dies with the process. Durable graph = kanban swarm; one-off = cronjob.summary for content, or status=completed for completion.git stash anywhere in a worktree campaign: refs/stash is shared across
worktrees and another worker will pop your edits. Compare via a temp worktree.out_*.csv exists and was written this run.© NousResearch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in optional-skills/autonomous-ai-agents/dynamic-workflow of NousResearch/hermes-agent.
Open the folder on GitHubat commit 0e37a43
Dynamic Workflow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dynamic Workflow this skillNousResearch/hermes-agent | 252k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Dynamic Workflow Modeaffaan-m/ECC | 274k | 1 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Open Dynamic Workflowssickn33/agentic-awesome-skills | 47k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Molecular DynamicsK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~4.7k | Automated safety check: Pass | MIT | |
| Elliott Wave Signal EngineHKUDS/Vibe-Trading | 35k | — | ~482 | Automated safety check: Pass | MIT | |
| Dynamic Workflowszai-org/ZCode | 7.5k | — | ~23k | Automated safety check: Pass | Apache-2.0 |
affaan-m/ECC
Design task-local harnesses, eval gates, and reusable skill extraction for Claude dynamic workflow mode and other adaptive agent harnesses.
sickn33/agentic-awesome-skills
Plan, orchestrate, and adversarially verify parallel AI coding agents with a dynamic multi-agent workflow engine.
K-Dense-AI/scientific-agent-skills
Runs and analyzes molecular dynamics simulations with OpenMM and MDAnalysis.
HKUDS/Vibe-Trading
Detects Elliott Wave structures in price data with a Zigzag swing finder and Fibonacci checks, and turns completed waves into long, short or flat signals.
zai-org/ZCode
A skill your agent uses when writing, debugging, or resubmitting a dynamic-workflow script for the CreateWorkflow tool: choosing subagent topology, typing subagent results, fanning out over files or…
mengxi-ream/read-frog
Adversarial code review using cross-model approach. An agent skill from mengxi-ream/read-frog.
NousResearch/hermes-agent
Produces a presenter-led video from a topic or script plus one authorized presenter image, with captions, lip-sync checks and acceptance reports.
NousResearch/hermes-agent
Creates, reads, edits and templates Word .docx files with python-docx scripts, including tracked changes, comments, tables of contents and health checks.
NousResearch/hermes-agent
Attaches a numbered, URL-backed citation to every outside fact in an answer or document, rejecting quotes that aren't real.
NousResearch/hermes-agent
PDF files: create, read, merge, fill, OCR, edit text. An agent skill from NousResearch/hermes-agent.
NousResearch/hermes-agent
Premium scroll-driven landing pages; scroll = timeline. An agent skill from NousResearch/hermes-agent.
NousResearch/hermes-agent
Create, read, edit Excel .xlsx workbooks and CSVs. An agent skill from NousResearch/hermes-agent.
Plan-in-code fan-outs, adversarial verification, waves. An agent skill from NousResearch/hermes-agent. Dynamic Workflow is an agent skill from NousResearch/hermes-agent. Plan-in-code fan-outs, adversarial verification, waves.
Run `npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a claude-code`. Or copy the skill folder (optional-skills/autonomous-ai-agents/dynamic-workflow in NousResearch/hermes-agent) into .claude/skills/dynamic-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a codex`. Or copy the skill folder (optional-skills/autonomous-ai-agents/dynamic-workflow in NousResearch/hermes-agent) into .agents/skills/dynamic-workflow in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NousResearch/hermes-agent --skill dynamic-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dynamic-workflow, .gemini/skills/dynamic-workflow, .github/skills/dynamic-workflow and .opencode/skills/dynamic-workflow in your project.
Going by SKILL.md and its folder, Dynamic Workflow needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Dynamic Workflow is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dynamic Workflow: Dynamic Workflow Mode (affaan-m/ECC, 274k stars), Open Dynamic Workflows (sickn33/agentic-awesome-skills, 47k stars), Molecular Dynamics (K-Dense-AI/scientific-agent-skills, 48k stars) and Elliott Wave Signal Engine (HKUDS/Vibe-Trading, 35k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NousResearch (a GitHub organization) maintains it in NousResearch/hermes-agent, which has 251,739 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 7, 2026.
Source: NousResearch/hermes-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.