dynamic-workflows
Orchestrate dozens-to-hundreds of subagents from a script Claude writes (Claude Code Dynamic Workflows, trigger `ultracode`). Use when a task exceeds a single agent's context or needs more than ~4 concurrent workers — large audits, migrations, multi-source research, fan-out reviews. Distinct from Agent Teams (synchronous, ≤4 workers) and ralph-run (sequential single-context loop).
How do I install this agent skill?
npx skills add https://github.com/thebeardedbearsas/claude-craft --skill dynamic-workflowsIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides documentation and implementation patterns for the 'Dynamic Workflows' feature in Claude Code. It instructs the agent on how to orchestrate multiple sub-agents via JavaScript. It includes prominent security warnings about auto-approval of file edits and provides configuration options to disable the feature.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Dynamic Workflows — orchestration multi-agents scriptée
Dynamic Workflows (Claude Code 2.1.154+, mot-clé déclencheur ultracode) laissent Claude
écrire un script JavaScript qui orchestre des sous-agents de façon déterministe (boucles,
conditions, fan-out). Le script tourne en arrière-plan ; on suit l'exécution via /workflows.
⚠️ Opt-in coûteux : un workflow peut lancer des dizaines à centaines de sous-agents. Ne l'utiliser que sur demande explicite (mot « ultracode », « use a workflow », « fan out agents ») ou quand le palier de complexité ci-dessous est franchi.
Quand l'utiliser — les 3 paliers d'orchestration
| Palier | Outil | Concurrence | Quand |
|---|---|---|---|
| 1 | Sub-agent simple (Task/Agent) | 1 | Une investigation isolée, garder le contexte principal propre |
| 2 | Agent Teams (/team:audit, /team:sprint, /team:security) | 1 leader + ~3 workers | Travail parallèle borné, synchrone, qui tient en un round |
| 3 | Dynamic Workflows (ultracode) | jusqu'à ~1000 sous-agents (cap concurrent ~16) | La tâche dépasse le contexte d'un agent OU exige >4 workers OU une boucle/pipeline déterministe |
Heuristique break-even : dès que tu écrirais « lance N agents, puis pour chacun fais X, puis agrège » — c'est un workflow. Si N ≤ 4 et une seule passe suffit, reste sur Agent Teams.
Patterns composables (prompts minimaux)
- Fan-out & synthesize — N lecteurs en parallèle sur des sous-systèmes disjoints → un agent synthétise. (audit, cartographie de code)
- Adversarial verification — chaque finding passé à ≥1 sceptique chargé de le réfuter ;
ne garder que les
CONFIRMED. Le pattern qualité le plus important pour la génération autonome. - Generate-and-filter — générer large (idées, candidats), puis filtrer par un juge.
- Classify-and-act — un classifieur route chaque item vers le traitement adapté.
- Pipeline — chaque item traverse toutes les étapes sans barrière (latence = pire chaîne, pas somme des étapes). C'est le défaut multi-étapes.
- Loop-until-done / loop-until-dry — relancer des chercheurs jusqu'à K rounds sans nouveauté (découverte de taille inconnue : bugs, edge cases).
Squelette type (review → verify)
const results = await pipeline(
DIMENSIONS,
d => agent(d.prompt, { phase: 'Review', schema: FINDINGS }),
review => parallel(review.findings.map(f => () =>
agent(`Adversarially verify: ${f.title}. Default refuted=true if unsure.`,
{ phase: 'Verify', schema: VERDICT }).then(v => ({ ...f, verdict: v }))))
)
const confirmed = results.flat().filter(Boolean).filter(f => f.verdict?.isReal)
pipeline() par défaut (pas de barrière) ; parallel() seulement quand l'étape N a besoin de TOUS
les résultats de N-1 (dédup, early-exit, comparaison croisée). schema force une sortie structurée
validée. Pour des éditions concurrentes de fichiers, isolation: 'worktree'.
Monitoring
/workflows: progression live (phases, agents, tokens).- Le script revient avec un résultat agrégé ; lire ce résultat, décider la suite (souvent plusieurs workflows en séquence : comprendre → concevoir → implémenter → revoir).
À ne pas confondre
- ralph-run (
/common:ralph-run) : boucle séquentielle mono-contexte jusqu'à une DoD — pas de parallélisme. Pour une tâche qui dépasse ce modèle, basculer sur un Dynamic Workflow. /effort ultracode: palier d'effort CLI (débit code max sur Opus 4.8) — orthogonal au déclencheurultracodedes workflows, même si souvent utilisés ensemble.
Réutilisation & garde-fous (v2.1.166+)
- Essayer d'abord le workflow intégré
/deep-research(recherche multi-sources vérifiée) avant d'en écrire un : beaucoup de besoins « fan-out web + synthèse » y sont déjà couverts. - Sauvegarder un run éprouvé : dans
/workflows, pressersenregistre le script comme commande réutilisable — projet (.claude/workflows/) ou perso (~/.claude/workflows/). Un paramètreargspermet de le rejouer avec une entrée différente (question de recherche, chemin cible…). - ⚠️ Sécurité — acceptEdits implicite : les sous-agents lancés par un workflow tournent toujours en
mode
acceptEditset héritent de ton allowlist, quel que soit le mode de la session (y comprisplanoudefault). Les éditions de fichiers sont auto-approuvées. Ne fan-out des agents qui écrivent qu'en zone maîtrisée (worktree isolé, cf. règle 11 sur l'hygiène des permissions). - Coupe-circuit & coût :
disableWorkflows(settings.json) ouCLAUDE_CODE_DISABLE_WORKFLOWS=1désactivent la fonctionnalité ;/workflowsaffiche la consommation de tokens en direct (un workflow coûte significativement plus qu'un contexte unique — piloter avec un budget explicite).
Référence : Claude Code Workflows · voir aussi
@.claude/commands/common/sub-agents-patterns.md(tableau comparatif des orchestrations).
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/thebeardedbearsas/claude-craft/dynamic-workflows">View dynamic-workflows on skillZs</a>