ma-agents 3.16.0 → 3.17.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +85 -4
  2. package/bin/cli.js +339 -6
  3. package/lib/agents.js +22 -15
  4. package/lib/bmad-cache/cache-manifest.json +2 -2
  5. package/lib/bmad-extension/.claude-plugin/marketplace.json.template +2 -15
  6. package/lib/bmad-extension/skills/module-help.csv +0 -13
  7. package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +3 -16
  8. package/lib/bmad-extension-plugin/skills/module-help.csv +0 -13
  9. package/lib/bmad.js +143 -1
  10. package/lib/custom-marketplace.js +973 -0
  11. package/lib/installer.js +19 -7
  12. package/lib/knowledge-atlas/dist/atlas.cjs +14651 -14651
  13. package/lib/knowledge-atlas/src/render/vendor.ts +43 -43
  14. package/lib/knowledge-atlas/vendor/drawio-viewer.min.js +7563 -7563
  15. package/lib/knowledge-atlas/vendor/mermaid.min.js +2314 -2314
  16. package/lib/profile.js +220 -0
  17. package/lib/skill-authoring.js +3 -1
  18. package/package.json +3 -3
  19. package/scripts/build-bmad-cache.js +127 -43
  20. package/lib/bmad-extension/skills/ma-agent-ml/.gitkeep +0 -0
  21. package/lib/bmad-extension/skills/ma-agent-ml/SKILL.md +0 -59
  22. package/lib/bmad-extension/skills/ma-agent-ml/bmad-skill-manifest.yaml +0 -11
  23. package/lib/bmad-extension/skills/ml-advise/.gitkeep +0 -0
  24. package/lib/bmad-extension/skills/ml-advise/SKILL.md +0 -76
  25. package/lib/bmad-extension/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
  26. package/lib/bmad-extension/skills/ml-advise/skill.json +0 -7
  27. package/lib/bmad-extension/skills/ml-analysis/.gitkeep +0 -0
  28. package/lib/bmad-extension/skills/ml-analysis/SKILL.md +0 -60
  29. package/lib/bmad-extension/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
  30. package/lib/bmad-extension/skills/ml-analysis/skill.json +0 -7
  31. package/lib/bmad-extension/skills/ml-architecture/.gitkeep +0 -0
  32. package/lib/bmad-extension/skills/ml-architecture/SKILL.md +0 -55
  33. package/lib/bmad-extension/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
  34. package/lib/bmad-extension/skills/ml-architecture/skill.json +0 -7
  35. package/lib/bmad-extension/skills/ml-detailed-design/.gitkeep +0 -0
  36. package/lib/bmad-extension/skills/ml-detailed-design/SKILL.md +0 -67
  37. package/lib/bmad-extension/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
  38. package/lib/bmad-extension/skills/ml-detailed-design/skill.json +0 -7
  39. package/lib/bmad-extension/skills/ml-eda/.gitkeep +0 -0
  40. package/lib/bmad-extension/skills/ml-eda/SKILL.md +0 -56
  41. package/lib/bmad-extension/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
  42. package/lib/bmad-extension/skills/ml-eda/scripts/baseline_classifier.py +0 -522
  43. package/lib/bmad-extension/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
  44. package/lib/bmad-extension/skills/ml-eda/scripts/clustering_explorer.py +0 -383
  45. package/lib/bmad-extension/skills/ml-eda/scripts/eda_analyzer.py +0 -654
  46. package/lib/bmad-extension/skills/ml-eda/skill.json +0 -7
  47. package/lib/bmad-extension/skills/ml-experiment/.gitkeep +0 -0
  48. package/lib/bmad-extension/skills/ml-experiment/SKILL.md +0 -74
  49. package/lib/bmad-extension/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
  50. package/lib/bmad-extension/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
  51. package/lib/bmad-extension/skills/ml-experiment/assets/template_datamodule.py +0 -219
  52. package/lib/bmad-extension/skills/ml-experiment/assets/template_gnn_module.py +0 -341
  53. package/lib/bmad-extension/skills/ml-experiment/assets/template_lightning_module.py +0 -158
  54. package/lib/bmad-extension/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
  55. package/lib/bmad-extension/skills/ml-experiment/skill.json +0 -7
  56. package/lib/bmad-extension/skills/ml-hparam/.gitkeep +0 -0
  57. package/lib/bmad-extension/skills/ml-hparam/SKILL.md +0 -81
  58. package/lib/bmad-extension/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
  59. package/lib/bmad-extension/skills/ml-hparam/skill.json +0 -7
  60. package/lib/bmad-extension/skills/ml-ideation/.gitkeep +0 -0
  61. package/lib/bmad-extension/skills/ml-ideation/SKILL.md +0 -50
  62. package/lib/bmad-extension/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
  63. package/lib/bmad-extension/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
  64. package/lib/bmad-extension/skills/ml-ideation/skill.json +0 -7
  65. package/lib/bmad-extension/skills/ml-infra/.gitkeep +0 -0
  66. package/lib/bmad-extension/skills/ml-infra/SKILL.md +0 -58
  67. package/lib/bmad-extension/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
  68. package/lib/bmad-extension/skills/ml-infra/skill.json +0 -7
  69. package/lib/bmad-extension/skills/ml-retrospective/.gitkeep +0 -0
  70. package/lib/bmad-extension/skills/ml-retrospective/SKILL.md +0 -63
  71. package/lib/bmad-extension/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
  72. package/lib/bmad-extension/skills/ml-retrospective/skill.json +0 -7
  73. package/lib/bmad-extension/skills/ml-revision/.gitkeep +0 -0
  74. package/lib/bmad-extension/skills/ml-revision/SKILL.md +0 -82
  75. package/lib/bmad-extension/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
  76. package/lib/bmad-extension/skills/ml-revision/skill.json +0 -7
  77. package/lib/bmad-extension/skills/ml-techspec/.gitkeep +0 -0
  78. package/lib/bmad-extension/skills/ml-techspec/SKILL.md +0 -80
  79. package/lib/bmad-extension/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
  80. package/lib/bmad-extension/skills/ml-techspec/skill.json +0 -7
  81. package/lib/bmad-extension-plugin/skills/ma-agent-ml/.gitkeep +0 -0
  82. package/lib/bmad-extension-plugin/skills/ma-agent-ml/SKILL.md +0 -59
  83. package/lib/bmad-extension-plugin/skills/ma-agent-ml/bmad-skill-manifest.yaml +0 -11
  84. package/lib/bmad-extension-plugin/skills/ml-advise/.gitkeep +0 -0
  85. package/lib/bmad-extension-plugin/skills/ml-advise/SKILL.md +0 -76
  86. package/lib/bmad-extension-plugin/skills/ml-advise/bmad-skill-manifest.yaml +0 -3
  87. package/lib/bmad-extension-plugin/skills/ml-advise/skill.json +0 -7
  88. package/lib/bmad-extension-plugin/skills/ml-analysis/.gitkeep +0 -0
  89. package/lib/bmad-extension-plugin/skills/ml-analysis/SKILL.md +0 -60
  90. package/lib/bmad-extension-plugin/skills/ml-analysis/bmad-skill-manifest.yaml +0 -3
  91. package/lib/bmad-extension-plugin/skills/ml-analysis/skill.json +0 -7
  92. package/lib/bmad-extension-plugin/skills/ml-architecture/.gitkeep +0 -0
  93. package/lib/bmad-extension-plugin/skills/ml-architecture/SKILL.md +0 -55
  94. package/lib/bmad-extension-plugin/skills/ml-architecture/bmad-skill-manifest.yaml +0 -3
  95. package/lib/bmad-extension-plugin/skills/ml-architecture/skill.json +0 -7
  96. package/lib/bmad-extension-plugin/skills/ml-detailed-design/.gitkeep +0 -0
  97. package/lib/bmad-extension-plugin/skills/ml-detailed-design/SKILL.md +0 -67
  98. package/lib/bmad-extension-plugin/skills/ml-detailed-design/bmad-skill-manifest.yaml +0 -3
  99. package/lib/bmad-extension-plugin/skills/ml-detailed-design/skill.json +0 -7
  100. package/lib/bmad-extension-plugin/skills/ml-eda/.gitkeep +0 -0
  101. package/lib/bmad-extension-plugin/skills/ml-eda/SKILL.md +0 -56
  102. package/lib/bmad-extension-plugin/skills/ml-eda/bmad-skill-manifest.yaml +0 -3
  103. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/baseline_classifier.py +0 -522
  104. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/class_weights_calculator.py +0 -295
  105. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/clustering_explorer.py +0 -383
  106. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/eda_analyzer.py +0 -654
  107. package/lib/bmad-extension-plugin/skills/ml-eda/skill.json +0 -7
  108. package/lib/bmad-extension-plugin/skills/ml-experiment/.gitkeep +0 -0
  109. package/lib/bmad-extension-plugin/skills/ml-experiment/SKILL.md +0 -74
  110. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/advanced_trainer_configs.py +0 -430
  111. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/quick_trainer_setup.py +0 -233
  112. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_datamodule.py +0 -219
  113. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_gnn_module.py +0 -341
  114. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_lightning_module.py +0 -158
  115. package/lib/bmad-extension-plugin/skills/ml-experiment/bmad-skill-manifest.yaml +0 -3
  116. package/lib/bmad-extension-plugin/skills/ml-experiment/skill.json +0 -7
  117. package/lib/bmad-extension-plugin/skills/ml-hparam/.gitkeep +0 -0
  118. package/lib/bmad-extension-plugin/skills/ml-hparam/SKILL.md +0 -81
  119. package/lib/bmad-extension-plugin/skills/ml-hparam/bmad-skill-manifest.yaml +0 -3
  120. package/lib/bmad-extension-plugin/skills/ml-hparam/skill.json +0 -7
  121. package/lib/bmad-extension-plugin/skills/ml-ideation/.gitkeep +0 -0
  122. package/lib/bmad-extension-plugin/skills/ml-ideation/SKILL.md +0 -50
  123. package/lib/bmad-extension-plugin/skills/ml-ideation/bmad-skill-manifest.yaml +0 -3
  124. package/lib/bmad-extension-plugin/skills/ml-ideation/scripts/validate_ml_prd.py +0 -287
  125. package/lib/bmad-extension-plugin/skills/ml-ideation/skill.json +0 -7
  126. package/lib/bmad-extension-plugin/skills/ml-infra/.gitkeep +0 -0
  127. package/lib/bmad-extension-plugin/skills/ml-infra/SKILL.md +0 -58
  128. package/lib/bmad-extension-plugin/skills/ml-infra/bmad-skill-manifest.yaml +0 -3
  129. package/lib/bmad-extension-plugin/skills/ml-infra/skill.json +0 -7
  130. package/lib/bmad-extension-plugin/skills/ml-retrospective/.gitkeep +0 -0
  131. package/lib/bmad-extension-plugin/skills/ml-retrospective/SKILL.md +0 -63
  132. package/lib/bmad-extension-plugin/skills/ml-retrospective/bmad-skill-manifest.yaml +0 -3
  133. package/lib/bmad-extension-plugin/skills/ml-retrospective/skill.json +0 -7
  134. package/lib/bmad-extension-plugin/skills/ml-revision/.gitkeep +0 -0
  135. package/lib/bmad-extension-plugin/skills/ml-revision/SKILL.md +0 -82
  136. package/lib/bmad-extension-plugin/skills/ml-revision/bmad-skill-manifest.yaml +0 -3
  137. package/lib/bmad-extension-plugin/skills/ml-revision/skill.json +0 -7
  138. package/lib/bmad-extension-plugin/skills/ml-techspec/.gitkeep +0 -0
  139. package/lib/bmad-extension-plugin/skills/ml-techspec/SKILL.md +0 -80
  140. package/lib/bmad-extension-plugin/skills/ml-techspec/bmad-skill-manifest.yaml +0 -3
  141. package/lib/bmad-extension-plugin/skills/ml-techspec/skill.json +0 -7
@@ -11,7 +11,7 @@
11
11
  "owner": {
12
12
  "name": "Alon Mayaffit"
13
13
  },
14
- "description": "ma-agents BMAD extension — enterprise SDLC personas (Yael, Amit, Alex, Demerzel, Gadi) plus MIL-STD-498, SRE, DevOps, Cyber, ML, and SQA workflow skills.",
14
+ "description": "ma-agents BMAD extension — enterprise SDLC personas (Yael, Amit, Alex, Gadi) plus MIL-STD-498, SRE, DevOps, Cyber, and SQA workflow skills.",
15
15
  "license": "MIT",
16
16
  "homepage": "https://github.com/mayafit/AI_Agents",
17
17
  "repository": "https://github.com/mayafit/AI_Agents",
@@ -39,7 +39,7 @@
39
39
  "roo-code",
40
40
  "kilocode"
41
41
  ],
42
- "bmad_min_version": "6.9.0",
42
+ "bmad_min_version": "6.10.0",
43
43
  "plugins": [
44
44
  {
45
45
  "name": "ma-skills",
@@ -52,7 +52,6 @@
52
52
  "skills": [
53
53
  "./skills/ma-agent-cyber",
54
54
  "./skills/ma-agent-devops",
55
- "./skills/ma-agent-ml",
56
55
  "./skills/ma-agent-sqa",
57
56
  "./skills/ma-agent-sre",
58
57
  "./skills/mil498-ocd",
@@ -85,18 +84,6 @@
85
84
  "./skills/cyber-verify-docker-users",
86
85
  "./skills/cyber-verify-image-signature",
87
86
  "./skills/cyber-vulnerability-scan",
88
- "./skills/ml-advise",
89
- "./skills/ml-analysis",
90
- "./skills/ml-architecture",
91
- "./skills/ml-detailed-design",
92
- "./skills/ml-eda",
93
- "./skills/ml-experiment",
94
- "./skills/ml-hparam",
95
- "./skills/ml-ideation",
96
- "./skills/ml-infra",
97
- "./skills/ml-retrospective",
98
- "./skills/ml-revision",
99
- "./skills/ml-techspec",
100
87
  "./skills/add-sprint",
101
88
  "./skills/add-to-sprint",
102
89
  "./skills/bmad-dev-epic",
@@ -2,7 +2,6 @@ module,phase,name,code,sequence,workflow-file,command,required,agent,options,des
2
2
  ma-skills,anytime,SRE Agent,ma-agent-sre,,skill:ma-agent-sre,ma-agent-sre,false,bmm-sre,,"Site Reliability Engineer agent for system availability, reliability, and Kubernetes operations.",output_folder,"agent customization",
3
3
  ma-skills,anytime,DevOps Agent,ma-agent-devops,,skill:ma-agent-devops,ma-agent-devops,false,bmm-devops,,"DevOps Engineer agent for CI/CD pipeline automation, Infrastructure as Code, and cloud-native technologies.",output_folder,"agent customization",
4
4
  ma-skills,anytime,Cyber Agent,ma-agent-cyber,,skill:ma-agent-cyber,ma-agent-cyber,false,bmm-cyber,,"Cyber Security Analyst agent for vulnerability assessment, threat modeling, and system hardening.",output_folder,"agent customization",
5
- ma-skills,anytime,ML Scientist Agent,ma-agent-ml,,skill:ma-agent-ml,ma-agent-ml,false,bmm-demerzel,,"Machine Learning Scientist agent for hypothesis-driven ML lifecycle with scientific rigor.",output_folder,"agent customization",
6
5
  ma-skills,anytime,SQA Agent,ma-agent-sqa,,skill:ma-agent-sqa,ma-agent-sqa,false,bmm-qa,,"Software Quality Assurance agent (Gadi) for project auditing, compliance verification, and quality reporting.",output_folder,"agent customization",
7
6
  ma-skills,4-implementation,Generate SSS,mil498-sss,,skill:mil498-sss,bmad-mil-generate-sss,false,bmm-mil498,,"Generate a MIL-STD-498 System/Subsystem Specification (SSS).",output_folder,"MIL-498 document",
8
7
  ma-skills,4-implementation,Generate SSDD,mil498-ssdd,,skill:mil498-ssdd,bmad-mil-generate-ssdd,false,bmm-mil498,,"Generate a MIL-STD-498 System/Subsystem Design Description (SSDD).",output_folder,"MIL-498 document",
@@ -31,18 +30,6 @@ ma-skills,4-implementation,Vault Secrets,cyber-vault-secrets,,skill:cyber-vault-
31
30
  ma-skills,4-implementation,Verify Docker Users,cyber-verify-docker-users,,skill:cyber-verify-docker-users,bmad-cyber-verify-docker-users,false,bmm-cyber,,"Verify Docker image user configurations and hardening compliance.",output_folder,"verification report",
32
31
  ma-skills,4-implementation,Verify Image Signature,cyber-verify-image-signature,,skill:cyber-verify-image-signature,bmad-cyber-verify-image-signature,false,bmm-cyber,,"Verify Docker image signatures for supply chain integrity.",output_folder,"verification report",
33
32
  ma-skills,4-implementation,Vulnerability Scan,cyber-vulnerability-scan,,skill:cyber-vulnerability-scan,bmad-cyber-vulnerability-scan,false,bmm-cyber,,"Orchestrate vulnerability scanning across project components.",output_folder,"scan report",
34
- ma-skills,4-implementation,ML Ideation,ml-ideation,,skill:ml-ideation,ml-ideation,false,bmm-demerzel,,"Frame an ML research problem, produce a Research Thesis and PRD.",_bmad-output,"research thesis",
35
- ma-skills,4-implementation,ML EDA,ml-eda,,skill:ml-eda,ml-eda,false,bmm-demerzel,,"Exploratory Data Analysis — establish baselines and produce an EDA report.",_bmad-output,"EDA report",
36
- ma-skills,4-implementation,ML Architecture,ml-architecture,,skill:ml-architecture,ml-architecture,false,bmm-demerzel,,"Define model architecture, stack, and experiment tracking strategy.",_bmad-output,"architecture spec",
37
- ma-skills,4-implementation,ML Detailed Design,ml-detailed-design,,skill:ml-detailed-design,ml-detailed-design,false,bmm-demerzel,,"Break implementation into INF-* and EXP-* tasks.",_bmad-output,"task breakdown",
38
- ma-skills,4-implementation,ML TechSpec,ml-techspec,,skill:ml-techspec,ml-techspec,false,bmm-demerzel,,"Lock experiment parameters and performance tiers before training.",_bmad-output,"TechSpec",
39
- ma-skills,4-implementation,ML Infra,ml-infra,,skill:ml-infra,ml-infra,false,bmm-demerzel,,"Build ML infrastructure, manage dependencies, and run smoke tests.",_bmad-output,"infra report",
40
- ma-skills,4-implementation,ML Experiment,ml-experiment,,skill:ml-experiment,ml-experiment,false,bmm-demerzel,,"Execute training experiments against locked TechSpec and log metrics.",_bmad-output,"experiment log",
41
- ma-skills,4-implementation,ML Analysis,ml-analysis,,skill:ml-analysis,ml-analysis,false,bmm-demerzel,,"Evaluate experiment outcomes against TechSpec success tiers.",_bmad-output,"analysis report",
42
- ma-skills,4-implementation,ML Hyperparameter Optimization,ml-hparam,,skill:ml-hparam,ml-hparam,false,bmm-demerzel,,"Automated hyperparameter optimization (Optuna, W&B Sweeps, Ray Tune).",_bmad-output,"hparam report",
43
- ma-skills,4-implementation,ML Revision,ml-revision,,skill:ml-revision,ml-revision,false,bmm-demerzel,,"Amend hypothesis and requirements based on experiment findings.",_bmad-output,"revision doc",
44
- ma-skills,4-implementation,ML Advise,ml-advise,,skill:ml-advise,ml-advise,false,bmm-demerzel,,"Search past experiments, surface findings and failure warnings.",_bmad-output,"advisory report",
45
- ma-skills,4-implementation,ML Retrospective,ml-retrospective,,skill:ml-retrospective,ml-retrospective,false,bmm-demerzel,,"Capture session learnings and update project context.",_bmad-output,"retrospective",
46
33
  ma-skills,4-implementation,SQA Audit,sqa-audit,,skill:sqa-audit,sqa-audit,false,bmm-qa,,"Comprehensive project quality audit covering code-to-story traceability, story-to-architecture alignment, process compliance, sprint health, and release state.",_bmad-output,"audit report",
47
34
  ma-skills,4-implementation,IEEE 12207 Compliance,sqa-ieee12207,,skill:sqa-ieee12207,sqa-ieee12207,false,bmm-qa,,"Evaluate the project against IEEE/ISO/IEC 12207:2017 software lifecycle processes — produces a compliance matrix and gap analysis report.",_bmad-output,"compliance report",
48
35
  ma-skills,4-implementation,Create Bug Story,create-bug-story,,skill:create-bug-story,create-bug-story,false,bmm-dev,,"Create a structured bug story from a detected defect and add to backlog.",_bmad-output/implementation-artifacts,"bug story",
@@ -3,7 +3,7 @@
3
3
  "owner": {
4
4
  "name": "Alon Mayaffit"
5
5
  },
6
- "description": "ma-agents BMAD extension — enterprise SDLC personas (Yael, Amit, Alex, Demerzel, Gadi) plus MIL-STD-498, SRE, DevOps, Cyber, ML, and SQA workflow skills.",
6
+ "description": "ma-agents BMAD extension — enterprise SDLC personas (Yael, Amit, Alex, Gadi) plus MIL-STD-498, SRE, DevOps, Cyber, and SQA workflow skills.",
7
7
  "license": "MIT",
8
8
  "homepage": "https://github.com/mayafit/AI_Agents",
9
9
  "repository": "https://github.com/mayafit/AI_Agents",
@@ -31,20 +31,19 @@
31
31
  "roo-code",
32
32
  "kilocode"
33
33
  ],
34
- "bmad_min_version": "6.9.0",
34
+ "bmad_min_version": "6.10.0",
35
35
  "plugins": [
36
36
  {
37
37
  "name": "ma-skills",
38
38
  "source": "./",
39
39
  "description": "ma-agents extension module providing enterprise SDLC personas and operational workflow skills.",
40
- "version": "3.16.0",
40
+ "version": "3.17.0-beta.1",
41
41
  "author": {
42
42
  "name": "Alon Mayaffit"
43
43
  },
44
44
  "skills": [
45
45
  "./skills/ma-agent-cyber",
46
46
  "./skills/ma-agent-devops",
47
- "./skills/ma-agent-ml",
48
47
  "./skills/ma-agent-sqa",
49
48
  "./skills/ma-agent-sre",
50
49
  "./skills/mil498-ocd",
@@ -77,18 +76,6 @@
77
76
  "./skills/cyber-verify-docker-users",
78
77
  "./skills/cyber-verify-image-signature",
79
78
  "./skills/cyber-vulnerability-scan",
80
- "./skills/ml-advise",
81
- "./skills/ml-analysis",
82
- "./skills/ml-architecture",
83
- "./skills/ml-detailed-design",
84
- "./skills/ml-eda",
85
- "./skills/ml-experiment",
86
- "./skills/ml-hparam",
87
- "./skills/ml-ideation",
88
- "./skills/ml-infra",
89
- "./skills/ml-retrospective",
90
- "./skills/ml-revision",
91
- "./skills/ml-techspec",
92
79
  "./skills/add-sprint",
93
80
  "./skills/add-to-sprint",
94
81
  "./skills/bmad-dev-epic",
@@ -2,7 +2,6 @@ module,phase,name,code,sequence,workflow-file,command,required,agent,options,des
2
2
  ma-skills,anytime,SRE Agent,ma-agent-sre,,skill:ma-agent-sre,ma-agent-sre,false,bmm-sre,,"Site Reliability Engineer agent for system availability, reliability, and Kubernetes operations.",output_folder,"agent customization",
3
3
  ma-skills,anytime,DevOps Agent,ma-agent-devops,,skill:ma-agent-devops,ma-agent-devops,false,bmm-devops,,"DevOps Engineer agent for CI/CD pipeline automation, Infrastructure as Code, and cloud-native technologies.",output_folder,"agent customization",
4
4
  ma-skills,anytime,Cyber Agent,ma-agent-cyber,,skill:ma-agent-cyber,ma-agent-cyber,false,bmm-cyber,,"Cyber Security Analyst agent for vulnerability assessment, threat modeling, and system hardening.",output_folder,"agent customization",
5
- ma-skills,anytime,ML Scientist Agent,ma-agent-ml,,skill:ma-agent-ml,ma-agent-ml,false,bmm-demerzel,,"Machine Learning Scientist agent for hypothesis-driven ML lifecycle with scientific rigor.",output_folder,"agent customization",
6
5
  ma-skills,anytime,SQA Agent,ma-agent-sqa,,skill:ma-agent-sqa,ma-agent-sqa,false,bmm-qa,,"Software Quality Assurance agent (Gadi) for project auditing, compliance verification, and quality reporting.",output_folder,"agent customization",
7
6
  ma-skills,4-implementation,Generate SSS,mil498-sss,,skill:mil498-sss,bmad-mil-generate-sss,false,bmm-mil498,,"Generate a MIL-STD-498 System/Subsystem Specification (SSS).",output_folder,"MIL-498 document",
8
7
  ma-skills,4-implementation,Generate SSDD,mil498-ssdd,,skill:mil498-ssdd,bmad-mil-generate-ssdd,false,bmm-mil498,,"Generate a MIL-STD-498 System/Subsystem Design Description (SSDD).",output_folder,"MIL-498 document",
@@ -31,18 +30,6 @@ ma-skills,4-implementation,Vault Secrets,cyber-vault-secrets,,skill:cyber-vault-
31
30
  ma-skills,4-implementation,Verify Docker Users,cyber-verify-docker-users,,skill:cyber-verify-docker-users,bmad-cyber-verify-docker-users,false,bmm-cyber,,"Verify Docker image user configurations and hardening compliance.",output_folder,"verification report",
32
31
  ma-skills,4-implementation,Verify Image Signature,cyber-verify-image-signature,,skill:cyber-verify-image-signature,bmad-cyber-verify-image-signature,false,bmm-cyber,,"Verify Docker image signatures for supply chain integrity.",output_folder,"verification report",
33
32
  ma-skills,4-implementation,Vulnerability Scan,cyber-vulnerability-scan,,skill:cyber-vulnerability-scan,bmad-cyber-vulnerability-scan,false,bmm-cyber,,"Orchestrate vulnerability scanning across project components.",output_folder,"scan report",
34
- ma-skills,4-implementation,ML Ideation,ml-ideation,,skill:ml-ideation,ml-ideation,false,bmm-demerzel,,"Frame an ML research problem, produce a Research Thesis and PRD.",_bmad-output,"research thesis",
35
- ma-skills,4-implementation,ML EDA,ml-eda,,skill:ml-eda,ml-eda,false,bmm-demerzel,,"Exploratory Data Analysis — establish baselines and produce an EDA report.",_bmad-output,"EDA report",
36
- ma-skills,4-implementation,ML Architecture,ml-architecture,,skill:ml-architecture,ml-architecture,false,bmm-demerzel,,"Define model architecture, stack, and experiment tracking strategy.",_bmad-output,"architecture spec",
37
- ma-skills,4-implementation,ML Detailed Design,ml-detailed-design,,skill:ml-detailed-design,ml-detailed-design,false,bmm-demerzel,,"Break implementation into INF-* and EXP-* tasks.",_bmad-output,"task breakdown",
38
- ma-skills,4-implementation,ML TechSpec,ml-techspec,,skill:ml-techspec,ml-techspec,false,bmm-demerzel,,"Lock experiment parameters and performance tiers before training.",_bmad-output,"TechSpec",
39
- ma-skills,4-implementation,ML Infra,ml-infra,,skill:ml-infra,ml-infra,false,bmm-demerzel,,"Build ML infrastructure, manage dependencies, and run smoke tests.",_bmad-output,"infra report",
40
- ma-skills,4-implementation,ML Experiment,ml-experiment,,skill:ml-experiment,ml-experiment,false,bmm-demerzel,,"Execute training experiments against locked TechSpec and log metrics.",_bmad-output,"experiment log",
41
- ma-skills,4-implementation,ML Analysis,ml-analysis,,skill:ml-analysis,ml-analysis,false,bmm-demerzel,,"Evaluate experiment outcomes against TechSpec success tiers.",_bmad-output,"analysis report",
42
- ma-skills,4-implementation,ML Hyperparameter Optimization,ml-hparam,,skill:ml-hparam,ml-hparam,false,bmm-demerzel,,"Automated hyperparameter optimization (Optuna, W&B Sweeps, Ray Tune).",_bmad-output,"hparam report",
43
- ma-skills,4-implementation,ML Revision,ml-revision,,skill:ml-revision,ml-revision,false,bmm-demerzel,,"Amend hypothesis and requirements based on experiment findings.",_bmad-output,"revision doc",
44
- ma-skills,4-implementation,ML Advise,ml-advise,,skill:ml-advise,ml-advise,false,bmm-demerzel,,"Search past experiments, surface findings and failure warnings.",_bmad-output,"advisory report",
45
- ma-skills,4-implementation,ML Retrospective,ml-retrospective,,skill:ml-retrospective,ml-retrospective,false,bmm-demerzel,,"Capture session learnings and update project context.",_bmad-output,"retrospective",
46
33
  ma-skills,4-implementation,SQA Audit,sqa-audit,,skill:sqa-audit,sqa-audit,false,bmm-qa,,"Comprehensive project quality audit covering code-to-story traceability, story-to-architecture alignment, process compliance, sprint health, and release state.",_bmad-output,"audit report",
47
34
  ma-skills,4-implementation,IEEE 12207 Compliance,sqa-ieee12207,,skill:sqa-ieee12207,sqa-ieee12207,false,bmm-qa,,"Evaluate the project against IEEE/ISO/IEC 12207:2017 software lifecycle processes — produces a compliance matrix and gap analysis report.",_bmad-output,"compliance report",
48
35
  ma-skills,4-implementation,Create Bug Story,create-bug-story,,skill:create-bug-story,create-bug-story,false,bmm-dev,,"Create a structured bug story from a detected defect and add to backlog.",_bmad-output/implementation-artifacts,"bug story",
package/lib/bmad.js CHANGED
@@ -1670,6 +1670,146 @@ async function deployClineWorkflows(projectRoot, tools = []) {
1670
1670
  }
1671
1671
  }
1672
1672
 
1673
+ /**
1674
+ * Story 30.6b — install the user's selected custom-marketplace subset
1675
+ * (30.6a's wizard selection, pruned + staged by
1676
+ * `lib/custom-marketplace.js#stageCustomMarketplaceSubset`) via bmad-method's
1677
+ * own `--custom-source`, reusing this module's EXISTING install-invocation
1678
+ * primitives (`buildBmadArgs`, `runCommand`, `buildChildSpawnEnv`,
1679
+ * `deployClineWorkflows`) — no new child-process or git logic is hand-rolled.
1680
+ *
1681
+ * Callers MUST gate this on the preceding base BMAD install/update step
1682
+ * having left a usable installation (AC 6, 30.6b) — this function assumes
1683
+ * `_bmad/` already exists and only ever passes `--action update`.
1684
+ *
1685
+ * @param {Object} ctx
1686
+ * @param {string} ctx.projectRoot
1687
+ * @param {string[]} ctx.modules - The same bmad module set used for the base install.
1688
+ * @param {string[]} ctx.tools - The same IDE/tool set used for the base install.
1689
+ * @param {{ source: string, mode: 'discovery'|'direct'|'registry', selectedCodes: string[],
1690
+ * plugins: Array<Object>, rootDir: string, sourceUrl: string|null }} ctx.selection -
1691
+ * 30.6a's `promptCustomMarketplace()` return value (extended with `rootDir`/`sourceUrl`).
1692
+ * @returns {Promise<boolean>} true on success; false on any failure (logged, never thrown).
1693
+ */
1694
+ async function installCustomMarketplaceSubset({ projectRoot, modules, tools, selection, deps = {} }) {
1695
+ // Lazy require — mirrors the ensurePluginStageGitignoredForProject()
1696
+ // pattern above (avoids a load-order circular dependency, since this
1697
+ // function is the only bmad.js call site that needs the adapter).
1698
+ const customMarketplace = require('./custom-marketplace');
1699
+ const { CustomMarketplaceError } = customMarketplace;
1700
+
1701
+ // Injectable seam (defaults to the real implementations) — lets unit
1702
+ // tests exercise this function's own orchestration logic (staging
1703
+ // failure handling, success/failure branching, Cline reconcile,
1704
+ // stage-cleanup-vs-leave-in-place policy) without spawning a real
1705
+ // bmad-method child process or fighting Node's require-cache semantics
1706
+ // to stub out module-internal function bindings.
1707
+ const stageFn = deps.stageCustomMarketplaceSubset || customMarketplace.stageCustomMarketplaceSubset;
1708
+ const stageRegistryFn = deps.stageRegistrySubset || customMarketplace.stageRegistrySubset;
1709
+ const runCommandFn = deps.runCommand || runCommand;
1710
+ const deployClineWorkflowsFn = deps.deployClineWorkflows || deployClineWorkflows;
1711
+ const cleanupStageFn = deps.cleanupStage || cleanupStage;
1712
+ const buildChildSpawnEnvFn = deps.buildChildSpawnEnv || buildChildSpawnEnv;
1713
+ // Story 30.7 (FR242) — persist the source + selection (+ SHA pin) once the
1714
+ // subset is actually installed. Lazy-required for the same load-order
1715
+ // reason as `./custom-marketplace` above; injectable so tests can assert
1716
+ // the persisted shape without depending on the real .ma-agents.json path.
1717
+ const setCustomMarketplaceSelectionFn = deps.setCustomMarketplaceSelection || require('./profile').setCustomMarketplaceSelection;
1718
+
1719
+ let stagePath;
1720
+ let customSourceArg;
1721
+ let resolvedModules;
1722
+ try {
1723
+ if (selection.mode === 'registry') {
1724
+ // Registry-index mode (this story): two-level clone+resolve+stage of
1725
+ // each selected entry's own repository. Shares the same stage dir +
1726
+ // install path as discovery/direct; only the staging step differs.
1727
+ ({ stagePath, customSourceArg, resolvedModules } = await stageRegistryFn({
1728
+ source: selection.source,
1729
+ plugins: selection.plugins,
1730
+ selectedCodes: selection.selectedCodes,
1731
+ projectRoot,
1732
+ }));
1733
+ } else {
1734
+ ({ stagePath, customSourceArg, resolvedModules } = await stageFn({
1735
+ source: selection.source,
1736
+ mode: selection.mode,
1737
+ rootDir: selection.rootDir,
1738
+ sourceUrl: selection.sourceUrl,
1739
+ plugins: selection.plugins,
1740
+ selectedCodes: selection.selectedCodes,
1741
+ projectRoot,
1742
+ }));
1743
+ }
1744
+ } catch (err) {
1745
+ const message = err instanceof CustomMarketplaceError ? err.message : `Custom marketplace staging error: ${err.message}`;
1746
+ console.error(chalk.red(` Custom marketplace subset staging failed: ${message}`));
1747
+ return false;
1748
+ }
1749
+
1750
+ const command = buildBmadArgs({
1751
+ projectRoot,
1752
+ modules,
1753
+ tools,
1754
+ action: 'update',
1755
+ customSource: customSourceArg,
1756
+ });
1757
+
1758
+ console.log(chalk.cyan(` Installing custom marketplace subset (${selection.selectedCodes.join(', ')})...`));
1759
+ console.log(chalk.gray(` Running: ${command}`));
1760
+
1761
+ try {
1762
+ runCommandFn(command, { cwd: projectRoot, env: buildChildSpawnEnvFn() });
1763
+ // FR242 — reconcile Cline workflow wrappers for any newly-installed
1764
+ // custom module, same mechanism official-module installs already use.
1765
+ await deployClineWorkflowsFn(projectRoot, tools);
1766
+ // Only clean up the stage once BOTH the bmad-method invocation and the
1767
+ // Cline reconcile succeeded — mirrors installBmad()'s "leave the stage
1768
+ // for diagnostics on any post-invoke failure" policy (AC 8, 30.6b).
1769
+ cleanupStageFn(stagePath);
1770
+
1771
+ // Story 30.7 (FR242) — persist source + selection (+ SHA pin) now that
1772
+ // the subset is actually installed. `resolvedModules[].cloneSha` is
1773
+ // only stamped for Git-URL sources (see custom-module-manager.js
1774
+ // `resolvePlugin()`); local-path sources persist `sha: null`, which is
1775
+ // the correct value (no commit concept applies). A persistence
1776
+ // failure is logged as a warning only — it must never turn an
1777
+ // otherwise-successful install into a reported failure.
1778
+ try {
1779
+ const persistEntry = {
1780
+ source: selection.source,
1781
+ sourceUrl: selection.sourceUrl ?? null,
1782
+ mode: selection.mode,
1783
+ selectedCodes: selection.selectedCodes,
1784
+ };
1785
+ if (selection.mode === 'registry') {
1786
+ // AC5 — record each selected entry's registry-provided
1787
+ // `approved_sha` (the immutable pin the registry declares), plus
1788
+ // its `approved_tag`. `sha` (the top-level field) mirrors the
1789
+ // first available approved_sha for back-compat with readers that
1790
+ // only look at `sha`.
1791
+ const selectedSet = new Set(selection.selectedCodes);
1792
+ const registryEntries = (selection.plugins || [])
1793
+ .filter((p) => selectedSet.has(p.code))
1794
+ .map((p) => ({ code: p.code, approvedSha: p.approvedSha ?? null, approvedTag: p.approvedTag ?? null }));
1795
+ persistEntry.entries = registryEntries;
1796
+ persistEntry.sha = registryEntries.map((e) => e.approvedSha).find((s) => s) || null;
1797
+ } else {
1798
+ persistEntry.sha = (resolvedModules || []).map((m) => m.cloneSha).find((s) => s) || null;
1799
+ }
1800
+ setCustomMarketplaceSelectionFn(projectRoot, persistEntry);
1801
+ } catch (persistErr) {
1802
+ console.warn(chalk.yellow(` Warning: could not persist custom marketplace selection: ${persistErr.message}`));
1803
+ }
1804
+
1805
+ return true;
1806
+ } catch (error) {
1807
+ console.error(chalk.red(` Custom marketplace subset install failed: ${error.message}`));
1808
+ console.error(chalk.yellow(` Custom marketplace stage left in place for inspection: ${stagePath}`));
1809
+ return false;
1810
+ }
1811
+ }
1812
+
1673
1813
  /**
1674
1814
  * Write bmad-method's `.bmad-channel.json` marker for an offline-cached
1675
1815
  * module if one is not already present.
@@ -2142,7 +2282,7 @@ function ensureCanonicalConfigLocation(projectRoot) {
2142
2282
 
2143
2283
  // ── Migration constants ─────────────────────────────────────────────────────
2144
2284
 
2145
- const BMAD_TARGET_VERSION = '6.9.0';
2285
+ const BMAD_TARGET_VERSION = '6.10.0';
2146
2286
  const BMAD_MIGRATION_THRESHOLD = '6.2.0'; // versions below this need migration
2147
2287
  const BACKUP_DIR_NAME = '.backup-pre-migration';
2148
2288
 
@@ -3121,6 +3261,8 @@ module.exports = {
3121
3261
  stagePlugin,
3122
3262
  cleanupStage,
3123
3263
  PLUGIN_STAGE_DIR_NAME,
3264
+ // Story 30.6b — custom-marketplace subset install (exported for unit tests)
3265
+ installCustomMarketplaceSubset,
3124
3266
  // F2a — Story 22.8 gitignore policy (project-root only). Exported so the
3125
3267
  // regression test can invoke it directly without spinning up the full
3126
3268
  // CLI / bmad-method pipeline.