ma-agents 3.13.2 → 3.14.0

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 (70) hide show
  1. package/lib/agents.js +7 -0
  2. package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +3 -3
  3. package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
  4. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-b388526edf307cf56f8e65673466cff074105abf.idx +0 -0
  5. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/{pack-8f8b045fef5af6911495cf3b2a89f1ed75e120f7.pack → pack-b388526edf307cf56f8e65673466cff074105abf.pack} +0 -0
  6. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-b388526edf307cf56f8e65673466cff074105abf.rev +0 -0
  7. package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
  8. package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
  9. package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
  10. package/lib/bmad-cache/bmb/package-lock.json +2 -2
  11. package/lib/bmad-cache/bmb/package.json +1 -1
  12. package/lib/bmad-cache/bmb/samples/bmad-agent-code-coach/scripts/wake.py +78 -0
  13. package/lib/bmad-cache/bmb/samples/bmad-agent-creative-muse/scripts/wake.py +78 -0
  14. package/lib/bmad-cache/bmb/samples/bmad-agent-sentinel/scripts/wake.py +78 -0
  15. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/customize-template.toml +3 -0
  16. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/init-sanctum-template.py +11 -5
  17. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/report-shell.html +1073 -0
  18. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/wake-template.py +78 -0
  19. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/customize.toml +48 -0
  20. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/count_tokens.py +78 -0
  21. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass.py +258 -0
  22. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/process-template.py +20 -0
  23. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/render_report.py +387 -0
  24. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/assets/adapter-claude-code.json +9 -0
  25. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/aggregate_benchmark.py +236 -0
  26. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/memlog.py +197 -0
  27. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/run_evals.py +513 -390
  28. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/run_triggers.py +347 -251
  29. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/tests/test_env_isolation.py +79 -0
  30. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/tests/test_trigger_detection.py +123 -0
  31. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-validate-module.py +82 -4
  32. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/validate-module.py +55 -11
  33. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/assets/customize-template.toml +3 -5
  34. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/assets/report-shell.html +860 -0
  35. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/customize.toml +59 -0
  36. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/count_tokens.py +77 -0
  37. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/init_skill.py +132 -0
  38. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/prepass-prompt-metrics.py +186 -221
  39. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/quick_validate.py +117 -0
  40. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/render_report.py +387 -0
  41. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/tests/test_canon_sync.py +46 -0
  42. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/tests/test_count_tokens.py +180 -0
  43. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/tests/test_render_report.py +171 -0
  44. package/lib/bmad-cache/cache-manifest.json +4 -4
  45. package/lib/bmad-extension/.claude-plugin/marketplace.json.template +1 -1
  46. package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +2 -2
  47. package/lib/bmad.js +6 -1
  48. package/lib/templates/instruction-block-git.template.md +25 -25
  49. package/lib/templates/instruction-block-onprem.template.md +86 -86
  50. package/lib/templates/instruction-block-universal.template.md +29 -29
  51. package/package.json +3 -3
  52. package/lib/.bmad-extension-plugin.build-22612-1782454014750/.claude-plugin/marketplace.json +0 -109
  53. package/lib/.bmad-extension-plugin.build-22612-1782454014750/skills/module-help.csv +0 -62
  54. package/lib/.bmad-extension-plugin.build-22612-1782454014750/skills/module.yaml +0 -20
  55. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-8f8b045fef5af6911495cf3b2a89f1ed75e120f7.idx +0 -0
  56. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-8f8b045fef5af6911495cf3b2a89f1ed75e120f7.rev +0 -0
  57. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/references/sample-init-sanctum.py +0 -274
  58. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/generate-html-report.py +0 -534
  59. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-execution-deps.py +0 -337
  60. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-prompt-metrics.py +0 -425
  61. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-sanctum-architecture.py +0 -385
  62. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-structure-capabilities.py +0 -482
  63. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/assets/Dockerfile +0 -29
  64. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/docker_setup.py +0 -115
  65. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/generate_report.py +0 -184
  66. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/pty_runner.py +0 -171
  67. package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/utils.py +0 -260
  68. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/extract-report-json.py +0 -287
  69. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-html-report.py +0 -588
  70. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/prepass-execution-deps.py +0 -288
@@ -1,109 +0,0 @@
1
- {
2
- "name": "ma-agents",
3
- "owner": {
4
- "name": "Alon Mayaffit"
5
- },
6
- "description": "ma-agents BMAD extension — enterprise SDLC personas (Yael, Amit, Alex, Demerzel, Gad) plus MIL-STD-498, SRE, DevOps, Cyber, ML, and SQA workflow skills.",
7
- "license": "MIT",
8
- "homepage": "https://github.com/mayafit/AI_Agents",
9
- "repository": "https://github.com/mayafit/AI_Agents",
10
- "keywords": [
11
- "bmad",
12
- "ma-agents",
13
- "enterprise",
14
- "sdlc",
15
- "mil-std-498",
16
- "sre",
17
- "devops",
18
- "cyber",
19
- "ml",
20
- "sqa",
21
- "claude-code",
22
- "copilot",
23
- "cline",
24
- "roo-code",
25
- "kilocode"
26
- ],
27
- "compatible_tools": [
28
- "claude-code",
29
- "copilot",
30
- "cline",
31
- "roo-code",
32
- "kilocode"
33
- ],
34
- "bmad_min_version": "6.8.0",
35
- "plugins": [
36
- {
37
- "name": "ma-skills",
38
- "source": "./",
39
- "description": "ma-agents extension module providing enterprise SDLC personas and operational workflow skills.",
40
- "version": "3.13.2",
41
- "author": {
42
- "name": "Alon Mayaffit"
43
- },
44
- "skills": [
45
- "./skills/ma-agent-cyber",
46
- "./skills/ma-agent-devops",
47
- "./skills/ma-agent-ml",
48
- "./skills/ma-agent-sqa",
49
- "./skills/ma-agent-sre",
50
- "./skills/mil498-ocd",
51
- "./skills/mil498-requirement-quality",
52
- "./skills/mil498-sdd",
53
- "./skills/mil498-sdp",
54
- "./skills/mil498-srs",
55
- "./skills/mil498-ssdd",
56
- "./skills/mil498-sss",
57
- "./skills/mil498-std",
58
- "./skills/sqa-audit",
59
- "./skills/sqa-ieee12207",
60
- "./skills/sqa-requirements-quality",
61
- "./skills/sre-check-deployment-status",
62
- "./skills/sre-check-secrets",
63
- "./skills/sre-check-system-status",
64
- "./skills/sre-day-2-ops",
65
- "./skills/sre-deployment-strategies",
66
- "./skills/sre-fix-deployments",
67
- "./skills/sre-gitops-status",
68
- "./skills/devops-configure-infrastructure",
69
- "./skills/devops-disconnected-deployment",
70
- "./skills/devops-docker-compose-setup",
71
- "./skills/devops-manage-helm",
72
- "./skills/devops-sign-docker-image",
73
- "./skills/cyber-generate-certs",
74
- "./skills/cyber-immunity-estimation",
75
- "./skills/cyber-security-audit",
76
- "./skills/cyber-vault-secrets",
77
- "./skills/cyber-verify-docker-users",
78
- "./skills/cyber-verify-image-signature",
79
- "./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
- "./skills/add-sprint",
93
- "./skills/add-to-sprint",
94
- "./skills/bmad-dev-story",
95
- "./skills/bmad-sprint-planning",
96
- "./skills/bmad-sprint-status",
97
- "./skills/cleanup-done",
98
- "./skills/close-sprint",
99
- "./skills/create-bug-story",
100
- "./skills/generate-backlog",
101
- "./skills/modify-sprint",
102
- "./skills/prioritize-backlog",
103
- "./skills/project-context-expansion",
104
- "./skills/remove-from-sprint",
105
- "./skills/sprint-status-view"
106
- ]
107
- }
108
- ]
109
- }
@@ -1,62 +0,0 @@
1
- module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs,
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
- 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
- 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
- ma-skills,anytime,SQA Agent,ma-agent-sqa,,skill:ma-agent-sqa,ma-agent-sqa,false,bmm-qa,,"Software Quality Assurance agent (Gad) for project auditing, compliance verification, and quality reporting.",output_folder,"agent customization",
7
- 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
- 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",
9
- ma-skills,4-implementation,Generate OCD,mil498-ocd,,skill:mil498-ocd,bmad-mil-generate-ocd,false,bmm-mil498,,"Generate a MIL-STD-498 Operational Concept Description (OCD).",output_folder,"MIL-498 document",
10
- ma-skills,4-implementation,Generate SDP,mil498-sdp,,skill:mil498-sdp,bmad-mil-generate-sdp,false,bmm-mil498,,"Generate a MIL-STD-498 Software Development Plan (SDP).",output_folder,"MIL-498 document",
11
- ma-skills,4-implementation,Generate SRS,mil498-srs,,skill:mil498-srs,bmad-mil-generate-srs,false,bmm-mil498,,"Generate a MIL-STD-498 Software Requirements Specification (SRS).",output_folder,"MIL-498 document",
12
- ma-skills,4-implementation,Generate SDD,mil498-sdd,,skill:mil498-sdd,bmad-mil-generate-sdd,false,bmm-mil498,,"Generate a MIL-STD-498 Software Design Description (SDD).",output_folder,"MIL-498 document",
13
- ma-skills,4-implementation,Generate STD,mil498-std,,skill:mil498-std,bmad-mil-generate-std,false,bmm-mil498,,"Generate a MIL-STD-498 Software Test Description (STD).",output_folder,"MIL-498 document",
14
- ma-skills,4-implementation,Requirements Quality,mil498-requirement-quality,,skill:mil498-requirement-quality,mil498-requirement-quality,false,bmm-mil498,,"Evaluate requirements against 14 quality criteria — produces per-requirement audit table, Missing Elements report, and Overall Quality Score.",output_folder,"requirements audit",
15
- ma-skills,4-implementation,Check Deployment Status,sre-check-deployment-status,,skill:sre-check-deployment-status,bmad-sre-check-deployment-status,false,bmm-sre,,"Check deployment status across Kubernetes namespaces and report issues.",output_folder,"status report",
16
- ma-skills,4-implementation,Check Secrets,sre-check-secrets,,skill:sre-check-secrets,bmad-sre-check-secrets,false,bmm-sre,,"Debug and verify secret configurations in Kubernetes clusters.",output_folder,"status report",
17
- ma-skills,4-implementation,Check System Status,sre-check-system-status,,skill:sre-check-system-status,bmad-sre-check-system-status,false,bmm-sre,,"Perform overall system status check across cluster resources.",output_folder,"status report",
18
- ma-skills,4-implementation,Day 2 Ops,sre-day-2-ops,,skill:sre-day-2-ops,bmad-sre-day-2-ops,false,bmm-sre,,"Execute Day 2 operations and maintenance tasks for running systems.",output_folder,"operations report",
19
- ma-skills,4-implementation,Deployment Strategies,sre-deployment-strategies,,skill:sre-deployment-strategies,bmad-sre-deployment-strategies,false,bmm-sre,,"Evaluate and recommend deployment strategies (blue-green, canary, rolling).",output_folder,"strategy report",
20
- ma-skills,4-implementation,Fix Deployments,sre-fix-deployments,,skill:sre-fix-deployments,bmad-sre-fix-deployments,false,bmm-sre,,"Troubleshoot and fix failed or degraded deployments.",output_folder,"fix report",
21
- ma-skills,4-implementation,GitOps Status,sre-gitops-status,,skill:sre-gitops-status,bmad-sre-gitops-status,false,bmm-sre,,"Check GitOps sync status and detect configuration drift.",output_folder,"status report",
22
- ma-skills,4-implementation,Configure Infrastructure,devops-configure-infrastructure,,skill:devops-configure-infrastructure,bmad-devops-configure-infrastructure,false,bmm-devops,,"Configure infrastructure components using Infrastructure as Code patterns.",output_folder,"infrastructure config",
23
- ma-skills,4-implementation,Disconnected Deployment,devops-disconnected-deployment,,skill:devops-disconnected-deployment,bmad-devops-disconnected-deployment,false,bmm-devops,,"Deploy to air-gapped or disconnected environments.",output_folder,"deployment guide",
24
- ma-skills,4-implementation,Docker Compose Setup,devops-docker-compose-setup,,skill:devops-docker-compose-setup,bmad-devops-docker-compose-setup,false,bmm-devops,,"Set up and manage Docker Compose configurations.",output_folder,"compose config",
25
- ma-skills,4-implementation,Manage Helm,devops-manage-helm,,skill:devops-manage-helm,bmad-devops-manage-helm,false,bmm-devops,,"Deploy and manage Helm charts for Kubernetes.",output_folder,"helm config",
26
- ma-skills,4-implementation,Sign Docker Image,devops-sign-docker-image,,skill:devops-sign-docker-image,bmad-devops-sign-docker-image,false,bmm-devops,,"Sign Docker images using Cosign/Notary for supply chain security.",output_folder,"signing report",
27
- ma-skills,4-implementation,Generate Certs,cyber-generate-certs,,skill:cyber-generate-certs,bmad-cyber-generate-certs,false,bmm-cyber,,"Generate secure self-signed certificates and Root CAs using OpenSSL.",output_folder,"certificates",
28
- ma-skills,4-implementation,Immunity Estimation,cyber-immunity-estimation,,skill:cyber-immunity-estimation,bmad-cyber-immunity-estimation,false,bmm-cyber,,"Estimate cyber immunity posture and resilience metrics.",output_folder,"immunity report",
29
- ma-skills,4-implementation,Security Audit,cyber-security-audit,,skill:cyber-security-audit,bmad-cyber-security-audit,false,bmm-cyber,,"Perform comprehensive security audit against industry standards.",output_folder,"audit report",
30
- ma-skills,4-implementation,Vault Secrets,cyber-vault-secrets,,skill:cyber-vault-secrets,bmad-cyber-vault-secrets,false,bmm-cyber,,"Manage HashiCorp Vault secret configurations and policies.",output_folder,"vault config",
31
- 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
- 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
- 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
- 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
- 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
- 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",
49
- ma-skills,4-implementation,Dev Story,bmad-dev-story,,skill:bmad-dev-story,bmad-dev-story,false,bmm-dev,,"Execute story implementation following a context filled story spec file.",_bmad-output/implementation-artifacts,"story implementation",
50
- ma-skills,4-implementation,Sprint Planning,bmad-sprint-planning,,skill:bmad-sprint-planning,bmad-sprint-planning,false,bmm-sm,,"Bootstrap or update the unified sprint-status.yaml from epics with three sections (epics, backlog, sprints).",_bmad-output/implementation-artifacts,"sprint plan",
51
- ma-skills,4-implementation,Generate Backlog,generate-backlog,,skill:generate-backlog,generate-backlog,false,bmm-sm,,"Generate or refresh the backlog section of sprint-status.yaml from epics and bug stories.",_bmad-output/implementation-artifacts,"backlog",
52
- ma-skills,4-implementation,Add Sprint,add-sprint,,skill:add-sprint,add-sprint,false,bmm-sm,,"Create a new sprint entry in the sprints section of sprint-status.yaml with capacity limits, optional ISO dates, and auto-incremented ID.",_bmad-output/implementation-artifacts,"sprint plan",
53
- ma-skills,4-implementation,Add to Sprint,add-to-sprint,,skill:add-to-sprint,add-to-sprint,false,bmm-sm,,"Move backlog items to a sprint in the unified sprint-status.yaml using movement semantics.",_bmad-output/implementation-artifacts,"sprint plan",
54
- ma-skills,4-implementation,Remove from Sprint,remove-from-sprint,,skill:remove-from-sprint,remove-from-sprint,false,bmm-sm,,"Move items from a sprint back to the backlog in the unified sprint-status.yaml using reverse movement semantics.",_bmad-output/implementation-artifacts,"sprint plan",
55
- ma-skills,4-implementation,Modify Sprint,modify-sprint,,skill:modify-sprint,modify-sprint,false,bmm-sm,,"Modify an existing sprint's metadata (name, capacity, dates, status) within the sprints section of sprint-status.yaml.",_bmad-output/implementation-artifacts,"sprint plan",
56
- ma-skills,4-implementation,Sprint Status View,sprint-status-view,,skill:sprint-status-view,sprint-status-view,false,bmm-sm,,"Display formatted sprint progress, backlog, and epic status from the unified sprint-status.yaml.",_bmad-output/implementation-artifacts,"status display",
57
- ma-skills,4-implementation,Sprint Status Health,bmad-sprint-status,,skill:bmad-sprint-status,bmad-sprint-status,false,bmm-sm,,"Analyze sprint health, surface risk flags, and recommend next actions from the unified sprint-status.yaml.",_bmad-output/implementation-artifacts,"health summary",
58
- ma-skills,4-implementation,Cleanup Done,cleanup-done,,skill:cleanup-done,cleanup-done,false,bmm-sm,,"Archive done and cancelled items — remove from sprint-status.yaml and move files to done/ subfolder.",_bmad-output/implementation-artifacts,"archival",
59
- ma-skills,4-implementation,Close Sprint,close-sprint,,skill:close-sprint,close-sprint,false,bmm-sm,,"Close an active sprint — archive done/cancelled items, disposition incomplete items, set sprint status to closed.",_bmad-output/implementation-artifacts,"sprint plan",
60
- ma-skills,4-implementation,Prioritize Backlog,prioritize-backlog,,skill:prioritize-backlog,prioritize-backlog,false,bmm-sm,,"Reprioritize backlog items using multiple criteria -- severity, business value, dependencies, type, age.",_bmad-output/implementation-artifacts,"backlog",
61
- ma-skills,4-implementation,Project Context Expansion,project-context-expansion,,skill:project-context-expansion,project-context-expansion,false,bmm-sm,,"Post-retrospective companion to update project-context.md with new rules.",_bmad-output,"project context",
62
- ma-skills,4-implementation,Requirements Quality Audit,sqa-requirements-quality,,skill:sqa-requirements-quality,sqa-requirements-quality,false,bmm-qa,,"Evaluate project requirements against 14 quality criteria — produces a per-requirement audit table, missing-elements section, and overall quality score.",_bmad-output,"quality report",
@@ -1,20 +0,0 @@
1
- # ma-skills module manifest (BMAD v6.6.0 schema)
2
- #
3
- # Canonical location: `skills/module.yaml` (BMAD 6.2.2+ / 6.3.0). The previous
4
- # location `lib/bmad-extension/module.yaml` was moved here during Story 22.5.
5
- # PluginResolver (tools/installer/modules/plugin-resolver.js) discovers this
6
- # file as the "common parent of all skills" under Strategy 1.
7
- #
8
- # module_version policy (Story 22.5 / AC 7):
9
- # - Patch: bug fixes within existing skills
10
- # - Minor: skill added, additive change
11
- # - Major: skill removed, renamed, or breaking change to skill behavior
12
- # Bump this whenever marketplace.json.template's skills[] list or any
13
- # bmad-skill-manifest.yaml is modified.
14
-
15
- code: ma-skills
16
- name: "MA-Agents Skills & Agents"
17
- description: "Enterprise methodology enforcement, specialized agents, and operational workflows"
18
- module_version: "3.6.2"
19
- extends-module: bmm
20
- default_selected: false
@@ -1,274 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- First Breath — Deterministic sanctum scaffolding for the Creative Muse.
4
-
5
- This script runs BEFORE the conversational awakening. It creates the sanctum
6
- folder structure, copies template files with config values substituted,
7
- copies all capability files and their supporting references into the sanctum,
8
- and auto-generates CAPABILITIES.md from capability prompt frontmatter.
9
-
10
- After this script runs, the sanctum is fully self-contained — the agent does
11
- not depend on the skill bundle location for normal operation.
12
-
13
- Usage:
14
- python3 init-sanctum.py <project-root> <skill-path>
15
-
16
- project-root: The root of the project (where _bmad/ lives)
17
- skill-path: Path to the skill directory (where SKILL.md, references/, assets/ live)
18
-
19
- Example:
20
- uv run scripts/init-sanctum.py /Users/me/myproject /path/to/agent-creative-muse
21
- """
22
-
23
- import sys
24
- import re
25
- import shutil
26
- from datetime import date
27
- from pathlib import Path
28
-
29
- SKILL_NAME = "agent-creative-muse"
30
- SANCTUM_DIR = SKILL_NAME
31
-
32
- # Files that stay in the skill bundle (only used during First Breath)
33
- SKILL_ONLY_FILES = {"first-breath.md"}
34
-
35
- TEMPLATE_FILES = [
36
- "INDEX-template.md",
37
- "PERSONA-template.md",
38
- "CREED-template.md",
39
- "BOND-template.md",
40
- "MEMORY-template.md",
41
- "PULSE-template.md",
42
- ]
43
-
44
-
45
- def parse_yaml_config(config_path: Path) -> dict:
46
- """Simple YAML key-value parser. Handles top-level scalar values only."""
47
- config = {}
48
- if not config_path.exists():
49
- return config
50
- with open(config_path) as f:
51
- for line in f:
52
- line = line.strip()
53
- if not line or line.startswith("#"):
54
- continue
55
- if ":" in line:
56
- key, _, value = line.partition(":")
57
- value = value.strip().strip("'\"")
58
- if value:
59
- config[key.strip()] = value
60
- return config
61
-
62
-
63
- def parse_frontmatter(file_path: Path) -> dict:
64
- """Extract YAML frontmatter from a markdown file."""
65
- meta = {}
66
- with open(file_path) as f:
67
- content = f.read()
68
-
69
- match = re.match(r"^---\s*\n(.*?)\n---", content, re.DOTALL)
70
- if not match:
71
- return meta
72
-
73
- for line in match.group(1).strip().split("\n"):
74
- if ":" in line:
75
- key, _, value = line.partition(":")
76
- meta[key.strip()] = value.strip().strip("'\"")
77
- return meta
78
-
79
-
80
- def copy_references(source_dir: Path, dest_dir: Path) -> list[str]:
81
- """Copy all reference files (except skill-only files) into the sanctum."""
82
- dest_dir.mkdir(parents=True, exist_ok=True)
83
- copied = []
84
-
85
- for source_file in sorted(source_dir.iterdir()):
86
- if source_file.name in SKILL_ONLY_FILES:
87
- continue
88
- if source_file.is_file():
89
- shutil.copy2(source_file, dest_dir / source_file.name)
90
- copied.append(source_file.name)
91
-
92
- return copied
93
-
94
-
95
- def copy_scripts(source_dir: Path, dest_dir: Path) -> list[str]:
96
- """Copy any scripts the capabilities might use into the sanctum."""
97
- if not source_dir.exists():
98
- return []
99
- dest_dir.mkdir(parents=True, exist_ok=True)
100
- copied = []
101
-
102
- for source_file in sorted(source_dir.iterdir()):
103
- if source_file.is_file() and source_file.name != "init-sanctum.py":
104
- shutil.copy2(source_file, dest_dir / source_file.name)
105
- copied.append(source_file.name)
106
-
107
- return copied
108
-
109
-
110
- def discover_capabilities(references_dir: Path, sanctum_refs_path: str) -> list[dict]:
111
- """Scan references/ for capability prompt files with frontmatter."""
112
- capabilities = []
113
-
114
- for md_file in sorted(references_dir.glob("*.md")):
115
- if md_file.name in SKILL_ONLY_FILES:
116
- continue
117
- meta = parse_frontmatter(md_file)
118
- if meta.get("name") and meta.get("code"):
119
- capabilities.append({
120
- "name": meta["name"],
121
- "description": meta.get("description", ""),
122
- "code": meta["code"],
123
- "source": f"{sanctum_refs_path}/{md_file.name}",
124
- })
125
- return capabilities
126
-
127
-
128
- def generate_capabilities_md(capabilities: list[dict]) -> str:
129
- """Generate CAPABILITIES.md content from discovered capabilities."""
130
- lines = [
131
- "# Capabilities",
132
- "",
133
- "## Built-in",
134
- "",
135
- "| Code | Name | Description | Source |",
136
- "|------|------|-------------|--------|",
137
- ]
138
- for cap in capabilities:
139
- lines.append(
140
- f"| [{cap['code']}] | {cap['name']} | {cap['description']} | `{cap['source']}` |"
141
- )
142
-
143
- lines.extend([
144
- "",
145
- "## Learned",
146
- "",
147
- "_Capabilities added by the owner over time. Prompts live in `capabilities/`._",
148
- "",
149
- "| Code | Name | Description | Source | Added |",
150
- "|------|------|-------------|--------|-------|",
151
- "",
152
- "## How to Add a Capability",
153
- "",
154
- 'Tell me "I want you to be able to do X" and we\'ll create it together.',
155
- "I'll write the prompt, save it to `capabilities/`, and register it here.",
156
- "Next session, I'll know how.",
157
- "Load `./references/capability-authoring.md` for the full creation framework.",
158
- "",
159
- "## Tools",
160
- "",
161
- "Prefer crafting your own tools over depending on external ones. A script you wrote "
162
- "and saved is more reliable than an external API. Use the file system creatively.",
163
- "",
164
- "### User-Provided Tools",
165
- "",
166
- "_MCP servers, APIs, or services the owner has made available. Document them here._",
167
- ])
168
-
169
- return "\n".join(lines) + "\n"
170
-
171
-
172
- def substitute_vars(content: str, variables: dict) -> str:
173
- """Replace {var_name} placeholders with values from the variables dict."""
174
- for key, value in variables.items():
175
- content = content.replace(f"{{{key}}}", value)
176
- return content
177
-
178
-
179
- def main():
180
- if len(sys.argv) < 3:
181
- print("Usage: python3 init-sanctum.py <project-root> <skill-path>")
182
- sys.exit(1)
183
-
184
- project_root = Path(sys.argv[1]).resolve()
185
- skill_path = Path(sys.argv[2]).resolve()
186
-
187
- # Paths
188
- bmad_dir = project_root / "_bmad"
189
- memory_dir = bmad_dir / "memory"
190
- sanctum_path = memory_dir / SANCTUM_DIR
191
- assets_dir = skill_path / "assets"
192
- references_dir = skill_path / "references"
193
- scripts_dir = skill_path / "scripts"
194
-
195
- # Sanctum subdirectories
196
- sanctum_refs = sanctum_path / "references"
197
- sanctum_scripts = sanctum_path / "scripts"
198
-
199
- # Relative path for CAPABILITIES.md references (agent loads from within sanctum)
200
- sanctum_refs_path = "./references"
201
-
202
- # Check if sanctum already exists
203
- if sanctum_path.exists():
204
- print(f"Sanctum already exists at {sanctum_path}")
205
- print("This agent has already been born. Skipping First Breath scaffolding.")
206
- sys.exit(0)
207
-
208
- # Load config
209
- config = {}
210
- for config_file in ["config.yaml", "config.user.yaml"]:
211
- config.update(parse_yaml_config(bmad_dir / config_file))
212
-
213
- # Build variable substitution map
214
- today = date.today().isoformat()
215
- variables = {
216
- "user_name": config.get("user_name", "friend"),
217
- "communication_language": config.get("communication_language", "English"),
218
- "birth_date": today,
219
- "project_root": str(project_root),
220
- "sanctum_path": str(sanctum_path),
221
- }
222
-
223
- # Create sanctum structure
224
- sanctum_path.mkdir(parents=True, exist_ok=True)
225
- (sanctum_path / "capabilities").mkdir(exist_ok=True)
226
- (sanctum_path / "sessions").mkdir(exist_ok=True)
227
- print(f"Created sanctum at {sanctum_path}")
228
-
229
- # Copy reference files (capabilities + techniques + guidance) into sanctum
230
- copied_refs = copy_references(references_dir, sanctum_refs)
231
- print(f" Copied {len(copied_refs)} reference files to sanctum/references/")
232
- for name in copied_refs:
233
- print(f" - {name}")
234
-
235
- # Copy any supporting scripts into sanctum
236
- copied_scripts = copy_scripts(scripts_dir, sanctum_scripts)
237
- if copied_scripts:
238
- print(f" Copied {len(copied_scripts)} scripts to sanctum/scripts/")
239
- for name in copied_scripts:
240
- print(f" - {name}")
241
-
242
- # Copy and substitute template files
243
- for template_name in TEMPLATE_FILES:
244
- template_path = assets_dir / template_name
245
- if not template_path.exists():
246
- print(f" Warning: template {template_name} not found, skipping")
247
- continue
248
-
249
- # Remove "-template" from the output filename and uppercase it
250
- output_name = template_name.replace("-template", "").upper()
251
- # Fix extension casing: .MD -> .md
252
- output_name = output_name[:-3] + ".md"
253
-
254
- content = template_path.read_text()
255
- content = substitute_vars(content, variables)
256
-
257
- output_path = sanctum_path / output_name
258
- output_path.write_text(content)
259
- print(f" Created {output_name}")
260
-
261
- # Auto-generate CAPABILITIES.md from references/ frontmatter
262
- capabilities = discover_capabilities(references_dir, sanctum_refs_path)
263
- capabilities_content = generate_capabilities_md(capabilities)
264
- (sanctum_path / "CAPABILITIES.md").write_text(capabilities_content)
265
- print(f" Created CAPABILITIES.md ({len(capabilities)} built-in capabilities discovered)")
266
-
267
- print()
268
- print("First Breath scaffolding complete.")
269
- print("The conversational awakening can now begin.")
270
- print(f"Sanctum: {sanctum_path}")
271
-
272
-
273
- if __name__ == "__main__":
274
- main()