ma-agents 3.9.0 → 3.12.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 (86) hide show
  1. package/README.md +13 -0
  2. package/bin/cli.js +36 -36
  3. package/lib/agents.js +1 -1
  4. package/lib/bmad-cache/cache-manifest.json +8 -8
  5. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  6. package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
  7. package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
  8. package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  9. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.idx +0 -0
  10. package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.pack → pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.pack} +0 -0
  11. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.rev +0 -0
  12. package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
  13. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
  14. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
  15. package/lib/bmad-cache/cis/src/module-help.csv +5 -5
  16. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  17. package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
  18. package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
  19. package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  20. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.idx +0 -0
  21. package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.pack → pack-9427a146a90c00bb542cba038874bf9671ba4dc0.pack} +0 -0
  22. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.rev +0 -0
  23. package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
  24. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
  25. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
  26. package/lib/bmad-cache/gds/src/module-help.csv +34 -34
  27. package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +1 -1
  28. package/lib/bmad-cache/tea/.github/workflows/publish.yaml +168 -0
  29. package/lib/bmad-cache/tea/README.md +67 -57
  30. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  31. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.idx +0 -0
  32. package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.pack → pack-f0df537f2649464ff6c5aee241165eb9c8664227.pack} +0 -0
  33. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.rev +0 -0
  34. package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
  35. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
  36. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
  37. package/lib/bmad-cache/tea/package-lock.json +2 -2
  38. package/lib/bmad-cache/tea/package.json +5 -6
  39. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/contract-testing.md +2 -3
  40. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-consumer-framework-setup.md +42 -95
  41. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-consumer-helpers.md +5 -6
  42. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-provider-verifier.md +1 -1
  43. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +1 -1
  44. package/lib/bmad-cache/tea/src/module-help.csv +9 -9
  45. package/lib/bmad-extension/.claude-plugin/marketplace.json.template +2 -2
  46. package/lib/bmad-extension/skills/add-sprint/SKILL.md +1 -1
  47. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +1 -1
  48. package/lib/bmad-extension/skills/bmad-dev-story/workflow.md +1 -1
  49. package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +1 -1
  50. package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +1 -1
  51. package/lib/bmad-extension/skills/cleanup-done/SKILL.md +1 -1
  52. package/lib/bmad-extension/skills/close-sprint/SKILL.md +1 -1
  53. package/lib/bmad-extension/skills/generate-backlog/SKILL.md +1 -1
  54. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +1 -1
  55. package/lib/bmad-extension/skills/module.yaml +1 -1
  56. package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +1 -1
  57. package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +1 -1
  58. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +1 -1
  59. package/lib/bmad-extension/workflows/add-sprint/workflow.md +39 -0
  60. package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +39 -0
  61. package/lib/bmad-extension/workflows/modify-sprint/workflow.md +39 -0
  62. package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +39 -0
  63. package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +2 -2
  64. package/lib/bmad-extension-plugin/skills/add-sprint/SKILL.md +1 -1
  65. package/lib/bmad-extension-plugin/skills/add-to-sprint/SKILL.md +1 -1
  66. package/lib/bmad-extension-plugin/skills/bmad-dev-story/workflow.md +1 -1
  67. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/workflow.md +1 -1
  68. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/workflow.md +1 -1
  69. package/lib/bmad-extension-plugin/skills/cleanup-done/SKILL.md +1 -1
  70. package/lib/bmad-extension-plugin/skills/close-sprint/SKILL.md +1 -1
  71. package/lib/bmad-extension-plugin/skills/generate-backlog/SKILL.md +1 -1
  72. package/lib/bmad-extension-plugin/skills/modify-sprint/SKILL.md +1 -1
  73. package/lib/bmad-extension-plugin/skills/module.yaml +1 -1
  74. package/lib/bmad-extension-plugin/skills/prioritize-backlog/SKILL.md +1 -1
  75. package/lib/bmad-extension-plugin/skills/remove-from-sprint/SKILL.md +1 -1
  76. package/lib/bmad-extension-plugin/skills/sprint-status-view/SKILL.md +1 -1
  77. package/lib/bmad.js +85 -1
  78. package/lib/installer.js +2 -0
  79. package/package.json +4 -4
  80. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.idx +0 -0
  81. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.rev +0 -0
  82. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.idx +0 -0
  83. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.rev +0 -0
  84. package/lib/bmad-cache/tea/.github/workflows/manual-release.yaml +0 -216
  85. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.idx +0 -0
  86. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.rev +0 -0
@@ -1,11 +1,11 @@
1
1
  module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
2
2
  Test Architecture Enterprise,_meta,,,,,,,,,false,https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/llms.txt,
3
- Test Architecture Enterprise,bmad-teach-me-testing,Teach Me Testing,TMT,Teach testing fundamentals through 7 sessions (TEA Academy).,,0-learning,,,false,test_artifacts,"progress file|session notes|certificate"
4
- Test Architecture Enterprise,bmad-testarch-test-design,Test Design,TD,Risk-based test planning.,,3-solutioning,,bmad-testarch-framework,false,test_artifacts,test design document
5
- Test Architecture Enterprise,bmad-testarch-framework,Test Framework,TF,Initialize production-ready test framework.,,3-solutioning,bmad-testarch-test-design,bmad-testarch-ci,false,test_artifacts,framework scaffold
6
- Test Architecture Enterprise,bmad-testarch-ci,CI Setup,CI,Configure CI/CD quality pipeline.,,3-solutioning,bmad-testarch-framework,,false,test_artifacts,ci config
7
- Test Architecture Enterprise,bmad-testarch-atdd,ATDD,AT,Generate red-phase acceptance test scaffolds before implementation.,,4-implementation,bmad-create-story:create,bmad-dev-story,false,test_artifacts,"atdd-checklist|red-phase acceptance tests"
8
- Test Architecture Enterprise,bmad-testarch-automate,Test Automation,TA,Expand test coverage.,,4-implementation,bmad-testarch-atdd,,false,test_artifacts,test suite
9
- Test Architecture Enterprise,bmad-testarch-test-review,Test Review,RV,Quality audit (0-100 scoring).,,4-implementation,bmad-testarch-automate,,false,test_artifacts,review report
10
- Test Architecture Enterprise,bmad-testarch-nfr,NFR Assessment,NR,Non-functional requirements assessment.,,4-implementation,bmad-testarch-automate,,false,test_artifacts,nfr report
11
- Test Architecture Enterprise,bmad-testarch-trace,Traceability,TR,Coverage traceability and gate.,,4-implementation,bmad-testarch-test-review,,false,test_artifacts,"traceability matrix|gate decision"
3
+ Test Architecture Enterprise,bmad-teach-me-testing,Teach Me Testing,TMT,Teach testing fundamentals through 7 sessions (TEA Academy).,,,0-learning,,,false,test_artifacts,progress file|session notes|certificate
4
+ Test Architecture Enterprise,bmad-testarch-test-design,Test Design,TD,Risk-based test planning.,,,3-solutioning,,bmad-testarch-framework,false,test_artifacts,test design document
5
+ Test Architecture Enterprise,bmad-testarch-framework,Test Framework,TF,Initialize production-ready test framework.,,,3-solutioning,bmad-testarch-test-design,bmad-testarch-ci,false,test_artifacts,framework scaffold
6
+ Test Architecture Enterprise,bmad-testarch-ci,CI Setup,CI,Configure CI/CD quality pipeline.,,,3-solutioning,bmad-testarch-framework,,false,test_artifacts,ci config
7
+ Test Architecture Enterprise,bmad-testarch-atdd,ATDD,AT,Generate red-phase acceptance test scaffolds before implementation.,,,4-implementation,bmad-create-story:create,bmad-dev-story,false,test_artifacts,atdd-checklist|red-phase acceptance tests
8
+ Test Architecture Enterprise,bmad-testarch-automate,Test Automation,TA,Expand test coverage.,,,4-implementation,bmad-testarch-atdd,,false,test_artifacts,test suite
9
+ Test Architecture Enterprise,bmad-testarch-test-review,Test Review,RV,Quality audit (0-100 scoring).,,,4-implementation,bmad-testarch-automate,,false,test_artifacts,review report
10
+ Test Architecture Enterprise,bmad-testarch-nfr,NFR Assessment,NR,Non-functional requirements assessment.,,,4-implementation,bmad-testarch-automate,,false,test_artifacts,nfr report
11
+ Test Architecture Enterprise,bmad-testarch-trace,Traceability,TR,Coverage traceability and gate.,,,4-implementation,bmad-testarch-test-review,,false,test_artifacts,traceability matrix|gate decision
@@ -2,7 +2,7 @@
2
2
  "_comment": [
3
3
  "BMAD Builder convention: the wrapper directory '.claude-plugin/' is a SHARED convention used by skills-capable platforms — it is NOT a Claude-only binding. BMAD adopted Anthropic's published plugin layout because it was the closest thing to an open standard at the time; multi-tool routing (claude-code, copilot, cline, roo-code, kilocode, cursor) is handled by BMAD's own installer based on the --tools flag. See https://bmad-builder-docs.bmad-method.org/how-to/distribute-your-module/ and https://bmad-builder-docs.bmad-method.org/explanation/.",
4
4
  "This is a TEMPLATE file consumed by scripts/build-plugin.js (Story 22.4). Tokens of the form ${var} are replaced at build time; the resolved manifest lands at lib/bmad-extension-plugin/.claude-plugin/marketplace.json. Do NOT hand-edit the generated file.",
5
- "Fields follow the v6.5.0 schema read by tools/installer/modules/custom-module-manager.js (top-level: name, owner, description, license, homepage, repository, keywords; per-plugin: name, source, description, version, author, skills[]).",
5
+ "Fields follow the v6.6.0 schema read by tools/installer/modules/custom-module-manager.js (top-level: name, owner, description, license, homepage, repository, keywords; per-plugin: name, source, description, version, author, skills[]).",
6
6
  "plugins[].source interpretation: a value of \"./\" means 'the directory containing .claude-plugin/' — i.e. the plugin output root (lib/bmad-extension-plugin/). Skill paths (\"./skills/<name>\") are resolved relative to that same root. Story 22.4's build script MUST honor this convention.",
7
7
  "compatible_tools is an informational, BMAD-wide convention (not read by the installer) used to signal multi-tool parity with downstream consumers. The authoritative list of supported tools is the --tools flag accepted by the BMAD installer.",
8
8
  "bmad_min_version forward-compat policy: this floor assumes upstream bmad-method changes remain additive (new fields / new optional schema). Any breaking upstream change requires bumping bmad_min_version in lockstep with the pinned bmad-method dependency in package.json."
@@ -39,7 +39,7 @@
39
39
  "roo-code",
40
40
  "kilocode"
41
41
  ],
42
- "bmad_min_version": "6.5.0",
42
+ "bmad_min_version": "6.6.0",
43
43
  "plugins": [
44
44
  {
45
45
  "name": "ma-skills",
@@ -16,7 +16,7 @@ Guided workflow to create a new sprint entry in the `sprints` section of `sprint
16
16
  Before executing any file-system operations, determine and route to the correct backend:
17
17
 
18
18
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
19
- If the field is absent or the file does not exist, default to `file-system`.
19
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
20
20
 
21
21
  2. If `tracking_system` is `file-system`:
22
22
  Proceed with the **File-System Backend** instructions below.
@@ -18,7 +18,7 @@ Guided workflow to move backlog items to a sprint in the unified `sprint-status.
18
18
  Before executing any file-system operations, determine and route to the correct backend:
19
19
 
20
20
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
21
- If the field is absent or the file does not exist, default to `file-system`.
21
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
22
22
 
23
23
  2. If `tracking_system` is `file-system`:
24
24
  Proceed with the **File-System Backend** instructions below.
@@ -41,7 +41,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
41
41
  Before executing any status-update operations, determine and route to the correct backend:
42
42
 
43
43
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
44
- If the field is absent or the file does not exist, default to `file-system`.
44
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
45
45
 
46
46
  2. If `tracking_system` is `file-system`:
47
47
  Proceed with the **File-System Backend** instructions below.
@@ -47,7 +47,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
47
47
  Before executing any file-system operations, determine and route to the correct backend:
48
48
 
49
49
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
50
- If the field is absent or the file does not exist, default to `file-system`.
50
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
51
51
 
52
52
  2. If `tracking_system` is `file-system`:
53
53
  Proceed with the **File-System Backend** instructions below.
@@ -42,7 +42,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
42
42
  Before executing any file-system operations, determine and route to the correct backend:
43
43
 
44
44
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
45
- If the field is absent or the file does not exist, default to `file-system`.
45
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
46
46
 
47
47
  2. If `tracking_system` is `file-system`:
48
48
  Proceed with the **File-System Backend** instructions below.
@@ -25,7 +25,7 @@ Keeps the active sprint view lean by archiving completed and cancelled work. Pre
25
25
  Before executing any file-system operations, determine and route to the correct backend:
26
26
 
27
27
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
28
- If the field is absent or the file does not exist, default to `file-system`.
28
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
29
29
 
30
30
  2. If `tracking_system` is `file-system`:
31
31
  Proceed with the **File-System Backend** instructions below.
@@ -18,7 +18,7 @@ Close an active sprint — archive done/cancelled items, disposition incomplete
18
18
  Before executing any file-system operations, determine and route to the correct backend:
19
19
 
20
20
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
21
- If the field is absent or the file does not exist, default to `file-system`.
21
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
22
22
 
23
23
  2. If `tracking_system` is `file-system`:
24
24
  Proceed with the **File-System Backend** instructions below.
@@ -27,7 +27,7 @@ This skill reads `epics.md` and `bug-*.md` files and writes the `backlog` and `e
27
27
  Before executing any file-system operations, determine and route to the correct backend:
28
28
 
29
29
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
30
- If the field is absent or the file does not exist, default to `file-system`.
30
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
31
31
 
32
32
  2. If `tracking_system` is `file-system`:
33
33
  Proceed with the **File-System Backend** instructions below.
@@ -19,7 +19,7 @@ Guided workflow to modify an existing sprint's metadata (name, capacity, dates,
19
19
  Before executing any file-system operations, determine and route to the correct backend:
20
20
 
21
21
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
22
- If the field is absent or the file does not exist, default to `file-system`.
22
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
23
23
 
24
24
  2. If `tracking_system` is `file-system`:
25
25
  Proceed with the **File-System Backend** instructions below.
@@ -1,4 +1,4 @@
1
- # ma-skills module manifest (BMAD v6.5.0 schema)
1
+ # ma-skills module manifest (BMAD v6.6.0 schema)
2
2
  #
3
3
  # Canonical location: `skills/module.yaml` (BMAD 6.2.2+ / 6.3.0). The previous
4
4
  # location `lib/bmad-extension/module.yaml` was moved here during Story 22.5.
@@ -17,7 +17,7 @@ Reprioritize backlog items in `sprint-status.yaml` using multiple criteria: seve
17
17
  Before executing any file-system operations, determine and route to the correct backend:
18
18
 
19
19
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
20
- If the field is absent or the file does not exist, default to `file-system`.
20
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
21
21
 
22
22
  2. If `tracking_system` is `file-system`:
23
23
  Proceed with the **File-System Backend** instructions below.
@@ -16,7 +16,7 @@ Guided workflow to move sprint items back to the backlog in the unified `sprint-
16
16
  Before executing any file-system operations, determine and route to the correct backend:
17
17
 
18
18
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
19
- If the field is absent or the file does not exist, default to `file-system`.
19
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
20
20
 
21
21
  2. If `tracking_system` is `file-system`:
22
22
  Proceed with the **File-System Backend** instructions below.
@@ -21,7 +21,7 @@ Display a formatted, read-only dashboard of all sprint, backlog, and epic data f
21
21
  Before executing any file-system operations, determine and route to the correct backend:
22
22
 
23
23
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
24
- If the field is absent or the file does not exist, default to `file-system`.
24
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
25
25
 
26
26
  2. If `tracking_system` is `file-system`:
27
27
  Proceed with the **File-System Backend** instructions below.
@@ -2,6 +2,45 @@
2
2
 
3
3
  Guided workflow to create a new sprint entry in the `sprints` section of `sprint-status.yaml` with capacity limits, optional ISO dates, and auto-incremented sprint ID.
4
4
 
5
+ ## Backend Routing
6
+
7
+ Before executing any file-system operations, determine and route to the correct backend:
8
+
9
+ 1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
10
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
11
+
12
+ 2. If `tracking_system` is `file-system`:
13
+ Proceed with the **File-System Backend** instructions below.
14
+
15
+ 3. If `tracking_system` is `jira`:
16
+ a. Perform the Jira operation: Create a new sprint in the board for project `{jira_project_key}` at `{jira_url}` using the sprint create API. Set the sprint name, goal (if provided), start date, and end date from the provided sprint data. The new sprint starts in "future/planning" state.
17
+ Use whatever Jira-capable tool is available in your current tool context.
18
+ Map Jira entities to the canonical schema (Sprint → sprints[], Backlog → backlog[],
19
+ Epic → epics[], Jira status → canonical vocabulary per Section 6.3 of the routing spec).
20
+ b. If the Jira operation SUCCEEDS: continue with the Jira data returned. Jira is the source of truth.
21
+ c. If the Jira operation FAILS for any reason:
22
+ - If no Jira-capable tool is available in your current context:
23
+ Pause and present the user with:
24
+ > "No Jira-capable tool is available. To use Jira tracking, configure a Jira integration
25
+ > in your agent (an MCP server, plugin, or native integration connected to the Jira
26
+ > instance at `{jira_url}`). How would you like to proceed?
27
+ > (a) Retry — attempt the Jira operation again once a Jira tool is configured
28
+ > (b) Switch to file management — update sprint-status.yaml and config to use
29
+ > file-system backend, then complete this operation locally. This change is permanent."
30
+ - If a Jira tool attempted the operation but returned an error:
31
+ Pause and present the user with:
32
+ > "The Jira operation failed: {actual Jira error details}. How would you like to proceed?
33
+ > (a) Retry — attempt the Jira operation again
34
+ > (b) Switch to file management — update sprint-status.yaml and config to use
35
+ > file-system backend, then complete this operation locally. This change is permanent."
36
+ If user chooses (b) in either case: write `tracking_system: file-system` to `sprint-status.yaml`,
37
+ update `sprint_backend: file-system` in `_bmad/bmm/config.yaml`,
38
+ then proceed with **File-System Backend** instructions below.
39
+
40
+ 4. **File-System Backend** — execute the workflow steps below.
41
+
42
+ ---
43
+
5
44
  <workflow>
6
45
 
7
46
  <step n="0" goal="Load configuration and validate file existence">
@@ -4,6 +4,45 @@ Guided workflow to move backlog items to a sprint in the unified `sprint-status.
4
4
 
5
5
  **Movement semantics:** Each item exists in exactly one location — either the `backlog` array OR a sprint's `items` array, never both. This skill atomically removes items from `backlog` and appends them to the target sprint's `items` array in a single file write.
6
6
 
7
+ ## Backend Routing
8
+
9
+ Before executing any file-system operations, determine and route to the correct backend:
10
+
11
+ 1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
12
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
13
+
14
+ 2. If `tracking_system` is `file-system`:
15
+ Proceed with the **File-System Backend** instructions below.
16
+
17
+ 3. If `tracking_system` is `jira`:
18
+ a. Perform the Jira operation: Find the Jira issue matching the item ID in project `{jira_project_key}` at `{jira_url}` (search by issue key or summary). Find the active sprint on the board for project `{jira_project_key}`. Move the issue to the active sprint using the "add issue to sprint" operation.
19
+ Use whatever Jira-capable tool is available in your current tool context.
20
+ Map Jira entities to the canonical schema (Sprint → sprints[], Backlog → backlog[],
21
+ Epic → epics[], Jira status → canonical vocabulary per Section 6.3 of the routing spec).
22
+ b. If the Jira operation SUCCEEDS: continue with the Jira data returned. Jira is the source of truth.
23
+ c. If the Jira operation FAILS for any reason:
24
+ - If no Jira-capable tool is available in your current context:
25
+ Pause and present the user with:
26
+ > "No Jira-capable tool is available. To use Jira tracking, configure a Jira integration
27
+ > in your agent (an MCP server, plugin, or native integration connected to the Jira
28
+ > instance at `{jira_url}`). How would you like to proceed?
29
+ > (a) Retry — attempt the Jira operation again once a Jira tool is configured
30
+ > (b) Switch to file management — update sprint-status.yaml and config to use
31
+ > file-system backend, then complete this operation locally. This change is permanent."
32
+ - If a Jira tool attempted the operation but returned an error:
33
+ Pause and present the user with:
34
+ > "The Jira operation failed: {actual Jira error details}. How would you like to proceed?
35
+ > (a) Retry — attempt the Jira operation again
36
+ > (b) Switch to file management — update sprint-status.yaml and config to use
37
+ > file-system backend, then complete this operation locally. This change is permanent."
38
+ If user chooses (b) in either case: write `tracking_system: file-system` to `sprint-status.yaml`,
39
+ update `sprint_backend: file-system` in `_bmad/bmm/config.yaml`,
40
+ then proceed with **File-System Backend** instructions below.
41
+
42
+ 4. **File-System Backend** — execute the workflow steps below.
43
+
44
+ ---
45
+
7
46
  <workflow>
8
47
 
9
48
  <step n="0" goal="Load configuration and validate file existence">
@@ -5,6 +5,45 @@ Guided workflow to modify an existing sprint's metadata (name, capacity, dates,
5
5
  > **Scope:** This skill modifies sprint **metadata only** — name, capacity, start date, end date, and status.
6
6
  > To assign items to a sprint, use `/add-to-sprint`. To remove items, use `/remove-from-sprint`.
7
7
 
8
+ ## Backend Routing
9
+
10
+ Before executing any file-system operations, determine and route to the correct backend:
11
+
12
+ 1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
13
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
14
+
15
+ 2. If `tracking_system` is `file-system`:
16
+ Proceed with the **File-System Backend** instructions below.
17
+
18
+ 3. If `tracking_system` is `jira`:
19
+ a. Perform the Jira operation: Find the sprint by name or ID in the board for project `{jira_project_key}` at `{jira_url}`. Update the sprint's name, dates, or goal using the sprint update API. If the status is being changed to `active`: start the sprint using the sprint start API (transitions the sprint from future/planning to active state — enforces the single-active-sprint constraint).
20
+ Use whatever Jira-capable tool is available in your current tool context.
21
+ Map Jira entities to the canonical schema (Sprint → sprints[], Backlog → backlog[],
22
+ Epic → epics[], Jira status → canonical vocabulary per Section 6.3 of the routing spec).
23
+ b. If the Jira operation SUCCEEDS: continue with the Jira data returned. Jira is the source of truth.
24
+ c. If the Jira operation FAILS for any reason:
25
+ - If no Jira-capable tool is available in your current context:
26
+ Pause and present the user with:
27
+ > "No Jira-capable tool is available. To use Jira tracking, configure a Jira integration
28
+ > in your agent (an MCP server, plugin, or native integration connected to the Jira
29
+ > instance at `{jira_url}`). How would you like to proceed?
30
+ > (a) Retry — attempt the Jira operation again once a Jira tool is configured
31
+ > (b) Switch to file management — update sprint-status.yaml and config to use
32
+ > file-system backend, then complete this operation locally. This change is permanent."
33
+ - If a Jira tool attempted the operation but returned an error:
34
+ Pause and present the user with:
35
+ > "The Jira operation failed: {actual Jira error details}. How would you like to proceed?
36
+ > (a) Retry — attempt the Jira operation again
37
+ > (b) Switch to file management — update sprint-status.yaml and config to use
38
+ > file-system backend, then complete this operation locally. This change is permanent."
39
+ If user chooses (b) in either case: write `tracking_system: file-system` to `sprint-status.yaml`,
40
+ update `sprint_backend: file-system` in `_bmad/bmm/config.yaml`,
41
+ then proceed with **File-System Backend** instructions below.
42
+
43
+ 4. **File-System Backend** — execute the workflow steps below.
44
+
45
+ ---
46
+
8
47
  <workflow>
9
48
 
10
49
  <step n="0" goal="Load configuration and validate file existence">
@@ -6,6 +6,45 @@ Display a formatted, read-only dashboard of all sprint, backlog, and epic data f
6
6
 
7
7
  ---
8
8
 
9
+ ## Backend Routing
10
+
11
+ Before executing any file-system operations, determine and route to the correct backend:
12
+
13
+ 1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
14
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
15
+
16
+ 2. If `tracking_system` is `file-system`:
17
+ Proceed with the **File-System Backend** instructions below.
18
+
19
+ 3. If `tracking_system` is `jira`:
20
+ a. Perform the Jira operation: Query all sprint data for project `{jira_project_key}` at `{jira_url}`: active sprint with all its issues and their statuses, backlog issues count and list, epic summary and progress. Map Jira sprint states to canonical vocabulary (future → planning, active → active, closed → closed). Map Jira issue statuses to canonical statuses per the status mapping below. Use this data for the display — no writes. Status mapping: Backlog/Open → backlog, To Do/Selected for Development → ready-for-dev, In Progress → in-progress, In Review/Code Review → review, Done/Resolved → done, On Hold/Blocked → on-hold, Won't Do/Cancelled → cancelled.
21
+ Use whatever Jira-capable tool is available in your current tool context.
22
+ Map Jira entities to the canonical schema (Sprint → sprints[], Backlog → backlog[],
23
+ Epic → epics[], Jira status → canonical vocabulary per Section 6.3 of the routing spec).
24
+ b. If the Jira operation SUCCEEDS: continue with the Jira data returned. Jira is the source of truth.
25
+ c. If the Jira operation FAILS for any reason:
26
+ - If no Jira-capable tool is available in your current context:
27
+ Pause and present the user with:
28
+ > "No Jira-capable tool is available. To use Jira tracking, configure a Jira integration
29
+ > in your agent (an MCP server, plugin, or native integration connected to the Jira
30
+ > instance at `{jira_url}`). How would you like to proceed?
31
+ > (a) Retry — attempt the Jira operation again once a Jira tool is configured
32
+ > (b) Switch to file management — update sprint-status.yaml and config to use
33
+ > file-system backend, then complete this operation locally. This change is permanent."
34
+ - If a Jira tool attempted the operation but returned an error:
35
+ Pause and present the user with:
36
+ > "The Jira operation failed: {actual Jira error details}. How would you like to proceed?
37
+ > (a) Retry — attempt the Jira operation again
38
+ > (b) Switch to file management — update sprint-status.yaml and config to use
39
+ > file-system backend, then complete this operation locally. This change is permanent."
40
+ If user chooses (b) in either case: write `tracking_system: file-system` to `sprint-status.yaml`,
41
+ update `sprint_backend: file-system` in `_bmad/bmm/config.yaml`,
42
+ then proceed with **File-System Backend** instructions below.
43
+
44
+ 4. **File-System Backend** — execute the steps below.
45
+
46
+ ---
47
+
9
48
  ## Step 1 — Load sprint-status.yaml
10
49
 
11
50
  Resolve the path to `sprint-status.yaml` using the BMAD config:
@@ -31,13 +31,13 @@
31
31
  "roo-code",
32
32
  "kilocode"
33
33
  ],
34
- "bmad_min_version": "6.5.0",
34
+ "bmad_min_version": "6.6.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.9.0",
40
+ "version": "3.12.0",
41
41
  "author": {
42
42
  "name": "Alon Mayaffit"
43
43
  },
@@ -16,7 +16,7 @@ Guided workflow to create a new sprint entry in the `sprints` section of `sprint
16
16
  Before executing any file-system operations, determine and route to the correct backend:
17
17
 
18
18
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
19
- If the field is absent or the file does not exist, default to `file-system`.
19
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
20
20
 
21
21
  2. If `tracking_system` is `file-system`:
22
22
  Proceed with the **File-System Backend** instructions below.
@@ -18,7 +18,7 @@ Guided workflow to move backlog items to a sprint in the unified `sprint-status.
18
18
  Before executing any file-system operations, determine and route to the correct backend:
19
19
 
20
20
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
21
- If the field is absent or the file does not exist, default to `file-system`.
21
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
22
22
 
23
23
  2. If `tracking_system` is `file-system`:
24
24
  Proceed with the **File-System Backend** instructions below.
@@ -41,7 +41,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
41
41
  Before executing any status-update operations, determine and route to the correct backend:
42
42
 
43
43
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
44
- If the field is absent or the file does not exist, default to `file-system`.
44
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
45
45
 
46
46
  2. If `tracking_system` is `file-system`:
47
47
  Proceed with the **File-System Backend** instructions below.
@@ -47,7 +47,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
47
47
  Before executing any file-system operations, determine and route to the correct backend:
48
48
 
49
49
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
50
- If the field is absent or the file does not exist, default to `file-system`.
50
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
51
51
 
52
52
  2. If `tracking_system` is `file-system`:
53
53
  Proceed with the **File-System Backend** instructions below.
@@ -42,7 +42,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
42
42
  Before executing any file-system operations, determine and route to the correct backend:
43
43
 
44
44
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
45
- If the field is absent or the file does not exist, default to `file-system`.
45
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
46
46
 
47
47
  2. If `tracking_system` is `file-system`:
48
48
  Proceed with the **File-System Backend** instructions below.
@@ -25,7 +25,7 @@ Keeps the active sprint view lean by archiving completed and cancelled work. Pre
25
25
  Before executing any file-system operations, determine and route to the correct backend:
26
26
 
27
27
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
28
- If the field is absent or the file does not exist, default to `file-system`.
28
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
29
29
 
30
30
  2. If `tracking_system` is `file-system`:
31
31
  Proceed with the **File-System Backend** instructions below.
@@ -18,7 +18,7 @@ Close an active sprint — archive done/cancelled items, disposition incomplete
18
18
  Before executing any file-system operations, determine and route to the correct backend:
19
19
 
20
20
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
21
- If the field is absent or the file does not exist, default to `file-system`.
21
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
22
22
 
23
23
  2. If `tracking_system` is `file-system`:
24
24
  Proceed with the **File-System Backend** instructions below.
@@ -27,7 +27,7 @@ This skill reads `epics.md` and `bug-*.md` files and writes the `backlog` and `e
27
27
  Before executing any file-system operations, determine and route to the correct backend:
28
28
 
29
29
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
30
- If the field is absent or the file does not exist, default to `file-system`.
30
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
31
31
 
32
32
  2. If `tracking_system` is `file-system`:
33
33
  Proceed with the **File-System Backend** instructions below.
@@ -19,7 +19,7 @@ Guided workflow to modify an existing sprint's metadata (name, capacity, dates,
19
19
  Before executing any file-system operations, determine and route to the correct backend:
20
20
 
21
21
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
22
- If the field is absent or the file does not exist, default to `file-system`.
22
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
23
23
 
24
24
  2. If `tracking_system` is `file-system`:
25
25
  Proceed with the **File-System Backend** instructions below.
@@ -1,4 +1,4 @@
1
- # ma-skills module manifest (BMAD v6.5.0 schema)
1
+ # ma-skills module manifest (BMAD v6.6.0 schema)
2
2
  #
3
3
  # Canonical location: `skills/module.yaml` (BMAD 6.2.2+ / 6.3.0). The previous
4
4
  # location `lib/bmad-extension/module.yaml` was moved here during Story 22.5.
@@ -17,7 +17,7 @@ Reprioritize backlog items in `sprint-status.yaml` using multiple criteria: seve
17
17
  Before executing any file-system operations, determine and route to the correct backend:
18
18
 
19
19
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
20
- If the field is absent or the file does not exist, default to `file-system`.
20
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
21
21
 
22
22
  2. If `tracking_system` is `file-system`:
23
23
  Proceed with the **File-System Backend** instructions below.
@@ -16,7 +16,7 @@ Guided workflow to move sprint items back to the backlog in the unified `sprint-
16
16
  Before executing any file-system operations, determine and route to the correct backend:
17
17
 
18
18
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
19
- If the field is absent or the file does not exist, default to `file-system`.
19
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
20
20
 
21
21
  2. If `tracking_system` is `file-system`:
22
22
  Proceed with the **File-System Backend** instructions below.
@@ -21,7 +21,7 @@ Display a formatted, read-only dashboard of all sprint, backlog, and epic data f
21
21
  Before executing any file-system operations, determine and route to the correct backend:
22
22
 
23
23
  1. Read `_bmad-output/implementation-artifacts/sprint-status.yaml` and extract the `tracking_system` field.
24
- If the field is absent or the file does not exist, default to `file-system`.
24
+ If the field is absent or the file does not exist, read `sprint_backend` from `_bmad/bmm/config.yaml`. Use that value if present, otherwise default to `file-system`.
25
25
 
26
26
  2. If `tracking_system` is `file-system`:
27
27
  Proceed with the **File-System Backend** instructions below.