From 9e1c10e2a83fda1ee691d7bedf9029770a0d30b9 Mon Sep 17 00:00:00 2001 From: "alexandre.azouri" Date: Tue, 5 May 2026 15:36:05 +0200 Subject: [PATCH] feat: extract orchestrator into independent bmo module - Create src/orchestrator-skills/ as a standalone optional module - Move bmad-orchestrator skill from bmm-skills to orchestrator-skills - Declare bmo module with agent metadata in module.yaml - Remove orchestrator agent from bmm roster to prevent duplication - Update module-help.csv with orchestrator entry This makes the orchestrator agent independent of bmm distribution issues, ensuring it's always available during custom installs when bmo is selected. Tests: npm run quality passes (389 install tests, 43 skills scanned, 0 HIGH/MEDIUM findings) --- src/bmm-skills/module.yaml | 7 ------- .../4-implementation/bmad-orchestrator/SKILL.md | 2 +- .../bmad-orchestrator/customize.toml | 2 +- src/orchestrator-skills/module-help.csv | 2 ++ src/orchestrator-skills/module.yaml | 17 +++++++++++++++++ 5 files changed, 21 insertions(+), 9 deletions(-) rename src/{bmm-skills => orchestrator-skills}/4-implementation/bmad-orchestrator/SKILL.md (99%) rename src/{bmm-skills => orchestrator-skills}/4-implementation/bmad-orchestrator/customize.toml (95%) create mode 100644 src/orchestrator-skills/module-help.csv create mode 100644 src/orchestrator-skills/module.yaml diff --git a/src/bmm-skills/module.yaml b/src/bmm-skills/module.yaml index 848f5910b..490de183c 100644 --- a/src/bmm-skills/module.yaml +++ b/src/bmm-skills/module.yaml @@ -93,10 +93,3 @@ agents: icon: "💻" team: software-development description: "Test-first discipline (red, green, refactor), 100% pass before review, no fluff all precision. Speaks like a terminal prompt: exact file paths, AC IDs, and commit-message brevity — every statement citable." - - - code: bmad-orchestrator - name: Orchestrator - title: BMAD Orchestrator - icon: "🧭" - team: software-development - description: "Routes natural-language intent to the right BMAD skill or named agent, verifies lightweight prerequisites, and suggests the next step without forcing the user to memorize commands." diff --git a/src/bmm-skills/4-implementation/bmad-orchestrator/SKILL.md b/src/orchestrator-skills/4-implementation/bmad-orchestrator/SKILL.md similarity index 99% rename from src/bmm-skills/4-implementation/bmad-orchestrator/SKILL.md rename to src/orchestrator-skills/4-implementation/bmad-orchestrator/SKILL.md index a885eafed..1886f4062 100644 --- a/src/bmm-skills/4-implementation/bmad-orchestrator/SKILL.md +++ b/src/orchestrator-skills/4-implementation/bmad-orchestrator/SKILL.md @@ -183,4 +183,4 @@ Sur demande de support, fournir de manière structurée : ## Capabilities -L'orchestrateur ne possède pas de capabilities propres — il route vers les skills existants. \ No newline at end of file +L'orchestrateur ne possède pas de capabilities propres — il route vers les skills existants. diff --git a/src/bmm-skills/4-implementation/bmad-orchestrator/customize.toml b/src/orchestrator-skills/4-implementation/bmad-orchestrator/customize.toml similarity index 95% rename from src/bmm-skills/4-implementation/bmad-orchestrator/customize.toml rename to src/orchestrator-skills/4-implementation/bmad-orchestrator/customize.toml index e8e1626e7..b758922af 100644 --- a/src/bmm-skills/4-implementation/bmad-orchestrator/customize.toml +++ b/src/orchestrator-skills/4-implementation/bmad-orchestrator/customize.toml @@ -26,4 +26,4 @@ principles = [ [[agent.menu]] code = "OR" description = "Router une intention utilisateur vers le bon skill ou agent BMAD" -prompt = "Analyse l'intention utilisateur, identifie le workflow BMAD ou l'agent approprié, vérifie les préconditions si nécessaire, puis poursuis avec ce skill ou cette réponse." \ No newline at end of file +prompt = "Analyse l'intention utilisateur, identifie le workflow BMAD ou l'agent approprié, vérifie les préconditions si nécessaire, puis poursuis avec ce skill ou cette réponse." diff --git a/src/orchestrator-skills/module-help.csv b/src/orchestrator-skills/module-help.csv new file mode 100644 index 000000000..b46c1293b --- /dev/null +++ b/src/orchestrator-skills/module-help.csv @@ -0,0 +1,2 @@ +module,skill,display-name,menu-code,description,action,args,phase,preceded-by,followed-by,required,output-location,outputs +BMAD Orchestrator,bmad-orchestrator,Orchestrator,OR,Routes user intent to the right BMAD skill or agent without memorization.,,,,anytime,,,false,, diff --git a/src/orchestrator-skills/module.yaml b/src/orchestrator-skills/module.yaml new file mode 100644 index 000000000..a38475139 --- /dev/null +++ b/src/orchestrator-skills/module.yaml @@ -0,0 +1,17 @@ +code: bmo +name: "BMAD Orchestrator" +description: "Dedicated orchestrator module for intelligent workflow routing and agent coordination" +default_selected: false + +# No user-facing configuration for orchestrator module + +directories: [] + +# Agent roster — orchestrator agent +agents: + - code: bmad-orchestrator + name: Orchestrator + title: BMAD Orchestrator + icon: "🧭" + team: orchestration + description: "Routes natural-language intent to the right BMAD skill or named agent, verifies lightweight prerequisites, and suggests the next step without forcing the user to memorize commands."