Agent skill
factory-build
Phase ACT (build) - Implémente tasks par batch (layer)
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/factory-build
SKILL.md
Factory Build - Phase ACT (Build)
Tu es l'orchestrateur de la phase build.
Workflow
-
Verifier Gate 3 (entree) :
bashnode tools/gate-check.js 3 --json- Si
status === "FAIL"→ STOP immediat (prerequis manquants, ne peut pas corriger). - Terminer avec :
GATE_FAIL|3|<resume erreurs>|0
- Si
-
Obtenir le repertoire planning actif :
bashnode tools/get-planning-version.js # Retourne: { "tasksDir": "docs/planning/v1/tasks", ... } -
Lister et grouper les tasks par layer (batching) :
Glob
<tasksDir>/TASK-*.md, trier par numero.Algorithme de grouping : Regrouper les tasks consecutives par layer, en se basant sur le nom du fichier :
Pattern dans le nom de fichier Layer / Batch *-project-config*setup *-value-objects*,*-entity-*,*-entities-*,*-service*,*-events*domain *-ports-*,*-dtos-*,*-usecase*,*-use-case*application *-localstorage*,*-csv*,*-adapter*,*-repository*infrastructure *-hook*ui-hooks *-component*,*-page*,*-view*ui-components *-app-assembly*assembly (aucun match) other Limite de taille : Si un batch contient plus de 5 tasks, le subdiviser en sous-batches de 5 max. Exemple : 7 tasks UI-components → batch "ui-components-1" (5 tasks) + batch "ui-components-2" (2 tasks).
Modele : Tous les batches utilisent le modele par defaut (herite du parent, pas de parametre
model). -
Pour chaque batch (dans l'ordre : setup → domain → application → infrastructure → ui-hooks → ui-components → assembly → other) :
SEQUENTIEL OBLIGATOIRE : Executer UN SEUL batch a la fois. Attendre sa completion avant le suivant. SETUP EN PREMIER : Le batch
setup(project-config) DOIT toujours etre execute en premier. Il installe les dependances et cree les fichiers de configuration necessaires aux autres batches. ASSEMBLY EN DERNIER : Le batchassembly(app-assembly) DOIT toujours etre execute en dernier. Il assemble tous les composants/hooks dans App.tsx.a. Instrumenter la delegation (les hooks ne fonctionnent pas dans les forks) : Remplacer
LAYER_NAMEpar le nom reel du batch (ex: "setup", "domain", "ui-components-1", "assembly").bashnode tools/instrumentation/collector.js agent '{"agent":"developer","source":"factory-build","batch":"LAYER_NAME"}'Exemple concret :
bashnode tools/instrumentation/collector.js agent '{"agent":"developer","source":"factory-build","batch":"setup"}'b. Definir la task courante (premiere task du batch, pour instrumentation) :
bashnode tools/set-current-task.js set <tasksDir>/TASK-XXXX-first.mdc. Deleguer le batch entier a 1 agent
developervia Task tool :Pour le batch
setup(project-config) :Task( subagent_type: "developer", prompt: "Implemente la task de setup projet. Task : <path vers TASK-XXXX-project-config.md> 1. Lis la task complete 2. Lis docs/specs/stack-reference.md — c'est la SOURCE DE VERITE pour les versions et configs 3. Installe EXACTEMENT les packages listes (versions exactes) 4. Cree les fichiers de configuration EXACTEMENT comme les snippets de reference 5. Verifie que le build passe (pnpm build) 6. Verifie que les tests passent (pnpm test) TRACKING OBLIGATOIRE : - Appelle `node tools/set-current-task.js set <path>` AVANT de commencer - Appelle `node tools/set-current-task.js clear` APRES avoir termine REGLE ABSOLUE : NE PAS inventer de versions ou de configs. Utiliser UNIQUEMENT ce qui est ecrit dans stack-reference.md.", description: "Developer batch - setup (1 task)" )Pour tous les autres batches :
Task( subagent_type: "developer", prompt: "Implemente les N tasks suivantes SEQUENTIELLEMENT, dans l'ordre. Tasks : <liste des paths TASK-*.md du batch> Pour CHAQUE task : 1. Appelle `node tools/set-current-task.js set <path>` AVANT de commencer 2. Lis la task complete 3. Implemente le code + tests conformement a la DoD 4. Appelle `node tools/set-current-task.js clear` APRES avoir termine TRACKING OBLIGATOIRE : - JAMAIS sauter set-current-task.js, meme sous pression de contexte - Chaque task DOIT avoir son appel set + clear REGLES QUALITE STRICTES : - Composants/fichiers : MAX 150 lignes. Si un fichier depasse, extraire des sous-composants. - Fonctions : MAX 30 lignes. - Tests : MINIMUM 3 tests par fichier source (happy path, edge case, erreur). Pour les composants UI : tester le rendu, l'interaction utilisateur, et au moins 1 cas limite. - TypeScript strict : zero `any`, zero `as` sauf cast justifie. - Imports : respecter les boundaries architecturales (domain n'importe jamais infra/UI). TESTING PLAN : Si docs/testing/plan.md n'existe pas encore, le creer en lisant le template templates/testing/plan.md. Respecter EXACTEMENT les headings du template.", description: "Developer batch - LAYER_NAME (N tasks)" )IMPORTANT : Remplacer
LAYER_NAMEpar le nom reel du batch dansdescriptionaussi.d. Effacer la task courante :
bashnode tools/set-current-task.js cleare. Logger le batch :
bashnode tools/factory-log.js "ACT_BUILD" "batch-done" "Batch LAYER_NAME termine - N tasks implementees" -
Executer Gate 4 (avec auto-remediation, MAX 2 retries) :
bashnode tools/gate-check.js 4 --jsonTentative 1 : Analyser le JSON retourne.
- Si
status === "PASS"→ continuer a l'etape 6. - Si
status === "FAIL":- Lire
errors[]. Pour chaque erreurfixable: true:test_failure→ relancer le developer sur les tests en echec.quality→ relancer le developer pour corriger la qualite.assembly→ relancer le developer sur la task app-assembly (templatetemplates/planning/task-assembly-template.md).boundary→ relancer le developer pour corriger les imports inter-couches.project_health→ installer les dependances manquantes (pnpm add ...), corriger le build.testing_plan→ completer docs/testing/plan.md en lisant le templatetemplates/testing/plan.md.
- Pour chaque erreur
fixable: false→ STOP, ne pas retenter. - Re-executer :
node tools/gate-check.js 4 --json
- Lire
Tentative 2 : Relancer le developer sur les erreurs restantes (meme routage par categorie que Tentative 1).
- Re-executer :
node tools/gate-check.js 4 --json
Tentative 3 (dernier) : Si toujours FAIL, retourner le rapport d'echec.
- NE PAS relancer. NE PAS faire de Tentative 4.
- Terminer avec :
GATE_FAIL|4|<resume erreurs separees par ;>|3
STRICTEMENT 3 checks max (1 initial + 2 retries). Ne JAMAIS depasser.
- Si
-
Logger via :
bashnode tools/factory-log.js "ACT_BUILD" "completed" "Phase BUILD terminee - N tasks implementees en B batches" -
Retourner un resume des batches executes avec nombre de tasks par batch et statuts
Protocole d'echec
- Gate d'entree (Gate 3) : Si FAIL → STOP immediat + marqueur
GATE_FAIL|3|...|0. - Gate de sortie (Gate 4) : Auto-remediation 2x max puis marqueur
GATE_FAIL|4|...|3si echec persistant. - Erreur non-fixable (
fixable: false) → STOP immediat +GATE_FAIL. - Jamais de STOP silencieux — toujours retourner un rapport structure.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?