mcpField
D
dynamic-workflows

dynamic-workflows

github.com/thebeardedbearsasAgent workflows10793 installsUpdated today
Repository

About dynamic-workflows

Dynamic Workflows is a Claude Code skill for scripting deterministic orchestration of sub-agents in JavaScript. It is intended for tasks that exceed one agent's context, require more than four workers, or need repeatable loops and pipelines, with run progress available through `/workflows`.

Key features

  1. 01Script sub-agent orchestration in JavaScript
  2. 02Compose loops, conditions, and fan-out
  3. 03Run pipelines and parallel stages
  4. 04Validate structured agent outputs with schemas
  5. 05Monitor phases, agents, and token use
  6. 06Save proven runs as reusable commands

Use cases

  1. 01Split a large codebase review across agents
  2. 02Verify findings with adversarial reviewers
  3. 03Generate candidates and filter them with a judge
  4. 04Repeat research until new discoveries stop

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill dynamic-workflows

After installing, type/dynamic-workflowsin Claude Code to confirm it loaded.

Details

From the project README

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

PalierOutilConcurrenceQuand
1Sub-agent simple (Task/Agent)1Une investigation isolée, garder le contexte principal propre
2Agent Teams (/team:audit, /team:sprint, /team:security)1 leader + ~3 workersTravail parallèle borné, synchrone, qui tient en un round
3Dynamic 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 5.5) — orthogonal au déclencheur ultracode des 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, presser s enregistre le script comme commande réutilisable — projet (.claude/workflows/) ou perso (~/.claude/workflows/). Un paramètre args permet 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 acceptEdits et héritent de ton allowlist, quel que soit le mode de la session (y compris plan ou default). 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) ou CLAUDE_CODE_DISABLE_WORKFLOWS=1 désactivent la fonctionnalité ; /workflows affiche 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).

Comments

Markdown supported