ma-agents 3.18.1-beta.0 → 3.18.1-beta.2
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.
- package/lib/bmad-extension/skills/module-help.csv +52 -52
- package/lib/bmad-extension/skills/my-next-issue/SKILL.md +1 -1
- package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +1 -1
- package/lib/bmad-extension-plugin/skills/module-help.csv +52 -52
- package/lib/bmad-extension-plugin/skills/my-next-issue/SKILL.md +1 -1
- package/lib/bmad.js +23 -3
- package/lib/fs-retry-preload.js +70 -0
- package/lib/installer.js +24 -4
- package/lib/knowledge-atlas/dist/atlas.cjs +14651 -14651
- package/package.json +2 -2
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
module,
|
|
2
|
-
ma-skills,
|
|
3
|
-
ma-skills,
|
|
4
|
-
ma-skills,
|
|
5
|
-
ma-skills,
|
|
6
|
-
ma-skills,
|
|
7
|
-
ma-skills,
|
|
8
|
-
ma-skills,
|
|
9
|
-
ma-skills,
|
|
10
|
-
ma-skills,
|
|
11
|
-
ma-skills,
|
|
12
|
-
ma-skills,
|
|
13
|
-
ma-skills,
|
|
14
|
-
ma-skills,
|
|
15
|
-
ma-skills,
|
|
16
|
-
ma-skills,
|
|
17
|
-
ma-skills,
|
|
18
|
-
ma-skills,
|
|
19
|
-
ma-skills,
|
|
20
|
-
ma-skills,
|
|
21
|
-
ma-skills,
|
|
22
|
-
ma-skills,
|
|
23
|
-
ma-skills,
|
|
24
|
-
ma-skills,
|
|
25
|
-
ma-skills,
|
|
26
|
-
ma-skills,
|
|
27
|
-
ma-skills,
|
|
28
|
-
ma-skills,
|
|
29
|
-
ma-skills,
|
|
30
|
-
ma-skills,
|
|
31
|
-
ma-skills,
|
|
32
|
-
ma-skills,
|
|
33
|
-
ma-skills,
|
|
34
|
-
ma-skills,
|
|
35
|
-
ma-skills,
|
|
36
|
-
ma-skills,
|
|
37
|
-
ma-skills,
|
|
38
|
-
ma-skills,
|
|
39
|
-
ma-skills,
|
|
40
|
-
ma-skills,
|
|
41
|
-
ma-skills,
|
|
42
|
-
ma-skills,
|
|
43
|
-
ma-skills,
|
|
44
|
-
ma-skills,
|
|
45
|
-
ma-skills,
|
|
46
|
-
ma-skills,
|
|
47
|
-
ma-skills,
|
|
48
|
-
ma-skills,
|
|
49
|
-
ma-skills,
|
|
50
|
-
ma-skills,
|
|
51
|
-
ma-skills,
|
|
52
|
-
ma-skills,
|
|
1
|
+
module,skill,display-name,menu-code,description,action,args,phase,preceded-by,followed-by,required,output-location,outputs
|
|
2
|
+
ma-skills,ma-agent-sre,SRE Agent,SRE,"Site Reliability Engineer agent for system availability, reliability, and Kubernetes operations.",,,anytime,,,false,output_folder,agent customization
|
|
3
|
+
ma-skills,ma-agent-devops,DevOps Agent,DVO,"DevOps Engineer agent for CI/CD pipeline automation, Infrastructure as Code, and cloud-native technologies.",,,anytime,,,false,output_folder,agent customization
|
|
4
|
+
ma-skills,ma-agent-cyber,Cyber Agent,CYB,"Cyber Security Analyst agent for vulnerability assessment, threat modeling, and system hardening.",,,anytime,,,false,output_folder,agent customization
|
|
5
|
+
ma-skills,ma-agent-sqa,SQA Agent,SQA,"Software Quality Assurance agent (Gadi) for project auditing, compliance verification, and quality reporting.",,,anytime,,,false,output_folder,agent customization
|
|
6
|
+
ma-skills,mil498-sss,Generate SSS,SSS,Generate a MIL-STD-498 System/Subsystem Specification (SSS).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
7
|
+
ma-skills,mil498-ssdd,Generate SSDD,SSDD,Generate a MIL-STD-498 System/Subsystem Design Description (SSDD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
8
|
+
ma-skills,mil498-ocd,Generate OCD,OCD,Generate a MIL-STD-498 Operational Concept Description (OCD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
9
|
+
ma-skills,mil498-sdp,Generate SDP,SDP,Generate a MIL-STD-498 Software Development Plan (SDP).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
10
|
+
ma-skills,mil498-srs,Generate SRS,SRS,Generate a MIL-STD-498 Software Requirements Specification (SRS).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
11
|
+
ma-skills,mil498-sdd,Generate SDD,SDD,Generate a MIL-STD-498 Software Design Description (SDD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
12
|
+
ma-skills,mil498-std,Generate STD,STD,Generate a MIL-STD-498 Software Test Description (STD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
13
|
+
ma-skills,mil498-requirement-quality,Requirements Quality,RQ,"Evaluate requirements against 14 quality criteria — produces per-requirement audit table, Missing Elements report, and Overall Quality Score.",,,4-implementation,,,false,output_folder,requirements audit
|
|
14
|
+
ma-skills,sre-check-deployment-status,Check Deployment Status,CDS,Check deployment status across Kubernetes namespaces and report issues.,,,4-implementation,,,false,output_folder,status report
|
|
15
|
+
ma-skills,sre-check-secrets,Check Secrets,CKS,Debug and verify secret configurations in Kubernetes clusters.,,,4-implementation,,,false,output_folder,status report
|
|
16
|
+
ma-skills,sre-check-system-status,Check System Status,CSS,Perform overall system status check across cluster resources.,,,4-implementation,,,false,output_folder,status report
|
|
17
|
+
ma-skills,sre-day-2-ops,Day 2 Ops,D2O,Execute Day 2 operations and maintenance tasks for running systems.,,,4-implementation,,,false,output_folder,operations report
|
|
18
|
+
ma-skills,sre-deployment-strategies,Deployment Strategies,DST,"Evaluate and recommend deployment strategies (blue-green, canary, rolling).",,,4-implementation,,,false,output_folder,strategy report
|
|
19
|
+
ma-skills,sre-fix-deployments,Fix Deployments,FD,Troubleshoot and fix failed or degraded deployments.,,,4-implementation,,,false,output_folder,fix report
|
|
20
|
+
ma-skills,sre-gitops-status,GitOps Status,GOS,Check GitOps sync status and detect configuration drift.,,,4-implementation,,,false,output_folder,status report
|
|
21
|
+
ma-skills,devops-configure-infrastructure,Configure Infrastructure,CFI,Configure infrastructure components using Infrastructure as Code patterns.,,,4-implementation,,,false,output_folder,infrastructure config
|
|
22
|
+
ma-skills,devops-disconnected-deployment,Disconnected Deployment,DD,Deploy to air-gapped or disconnected environments.,,,4-implementation,,,false,output_folder,deployment guide
|
|
23
|
+
ma-skills,devops-docker-compose-setup,Docker Compose Setup,DCS,Set up and manage Docker Compose configurations.,,,4-implementation,,,false,output_folder,compose config
|
|
24
|
+
ma-skills,devops-manage-helm,Manage Helm,MH,Deploy and manage Helm charts for Kubernetes.,,,4-implementation,,,false,output_folder,helm config
|
|
25
|
+
ma-skills,devops-sign-docker-image,Sign Docker Image,SDI,Sign Docker images using Cosign/Notary for supply chain security.,,,4-implementation,,,false,output_folder,signing report
|
|
26
|
+
ma-skills,cyber-generate-certs,Generate Certs,GC,Generate secure self-signed certificates and Root CAs using OpenSSL.,,,4-implementation,,,false,output_folder,certificates
|
|
27
|
+
ma-skills,cyber-immunity-estimation,Immunity Estimation,IE,Estimate cyber immunity posture and resilience metrics.,,,4-implementation,,,false,output_folder,immunity report
|
|
28
|
+
ma-skills,cyber-security-audit,Security Audit,SEA,Perform comprehensive security audit against industry standards.,,,4-implementation,,,false,output_folder,audit report
|
|
29
|
+
ma-skills,cyber-vault-secrets,Vault Secrets,VLT,Manage HashiCorp Vault secret configurations and policies.,,,4-implementation,,,false,output_folder,vault config
|
|
30
|
+
ma-skills,cyber-verify-docker-users,Verify Docker Users,VDU,Verify Docker image user configurations and hardening compliance.,,,4-implementation,,,false,output_folder,verification report
|
|
31
|
+
ma-skills,cyber-verify-image-signature,Verify Image Signature,VIS,Verify Docker image signatures for supply chain integrity.,,,4-implementation,,,false,output_folder,verification report
|
|
32
|
+
ma-skills,cyber-vulnerability-scan,Vulnerability Scan,VSC,Orchestrate vulnerability scanning across project components.,,,4-implementation,,,false,output_folder,scan report
|
|
33
|
+
ma-skills,sqa-audit,SQA Audit,SAU,"Comprehensive project quality audit covering code-to-story traceability, story-to-architecture alignment, process compliance, sprint health, and release state.",,,4-implementation,,,false,_bmad-output,audit report
|
|
34
|
+
ma-skills,sqa-ieee12207,IEEE 12207 Compliance,ISO,Evaluate the project against IEEE/ISO/IEC 12207:2017 software lifecycle processes — produces a compliance matrix and gap analysis report.,,,4-implementation,,,false,_bmad-output,compliance report
|
|
35
|
+
ma-skills,create-bug-story,Create Bug Story,CBS,Create a structured bug story from a detected defect and add to backlog.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,bug story
|
|
36
|
+
ma-skills,bmad-dev-story,Dev Story,MDS,Execute story implementation following a context filled story spec file.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,story implementation
|
|
37
|
+
ma-skills,bmad-dev-epic,Dev Epic,DE,"Orchestrate a full epic end-to-end with parallel subagents — per-story create/dev/review/edge-case/fix/e2e pipeline, dependency-aware waves, configurable model tiers, an epic-level adversarial + package-integrity gate, and gated beta publish + PR.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,epic run ledger + PR
|
|
38
|
+
ma-skills,bmad-sprint-planning,Sprint Planning,MSP,"Bootstrap or update the unified sprint-status.yaml from epics with three sections (epics, backlog, sprints).",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
39
|
+
ma-skills,generate-backlog,Generate Backlog,GB,Generate or refresh the backlog section of sprint-status.yaml from epics and bug stories.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,backlog
|
|
40
|
+
ma-skills,add-sprint,Add Sprint,AS,"Create a new sprint entry in the sprints section of sprint-status.yaml with capacity limits, optional ISO dates, and auto-incremented ID.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
41
|
+
ma-skills,add-to-sprint,Add to Sprint,ATS,Move backlog items to a sprint in the unified sprint-status.yaml using movement semantics.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
42
|
+
ma-skills,remove-from-sprint,Remove from Sprint,RFS,Move items from a sprint back to the backlog in the unified sprint-status.yaml using reverse movement semantics.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
43
|
+
ma-skills,modify-sprint,Modify Sprint,MS,"Modify an existing sprint's metadata (name, capacity, dates, status) within the sprints section of sprint-status.yaml.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
44
|
+
ma-skills,sprint-status-view,Sprint Status View,SSV,"Display formatted sprint progress, backlog, and epic status from the unified sprint-status.yaml.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,status display
|
|
45
|
+
ma-skills,bmad-sprint-status,Sprint Status Health,SSH,"Analyze sprint health, surface risk flags, and recommend next actions from the unified sprint-status.yaml.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,health summary
|
|
46
|
+
ma-skills,cleanup-done,Cleanup Done,CD,Archive done and cancelled items — remove from sprint-status.yaml and move files to done/ subfolder.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,archival
|
|
47
|
+
ma-skills,close-sprint,Close Sprint,CLS,"Close an active sprint — archive done/cancelled items, disposition incomplete items, set sprint status to closed.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
48
|
+
ma-skills,prioritize-backlog,Prioritize Backlog,PB,"Reprioritize backlog items using multiple criteria -- severity, business value, dependencies, type, age.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,backlog
|
|
49
|
+
ma-skills,my-next-issue,My Next Issue,MNI,Return the highest-priority open item assigned to the operating user (Jira: assignee = currentUser()) and answer 'what should I work on next?'.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,issue selection
|
|
50
|
+
ma-skills,project-context-expansion,Project Context Expansion,PCE,Post-retrospective companion to update project-context.md with new rules.,,,4-implementation,,,false,_bmad-output,project context
|
|
51
|
+
ma-skills,sqa-requirements-quality,Requirements Quality Audit,RQA,"Evaluate project requirements against 14 quality criteria — produces a per-requirement audit table, missing-elements section, and overall quality score.",,,4-implementation,,,false,_bmad-output,quality report
|
|
52
|
+
ma-skills,bmad-knowledge,Knowledge Atlas,KA,Generate a self-contained Knowledge Atlas HTML site from project planning and implementation artifacts.,,,anytime,,,false,_bmad-output/knowledge-site,knowledge site
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: my-next-issue
|
|
3
|
-
description: Return the highest-priority open item assigned to the operating user (Jira: assignee = currentUser()) and answer "what should I work on next?"
|
|
3
|
+
description: 'Return the highest-priority open item assigned to the operating user (Jira: assignee = currentUser()) and answer "what should I work on next?"'
|
|
4
4
|
type: skill
|
|
5
5
|
triggers:
|
|
6
6
|
- "my next issue"
|
|
@@ -37,7 +37,7 @@
|
|
|
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.18.1-beta.
|
|
40
|
+
"version": "3.18.1-beta.2",
|
|
41
41
|
"author": {
|
|
42
42
|
"name": "Alon Mayaffit"
|
|
43
43
|
},
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
module,
|
|
2
|
-
ma-skills,
|
|
3
|
-
ma-skills,
|
|
4
|
-
ma-skills,
|
|
5
|
-
ma-skills,
|
|
6
|
-
ma-skills,
|
|
7
|
-
ma-skills,
|
|
8
|
-
ma-skills,
|
|
9
|
-
ma-skills,
|
|
10
|
-
ma-skills,
|
|
11
|
-
ma-skills,
|
|
12
|
-
ma-skills,
|
|
13
|
-
ma-skills,
|
|
14
|
-
ma-skills,
|
|
15
|
-
ma-skills,
|
|
16
|
-
ma-skills,
|
|
17
|
-
ma-skills,
|
|
18
|
-
ma-skills,
|
|
19
|
-
ma-skills,
|
|
20
|
-
ma-skills,
|
|
21
|
-
ma-skills,
|
|
22
|
-
ma-skills,
|
|
23
|
-
ma-skills,
|
|
24
|
-
ma-skills,
|
|
25
|
-
ma-skills,
|
|
26
|
-
ma-skills,
|
|
27
|
-
ma-skills,
|
|
28
|
-
ma-skills,
|
|
29
|
-
ma-skills,
|
|
30
|
-
ma-skills,
|
|
31
|
-
ma-skills,
|
|
32
|
-
ma-skills,
|
|
33
|
-
ma-skills,
|
|
34
|
-
ma-skills,
|
|
35
|
-
ma-skills,
|
|
36
|
-
ma-skills,
|
|
37
|
-
ma-skills,
|
|
38
|
-
ma-skills,
|
|
39
|
-
ma-skills,
|
|
40
|
-
ma-skills,
|
|
41
|
-
ma-skills,
|
|
42
|
-
ma-skills,
|
|
43
|
-
ma-skills,
|
|
44
|
-
ma-skills,
|
|
45
|
-
ma-skills,
|
|
46
|
-
ma-skills,
|
|
47
|
-
ma-skills,
|
|
48
|
-
ma-skills,
|
|
49
|
-
ma-skills,
|
|
50
|
-
ma-skills,
|
|
51
|
-
ma-skills,
|
|
52
|
-
ma-skills,
|
|
1
|
+
module,skill,display-name,menu-code,description,action,args,phase,preceded-by,followed-by,required,output-location,outputs
|
|
2
|
+
ma-skills,ma-agent-sre,SRE Agent,SRE,"Site Reliability Engineer agent for system availability, reliability, and Kubernetes operations.",,,anytime,,,false,output_folder,agent customization
|
|
3
|
+
ma-skills,ma-agent-devops,DevOps Agent,DVO,"DevOps Engineer agent for CI/CD pipeline automation, Infrastructure as Code, and cloud-native technologies.",,,anytime,,,false,output_folder,agent customization
|
|
4
|
+
ma-skills,ma-agent-cyber,Cyber Agent,CYB,"Cyber Security Analyst agent for vulnerability assessment, threat modeling, and system hardening.",,,anytime,,,false,output_folder,agent customization
|
|
5
|
+
ma-skills,ma-agent-sqa,SQA Agent,SQA,"Software Quality Assurance agent (Gadi) for project auditing, compliance verification, and quality reporting.",,,anytime,,,false,output_folder,agent customization
|
|
6
|
+
ma-skills,mil498-sss,Generate SSS,SSS,Generate a MIL-STD-498 System/Subsystem Specification (SSS).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
7
|
+
ma-skills,mil498-ssdd,Generate SSDD,SSDD,Generate a MIL-STD-498 System/Subsystem Design Description (SSDD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
8
|
+
ma-skills,mil498-ocd,Generate OCD,OCD,Generate a MIL-STD-498 Operational Concept Description (OCD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
9
|
+
ma-skills,mil498-sdp,Generate SDP,SDP,Generate a MIL-STD-498 Software Development Plan (SDP).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
10
|
+
ma-skills,mil498-srs,Generate SRS,SRS,Generate a MIL-STD-498 Software Requirements Specification (SRS).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
11
|
+
ma-skills,mil498-sdd,Generate SDD,SDD,Generate a MIL-STD-498 Software Design Description (SDD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
12
|
+
ma-skills,mil498-std,Generate STD,STD,Generate a MIL-STD-498 Software Test Description (STD).,,,4-implementation,,,false,output_folder,MIL-498 document
|
|
13
|
+
ma-skills,mil498-requirement-quality,Requirements Quality,RQ,"Evaluate requirements against 14 quality criteria — produces per-requirement audit table, Missing Elements report, and Overall Quality Score.",,,4-implementation,,,false,output_folder,requirements audit
|
|
14
|
+
ma-skills,sre-check-deployment-status,Check Deployment Status,CDS,Check deployment status across Kubernetes namespaces and report issues.,,,4-implementation,,,false,output_folder,status report
|
|
15
|
+
ma-skills,sre-check-secrets,Check Secrets,CKS,Debug and verify secret configurations in Kubernetes clusters.,,,4-implementation,,,false,output_folder,status report
|
|
16
|
+
ma-skills,sre-check-system-status,Check System Status,CSS,Perform overall system status check across cluster resources.,,,4-implementation,,,false,output_folder,status report
|
|
17
|
+
ma-skills,sre-day-2-ops,Day 2 Ops,D2O,Execute Day 2 operations and maintenance tasks for running systems.,,,4-implementation,,,false,output_folder,operations report
|
|
18
|
+
ma-skills,sre-deployment-strategies,Deployment Strategies,DST,"Evaluate and recommend deployment strategies (blue-green, canary, rolling).",,,4-implementation,,,false,output_folder,strategy report
|
|
19
|
+
ma-skills,sre-fix-deployments,Fix Deployments,FD,Troubleshoot and fix failed or degraded deployments.,,,4-implementation,,,false,output_folder,fix report
|
|
20
|
+
ma-skills,sre-gitops-status,GitOps Status,GOS,Check GitOps sync status and detect configuration drift.,,,4-implementation,,,false,output_folder,status report
|
|
21
|
+
ma-skills,devops-configure-infrastructure,Configure Infrastructure,CFI,Configure infrastructure components using Infrastructure as Code patterns.,,,4-implementation,,,false,output_folder,infrastructure config
|
|
22
|
+
ma-skills,devops-disconnected-deployment,Disconnected Deployment,DD,Deploy to air-gapped or disconnected environments.,,,4-implementation,,,false,output_folder,deployment guide
|
|
23
|
+
ma-skills,devops-docker-compose-setup,Docker Compose Setup,DCS,Set up and manage Docker Compose configurations.,,,4-implementation,,,false,output_folder,compose config
|
|
24
|
+
ma-skills,devops-manage-helm,Manage Helm,MH,Deploy and manage Helm charts for Kubernetes.,,,4-implementation,,,false,output_folder,helm config
|
|
25
|
+
ma-skills,devops-sign-docker-image,Sign Docker Image,SDI,Sign Docker images using Cosign/Notary for supply chain security.,,,4-implementation,,,false,output_folder,signing report
|
|
26
|
+
ma-skills,cyber-generate-certs,Generate Certs,GC,Generate secure self-signed certificates and Root CAs using OpenSSL.,,,4-implementation,,,false,output_folder,certificates
|
|
27
|
+
ma-skills,cyber-immunity-estimation,Immunity Estimation,IE,Estimate cyber immunity posture and resilience metrics.,,,4-implementation,,,false,output_folder,immunity report
|
|
28
|
+
ma-skills,cyber-security-audit,Security Audit,SEA,Perform comprehensive security audit against industry standards.,,,4-implementation,,,false,output_folder,audit report
|
|
29
|
+
ma-skills,cyber-vault-secrets,Vault Secrets,VLT,Manage HashiCorp Vault secret configurations and policies.,,,4-implementation,,,false,output_folder,vault config
|
|
30
|
+
ma-skills,cyber-verify-docker-users,Verify Docker Users,VDU,Verify Docker image user configurations and hardening compliance.,,,4-implementation,,,false,output_folder,verification report
|
|
31
|
+
ma-skills,cyber-verify-image-signature,Verify Image Signature,VIS,Verify Docker image signatures for supply chain integrity.,,,4-implementation,,,false,output_folder,verification report
|
|
32
|
+
ma-skills,cyber-vulnerability-scan,Vulnerability Scan,VSC,Orchestrate vulnerability scanning across project components.,,,4-implementation,,,false,output_folder,scan report
|
|
33
|
+
ma-skills,sqa-audit,SQA Audit,SAU,"Comprehensive project quality audit covering code-to-story traceability, story-to-architecture alignment, process compliance, sprint health, and release state.",,,4-implementation,,,false,_bmad-output,audit report
|
|
34
|
+
ma-skills,sqa-ieee12207,IEEE 12207 Compliance,ISO,Evaluate the project against IEEE/ISO/IEC 12207:2017 software lifecycle processes — produces a compliance matrix and gap analysis report.,,,4-implementation,,,false,_bmad-output,compliance report
|
|
35
|
+
ma-skills,create-bug-story,Create Bug Story,CBS,Create a structured bug story from a detected defect and add to backlog.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,bug story
|
|
36
|
+
ma-skills,bmad-dev-story,Dev Story,MDS,Execute story implementation following a context filled story spec file.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,story implementation
|
|
37
|
+
ma-skills,bmad-dev-epic,Dev Epic,DE,"Orchestrate a full epic end-to-end with parallel subagents — per-story create/dev/review/edge-case/fix/e2e pipeline, dependency-aware waves, configurable model tiers, an epic-level adversarial + package-integrity gate, and gated beta publish + PR.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,epic run ledger + PR
|
|
38
|
+
ma-skills,bmad-sprint-planning,Sprint Planning,MSP,"Bootstrap or update the unified sprint-status.yaml from epics with three sections (epics, backlog, sprints).",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
39
|
+
ma-skills,generate-backlog,Generate Backlog,GB,Generate or refresh the backlog section of sprint-status.yaml from epics and bug stories.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,backlog
|
|
40
|
+
ma-skills,add-sprint,Add Sprint,AS,"Create a new sprint entry in the sprints section of sprint-status.yaml with capacity limits, optional ISO dates, and auto-incremented ID.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
41
|
+
ma-skills,add-to-sprint,Add to Sprint,ATS,Move backlog items to a sprint in the unified sprint-status.yaml using movement semantics.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
42
|
+
ma-skills,remove-from-sprint,Remove from Sprint,RFS,Move items from a sprint back to the backlog in the unified sprint-status.yaml using reverse movement semantics.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
43
|
+
ma-skills,modify-sprint,Modify Sprint,MS,"Modify an existing sprint's metadata (name, capacity, dates, status) within the sprints section of sprint-status.yaml.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
44
|
+
ma-skills,sprint-status-view,Sprint Status View,SSV,"Display formatted sprint progress, backlog, and epic status from the unified sprint-status.yaml.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,status display
|
|
45
|
+
ma-skills,bmad-sprint-status,Sprint Status Health,SSH,"Analyze sprint health, surface risk flags, and recommend next actions from the unified sprint-status.yaml.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,health summary
|
|
46
|
+
ma-skills,cleanup-done,Cleanup Done,CD,Archive done and cancelled items — remove from sprint-status.yaml and move files to done/ subfolder.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,archival
|
|
47
|
+
ma-skills,close-sprint,Close Sprint,CLS,"Close an active sprint — archive done/cancelled items, disposition incomplete items, set sprint status to closed.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,sprint plan
|
|
48
|
+
ma-skills,prioritize-backlog,Prioritize Backlog,PB,"Reprioritize backlog items using multiple criteria -- severity, business value, dependencies, type, age.",,,4-implementation,,,false,_bmad-output/implementation-artifacts,backlog
|
|
49
|
+
ma-skills,my-next-issue,My Next Issue,MNI,Return the highest-priority open item assigned to the operating user (Jira: assignee = currentUser()) and answer 'what should I work on next?'.,,,4-implementation,,,false,_bmad-output/implementation-artifacts,issue selection
|
|
50
|
+
ma-skills,project-context-expansion,Project Context Expansion,PCE,Post-retrospective companion to update project-context.md with new rules.,,,4-implementation,,,false,_bmad-output,project context
|
|
51
|
+
ma-skills,sqa-requirements-quality,Requirements Quality Audit,RQA,"Evaluate project requirements against 14 quality criteria — produces a per-requirement audit table, missing-elements section, and overall quality score.",,,4-implementation,,,false,_bmad-output,quality report
|
|
52
|
+
ma-skills,bmad-knowledge,Knowledge Atlas,KA,Generate a self-contained Knowledge Atlas HTML site from project planning and implementation artifacts.,,,anytime,,,false,_bmad-output/knowledge-site,knowledge site
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: my-next-issue
|
|
3
|
-
description: Return the highest-priority open item assigned to the operating user (Jira: assignee = currentUser()) and answer "what should I work on next?"
|
|
3
|
+
description: 'Return the highest-priority open item assigned to the operating user (Jira: assignee = currentUser()) and answer "what should I work on next?"'
|
|
4
4
|
type: skill
|
|
5
5
|
triggers:
|
|
6
6
|
- "my next issue"
|
package/lib/bmad.js
CHANGED
|
@@ -12,8 +12,9 @@ const { withExperimentalWarningSuppressed } = require('./warning-filter');
|
|
|
12
12
|
* Build the env object passed to the bmad-method child spawn.
|
|
13
13
|
* Extends parent env with GIT_TERMINAL_PROMPT=0 and a NODE_OPTIONS
|
|
14
14
|
* value that silences the ExperimentalWarning about CJS require() of
|
|
15
|
-
* an ES Module (Bug A)
|
|
16
|
-
*
|
|
15
|
+
* an ES Module (Bug A) and preloads lib/fs-retry-preload.js, which makes
|
|
16
|
+
* the child's recursive deletes retry transient Windows locks (EBUSY).
|
|
17
|
+
* Callers that need a different NODE_OPTIONS can merge after this call.
|
|
17
18
|
*
|
|
18
19
|
* @param {NodeJS.ProcessEnv} [parentEnv=process.env]
|
|
19
20
|
* @returns {NodeJS.ProcessEnv}
|
|
@@ -24,10 +25,26 @@ function buildChildSpawnEnv(parentEnv = process.env) {
|
|
|
24
25
|
GIT_TERMINAL_PROMPT: '0',
|
|
25
26
|
// Bug A — keep the bmad-method child as quiet about CJS-require-ESM
|
|
26
27
|
// as the parent. Preserves any NODE_OPTIONS the user already set.
|
|
27
|
-
NODE_OPTIONS: withExperimentalWarningSuppressed(parentEnv.NODE_OPTIONS),
|
|
28
|
+
NODE_OPTIONS: withFsRetryPreload(withExperimentalWarningSuppressed(parentEnv.NODE_OPTIONS)),
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
/**
|
|
33
|
+
* Append `--require "<lib/fs-retry-preload.js>"` to a NODE_OPTIONS value,
|
|
34
|
+
* unless it is already there. The path is written with forward slashes:
|
|
35
|
+
* inside a quoted NODE_OPTIONS value Node treats `\` as an escape
|
|
36
|
+
* character, and Windows accepts `/` as a separator.
|
|
37
|
+
*
|
|
38
|
+
* @param {string} nodeOptions - NODE_OPTIONS value to extend
|
|
39
|
+
* @returns {string}
|
|
40
|
+
*/
|
|
41
|
+
function withFsRetryPreload(nodeOptions) {
|
|
42
|
+
const preload = path.join(__dirname, 'fs-retry-preload.js').replace(/\\/g, '/');
|
|
43
|
+
const current = (nodeOptions || '').trim();
|
|
44
|
+
if (current.includes(preload)) return current;
|
|
45
|
+
return `${current} --require "${preload}"`.trim();
|
|
46
|
+
}
|
|
47
|
+
|
|
31
48
|
const BMAD_DIR = '_bmad';
|
|
32
49
|
const CONFIG_DIR = path.join(BMAD_DIR, '_config', 'agents');
|
|
33
50
|
|
|
@@ -3866,4 +3883,7 @@ module.exports = {
|
|
|
3866
3883
|
// Bug: external modules pinned to the bundled release (--pin)
|
|
3867
3884
|
getBundledModulePins,
|
|
3868
3885
|
cacheDiffersFromPin,
|
|
3886
|
+
// Bug: bmad-method's skill-dir cleanup fails on transient Windows locks
|
|
3887
|
+
buildChildSpawnEnv,
|
|
3888
|
+
withFsRetryPreload,
|
|
3869
3889
|
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Preloaded into the bmad-method child process (`node --require`, via
|
|
5
|
+
* NODE_OPTIONS — see buildChildSpawnEnv in lib/bmad.js) to make its
|
|
6
|
+
* recursive deletes survive transient Windows file locks.
|
|
7
|
+
*
|
|
8
|
+
* Why this exists: right after copying skills into the IDE directories,
|
|
9
|
+
* bmad-method deletes the `_bmad/<module>/<skill>` copies
|
|
10
|
+
* (`Installer._cleanupSkillDirs`, via fs-extra `remove` → `fs.rm`). On
|
|
11
|
+
* Windows a just-written directory is routinely held for a moment by
|
|
12
|
+
* Defender real-time scanning, the Search indexer or an editor's file
|
|
13
|
+
* watcher, and `fs.rm` fails at once with EBUSY — aborting the whole
|
|
14
|
+
* install ("EBUSY: resource busy or locked, rmdir
|
|
15
|
+
* '...\_bmad\ma-skills\ma-agent-sqa'"). Node's `fs.rm` already retries
|
|
16
|
+
* EBUSY/EPERM/ENOTEMPTY/EMFILE/ENFILE with a linear backoff, but only when
|
|
17
|
+
* asked: `maxRetries` defaults to 0.
|
|
18
|
+
*
|
|
19
|
+
* This fills in `maxRetries`/`retryDelay` for recursive `rm` calls that did
|
|
20
|
+
* not set them, leaving every other call untouched. It must load before
|
|
21
|
+
* anything captures `fs.rm` — graceful-fs (used by fs-extra) clones the fs
|
|
22
|
+
* module when first required — which `--require` guarantees.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
const fs = require('fs');
|
|
26
|
+
|
|
27
|
+
// Linear backoff: waits 100, 200, … 1500 ms — about 12 s in total before
|
|
28
|
+
// the original error is surfaced. Transient scanner/watcher locks clear in
|
|
29
|
+
// well under a second; a lock that outlives this is a real one.
|
|
30
|
+
const MAX_RETRIES = 15;
|
|
31
|
+
const RETRY_DELAY_MS = 100;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Return `options` with the retry defaults added when the call is a
|
|
35
|
+
* recursive rm that did not choose its own retry policy.
|
|
36
|
+
*
|
|
37
|
+
* @param {object|undefined} options - Options passed to fs.rm / rmSync
|
|
38
|
+
* @returns {object|undefined} Options to forward
|
|
39
|
+
*/
|
|
40
|
+
function withRetries(options) {
|
|
41
|
+
if (!options || typeof options !== 'object' || !options.recursive) return options;
|
|
42
|
+
if (options.maxRetries !== undefined) return options;
|
|
43
|
+
return { ...options, maxRetries: MAX_RETRIES, retryDelay: options.retryDelay ?? RETRY_DELAY_MS };
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Each wrapper is installed only when the function exists, so an older Node
|
|
47
|
+
// without fs.rm is left exactly as it was.
|
|
48
|
+
if (typeof fs.rm === 'function') {
|
|
49
|
+
const originalRm = fs.rm;
|
|
50
|
+
fs.rm = function rm(target, options, callback) {
|
|
51
|
+
if (typeof options === 'function') return originalRm.call(this, target, options);
|
|
52
|
+
return originalRm.call(this, target, withRetries(options), callback);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (typeof fs.rmSync === 'function') {
|
|
57
|
+
const originalRmSync = fs.rmSync;
|
|
58
|
+
fs.rmSync = function rmSync(target, options) {
|
|
59
|
+
return originalRmSync.call(this, target, withRetries(options));
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (fs.promises && typeof fs.promises.rm === 'function') {
|
|
64
|
+
const originalPromisesRm = fs.promises.rm;
|
|
65
|
+
fs.promises.rm = function rm(target, options) {
|
|
66
|
+
return originalPromisesRm.call(this, target, withRetries(options));
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
module.exports = { withRetries, MAX_RETRIES, RETRY_DELAY_MS };
|
package/lib/installer.js
CHANGED
|
@@ -2,6 +2,7 @@ const fs = require('fs-extra');
|
|
|
2
2
|
const path = require('path');
|
|
3
3
|
const chalk = require('chalk');
|
|
4
4
|
const prompts = require('prompts');
|
|
5
|
+
const yaml = require('yaml');
|
|
5
6
|
const { getAgent, getAllAgents } = require('./agents');
|
|
6
7
|
// Story 22.8 — reuse the canonical stage-directory name so the gitignore policy
|
|
7
8
|
// stays in lock-step with lib/bmad.js#stagePlugin / cleanupStage.
|
|
@@ -792,6 +793,21 @@ const GLOBAL_BIND_OFFER_HEADER = [
|
|
|
792
793
|
'# either one without the user asking for it.',
|
|
793
794
|
].join('\n');
|
|
794
795
|
|
|
796
|
+
/**
|
|
797
|
+
* Render a value as a single-line YAML scalar: plain when that is safe,
|
|
798
|
+
* quoted when the text would otherwise change the document's structure
|
|
799
|
+
* (e.g. a ": " inside a description). Interpolating raw text made
|
|
800
|
+
* MANIFEST.yaml unparseable as soon as one description contained ": ".
|
|
801
|
+
*
|
|
802
|
+
* @param {string} value - Text to render
|
|
803
|
+
* @returns {string} YAML scalar, without a trailing newline
|
|
804
|
+
*/
|
|
805
|
+
function yamlScalar(value) {
|
|
806
|
+
// A skill.json without the field must not crash the install:
|
|
807
|
+
// yaml.stringify(undefined) returns undefined, not a string.
|
|
808
|
+
return yaml.stringify(value ?? '', { lineWidth: 0 }).trimEnd();
|
|
809
|
+
}
|
|
810
|
+
|
|
795
811
|
async function generateSkillsManifest(installPath) {
|
|
796
812
|
const skills = listSkills();
|
|
797
813
|
const manifest = readManifest(installPath);
|
|
@@ -814,12 +830,12 @@ async function generateSkillsManifest(installPath) {
|
|
|
814
830
|
|
|
815
831
|
yamlContent += ` - id: ${skillId}\n`;
|
|
816
832
|
yamlContent += ` file: ${skillId}/SKILL.md\n`;
|
|
817
|
-
yamlContent += ` description: ${skill.description}\n`;
|
|
833
|
+
yamlContent += ` description: ${yamlScalar(skill.description)}\n`;
|
|
818
834
|
|
|
819
835
|
if (skill.applies_when && Array.isArray(skill.applies_when)) {
|
|
820
836
|
yamlContent += ' applies_when:\n';
|
|
821
837
|
skill.applies_when.forEach(cond => {
|
|
822
|
-
yamlContent += ` - ${cond}\n`;
|
|
838
|
+
yamlContent += ` - ${yamlScalar(cond)}\n`;
|
|
823
839
|
});
|
|
824
840
|
}
|
|
825
841
|
|
|
@@ -1764,10 +1780,14 @@ async function performInstall(skillId, skill, agent, installPath) {
|
|
|
1764
1780
|
// matches the SKILL.md's containing directory — NOT the human-readable display
|
|
1765
1781
|
// name. We therefore inject `skillId` (the directory basename) here and keep
|
|
1766
1782
|
// `skill.name` from skill.json as the display name used by listings/wizard UI.
|
|
1783
|
+
// Serialised through the yaml library rather than interpolated: a
|
|
1784
|
+
// description containing ": " (e.g. my-next-issue's "(Jira: assignee =
|
|
1785
|
+
// currentUser())") is otherwise invalid YAML, and strict parsers drop the
|
|
1786
|
+
// skill. Plain values stay unquoted; lineWidth 0 keeps them on one line.
|
|
1767
1787
|
const frontmatter = [
|
|
1768
1788
|
'---',
|
|
1769
|
-
`name: ${skillId}`,
|
|
1770
|
-
`description: ${skill.description}`,
|
|
1789
|
+
`name: ${yamlScalar(skillId)}`,
|
|
1790
|
+
`description: ${yamlScalar(skill.description)}`,
|
|
1771
1791
|
'---',
|
|
1772
1792
|
''
|
|
1773
1793
|
].join('\n');
|