Skill swarm — traitement parallèle par table de tâches
Ce skill fait partie du repository langchain-ai/langchain-skills, une collection de skills pour agents de code (Claude Code, Cursor, Windsurf, etc.) supportant la spécification Agent Skills. Le skill swarm est pleinement documenté et opérationnel : il expose une API JavaScript permettant de traiter un grand nombre d'items indépendants en parallèle, en s'appuyant sur le concept de table de travail.
Fonctionnement général
Le workflow repose sur trois fonctions principales importées depuis @/skills/swarm :
create(source)— construit une table à partir de fichiers (glob, liste explicite) ou de records préparés (tasks). Chaque ligne représente une unité de travail indépendante. Retourne un handle{ id, count, columns }.run(tableId, options)— dispatche un template d'instructionsur chaque ligne de la table, soit via un appel direct au modèle (classification, extraction), soit via un subagent nommé (subagentType) pour les tâches nécessitant des outils ou plusieurs étapes. Retourne un rapport{ completed, failed, skipped, failures }.rows(tableId, options?)— récupère les lignes pour inspection ou agrégation en JavaScript pur, sans lancer de subagents supplémentaires.
Sources, batching et filtrage
Le skill accepte trois types de sources : un pattern glob (un fichier = une ligne), une liste de chemins explicites, ou des records JavaScript passés directement. Le batching est automatique par défaut (max 10 dispatches), mais configurable via batchSize (nombre fixe ou fonction (row, rowCount) => number). Le filtrage permet de cibler des sous-ensembles de lignes, notamment pour rejouer uniquement les lignes en échec ({ column: "result", exists: false }).
Cas d'usage typiques
Ce skill est conçu pour des scénarios tels que la classification ou l'extraction en masse, la revue de sécurité de fichiers source, l'annotation de datasets JSONL/CSV, ou l'application de corrections automatisées sur un ensemble de fichiers. Les passes peuvent être chaînées : chaque appel à run() ajoute des colonnes à la table existante, permettant des workflows multi-étapes sans recharger les données.
Utilisation dans le repo
Après installation via npx skills add langchain-ai/langchain-skills, le skill est disponible dans le contexte de l'agent. Il suffit d'importer uniquement les fonctions nécessaires ({ create }, { run }, { create, run }) dans les blocs eval où elles sont appelées. La préparation des données (lecture de fichiers, parsing) peut être faite dans des blocs séparés sans import du skill.