ma-agents 3.4.8 → 3.4.9
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/.opencode/skills/.ma-agents.json +167 -48
- package/.opencode/skills/MANIFEST.yaml +128 -0
- package/.opencode/skills/ai-audit-trail/SKILL.md +23 -0
- package/.opencode/skills/auto-bug-detection/SKILL.md +169 -0
- package/.opencode/skills/cmake-best-practices/SKILL.md +64 -0
- package/.opencode/skills/cmake-best-practices/examples/cmake.md +59 -0
- package/.opencode/skills/code-documentation/SKILL.md +57 -0
- package/.opencode/skills/code-documentation/examples/cpp.md +29 -0
- package/.opencode/skills/code-documentation/examples/csharp.md +28 -0
- package/.opencode/skills/code-documentation/examples/javascript_typescript.md +28 -0
- package/.opencode/skills/code-documentation/examples/python.md +57 -0
- package/.opencode/skills/code-review/SKILL.md +43 -0
- package/.opencode/skills/commit-message/SKILL.md +79 -0
- package/.opencode/skills/cpp-best-practices/SKILL.md +234 -0
- package/.opencode/skills/cpp-best-practices/examples/modern-idioms.md +189 -0
- package/.opencode/skills/cpp-best-practices/examples/naming-and-organization.md +102 -0
- package/.opencode/skills/cpp-concurrency-safety/SKILL.md +60 -0
- package/.opencode/skills/cpp-concurrency-safety/examples/concurrency.md +73 -0
- package/.opencode/skills/cpp-const-correctness/SKILL.md +63 -0
- package/.opencode/skills/cpp-const-correctness/examples/const_correctness.md +54 -0
- package/.opencode/skills/cpp-memory-handling/SKILL.md +42 -0
- package/.opencode/skills/cpp-memory-handling/examples/modern-cpp.md +49 -0
- package/.opencode/skills/cpp-memory-handling/examples/smart-pointers.md +46 -0
- package/.opencode/skills/cpp-modern-composition/SKILL.md +64 -0
- package/.opencode/skills/cpp-modern-composition/examples/composition.md +51 -0
- package/.opencode/skills/cpp-robust-interfaces/SKILL.md +55 -0
- package/.opencode/skills/cpp-robust-interfaces/examples/interfaces.md +56 -0
- package/.opencode/skills/create-hardened-docker-skill/SKILL.md +637 -0
- package/.opencode/skills/create-hardened-docker-skill/scripts/create-all.sh +489 -0
- package/.opencode/skills/csharp-best-practices/SKILL.md +278 -0
- package/.opencode/skills/docker-hardening-verification/SKILL.md +28 -0
- package/.opencode/skills/docker-hardening-verification/scripts/verify-hardening.sh +39 -0
- package/.opencode/skills/docker-image-signing/SKILL.md +28 -0
- package/.opencode/skills/docker-image-signing/scripts/sign-image.sh +33 -0
- package/.opencode/skills/document-revision-history/SKILL.md +104 -0
- package/.roo/skills/.ma-agents.json +167 -48
- package/.roo/skills/MANIFEST.yaml +128 -0
- package/.roo/skills/ai-audit-trail/SKILL.md +23 -0
- package/.roo/skills/auto-bug-detection/SKILL.md +169 -0
- package/.roo/skills/cmake-best-practices/SKILL.md +64 -0
- package/.roo/skills/cmake-best-practices/examples/cmake.md +59 -0
- package/.roo/skills/code-documentation/SKILL.md +57 -0
- package/.roo/skills/code-documentation/examples/cpp.md +29 -0
- package/.roo/skills/code-documentation/examples/csharp.md +28 -0
- package/.roo/skills/code-documentation/examples/javascript_typescript.md +28 -0
- package/.roo/skills/code-documentation/examples/python.md +57 -0
- package/.roo/skills/code-review/SKILL.md +43 -0
- package/.roo/skills/commit-message/SKILL.md +79 -0
- package/.roo/skills/cpp-best-practices/SKILL.md +234 -0
- package/.roo/skills/cpp-best-practices/examples/modern-idioms.md +189 -0
- package/.roo/skills/cpp-best-practices/examples/naming-and-organization.md +102 -0
- package/.roo/skills/cpp-concurrency-safety/SKILL.md +60 -0
- package/.roo/skills/cpp-concurrency-safety/examples/concurrency.md +73 -0
- package/.roo/skills/cpp-const-correctness/SKILL.md +63 -0
- package/.roo/skills/cpp-const-correctness/examples/const_correctness.md +54 -0
- package/.roo/skills/cpp-memory-handling/SKILL.md +42 -0
- package/.roo/skills/cpp-memory-handling/examples/modern-cpp.md +49 -0
- package/.roo/skills/cpp-memory-handling/examples/smart-pointers.md +46 -0
- package/.roo/skills/cpp-modern-composition/SKILL.md +64 -0
- package/.roo/skills/cpp-modern-composition/examples/composition.md +51 -0
- package/.roo/skills/cpp-robust-interfaces/SKILL.md +55 -0
- package/.roo/skills/cpp-robust-interfaces/examples/interfaces.md +56 -0
- package/.roo/skills/create-hardened-docker-skill/SKILL.md +637 -0
- package/.roo/skills/create-hardened-docker-skill/scripts/create-all.sh +489 -0
- package/.roo/skills/csharp-best-practices/SKILL.md +278 -0
- package/.roo/skills/docker-hardening-verification/SKILL.md +28 -0
- package/.roo/skills/docker-hardening-verification/scripts/verify-hardening.sh +39 -0
- package/.roo/skills/docker-image-signing/SKILL.md +28 -0
- package/.roo/skills/docker-image-signing/scripts/sign-image.sh +33 -0
- package/.roo/skills/document-revision-history/SKILL.md +104 -0
- package/bin/cli.js +5 -4
- package/lib/agents.js +16 -1
- package/lib/bmad-extension/module-help.csv +4 -21
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +40 -126
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +142 -116
- package/lib/bmad-extension/skills/create-bug-story/SKILL.md +7 -75
- package/lib/bmad-extension/skills/modify-sprint/SKILL.md +0 -63
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +138 -199
- package/lib/bmad-extension/workflows/add-sprint/workflow.md +39 -129
- package/lib/bmad-extension/workflows/add-to-sprint/workflow.md +205 -3
- package/lib/bmad-extension/workflows/modify-sprint/workflow.md +0 -5
- package/lib/bmad-extension/workflows/sprint-status-view/workflow.md +192 -3
- package/package.json +1 -1
- package/lib/bmad-extension/skills/cleanup-done/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cleanup-done/SKILL.md +0 -159
- package/lib/bmad-extension/skills/cleanup-done/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-extension/skills/generate-backlog/.gitkeep +0 -0
- package/lib/bmad-extension/skills/generate-backlog/SKILL.md +0 -183
- package/lib/bmad-extension/skills/generate-backlog/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-extension/skills/prioritize-backlog/.gitkeep +0 -0
- package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +0 -195
- package/lib/bmad-extension/skills/prioritize-backlog/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-extension/skills/remove-from-sprint/.gitkeep +0 -0
- package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +0 -163
- package/lib/bmad-extension/skills/remove-from-sprint/bmad-skill-manifest.yaml +0 -3
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: remove-from-sprint
|
|
3
|
-
description: Remove items from a sprint and return them to the unassigned backlog
|
|
4
|
-
type: skill
|
|
5
|
-
triggers:
|
|
6
|
-
- "remove from sprint"
|
|
7
|
-
- "unassign from sprint"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Remove-from-Sprint Workflow
|
|
11
|
-
|
|
12
|
-
Remove items from a sprint and return them to the unassigned backlog.
|
|
13
|
-
|
|
14
|
-
<workflow>
|
|
15
|
-
|
|
16
|
-
<step n="1" goal="List sprints that have items and select one">
|
|
17
|
-
<action>Glob `_bmad-output/implementation-artifacts/sprints/sprint-*.yaml` to discover all sprint files</action>
|
|
18
|
-
<check if="no sprint files found">
|
|
19
|
-
<output>No sprints found. Run `/add-sprint` first to create a sprint.</output>
|
|
20
|
-
<action>Exit workflow</action>
|
|
21
|
-
</check>
|
|
22
|
-
<action>For each sprint file, read and extract: id, name, status, capacity, items (array), last_modified</action>
|
|
23
|
-
<action>Filter to sprints that have at least 1 item in their items array</action>
|
|
24
|
-
<check if="no sprints have items">
|
|
25
|
-
<output>No sprints contain any items. Nothing to remove.</output>
|
|
26
|
-
<action>Exit workflow</action>
|
|
27
|
-
</check>
|
|
28
|
-
<output>
|
|
29
|
-
## Sprints with Items
|
|
30
|
-
|
|
31
|
-
| # | Sprint | Status | Items | Capacity | Last Modified |
|
|
32
|
-
|---|---|---|---|---|---|
|
|
33
|
-
{{#each filtered_sprints}}
|
|
34
|
-
| {{@index+1}} | {{name}} ({{id}}) | {{status}} | {{items_count}} | {{capacity}} | {{last_modified}} |
|
|
35
|
-
{{/each}}
|
|
36
|
-
</output>
|
|
37
|
-
<ask>Select sprint (enter number):</ask>
|
|
38
|
-
<action>Store selected sprint as {{target_sprint}}</action>
|
|
39
|
-
<action>Store {{session_last_modified}} = {{target_sprint.last_modified}} for concurrency guard</action>
|
|
40
|
-
</step>
|
|
41
|
-
|
|
42
|
-
<step n="2" goal="Display sprint items with backlog metadata">
|
|
43
|
-
<action>Read `_bmad-output/implementation-artifacts/backlog.yaml`</action>
|
|
44
|
-
<action>For each item ID in {{target_sprint.items}}, look up metadata from backlog.yaml to get: title, type, status, priority</action>
|
|
45
|
-
<action>If an item is not found in backlog.yaml, infer title from ID (kebab-case to title case) and mark type/status/priority as "unknown"</action>
|
|
46
|
-
<output>
|
|
47
|
-
## Items in {{target_sprint.name}}
|
|
48
|
-
|
|
49
|
-
| # | ID | Title | Type | Status | Priority |
|
|
50
|
-
|---|---|---|---|---|---|
|
|
51
|
-
{{#each sprint_items}}
|
|
52
|
-
| {{@index+1}} | {{id}} | {{title}} | {{type}} | {{status}} | {{priority}} |
|
|
53
|
-
{{/each}}
|
|
54
|
-
</output>
|
|
55
|
-
</step>
|
|
56
|
-
|
|
57
|
-
<step n="3" goal="Prompt for items to remove">
|
|
58
|
-
<ask>Which items to remove? Enter item numbers (comma-separated), 'all' to remove all, or 'q' to cancel:</ask>
|
|
59
|
-
<check if="user enters 'q'">
|
|
60
|
-
<output>Cancelled. No changes made.</output>
|
|
61
|
-
<action>Exit workflow</action>
|
|
62
|
-
</check>
|
|
63
|
-
<check if="user enters 'all'">
|
|
64
|
-
<action>Set {{items_to_remove}} = all items in {{target_sprint.items}}</action>
|
|
65
|
-
</check>
|
|
66
|
-
<check if="user enters item numbers">
|
|
67
|
-
<action>Resolve entered numbers against the table from step 2</action>
|
|
68
|
-
<action>Set {{items_to_remove}} = selected items</action>
|
|
69
|
-
</check>
|
|
70
|
-
</step>
|
|
71
|
-
|
|
72
|
-
<step n="4" goal="Confirm removal">
|
|
73
|
-
<output>
|
|
74
|
-
## Confirm Removal
|
|
75
|
-
|
|
76
|
-
The following items will be removed from **{{target_sprint.name}}** and returned to the unassigned backlog:
|
|
77
|
-
|
|
78
|
-
{{#each items_to_remove}}
|
|
79
|
-
- {{id}} — {{title}}
|
|
80
|
-
{{/each}}
|
|
81
|
-
|
|
82
|
-
**Note:** Item status will NOT be changed. Items retain their current status.
|
|
83
|
-
</output>
|
|
84
|
-
<ask>Proceed? [y] Yes / [n] Cancel / [e] Edit selection:</ask>
|
|
85
|
-
<check if="user selects 'n'">
|
|
86
|
-
<output>Cancelled. No changes made.</output>
|
|
87
|
-
<action>Exit workflow</action>
|
|
88
|
-
</check>
|
|
89
|
-
<check if="user selects 'e'">
|
|
90
|
-
<goto step="3" />
|
|
91
|
-
</check>
|
|
92
|
-
<check if="user input is not 'y', 'n', or 'e'">
|
|
93
|
-
<output>Unrecognized option: "{{user_input}}". Please enter [y], [n], or [e].</output>
|
|
94
|
-
<goto step="4" />
|
|
95
|
-
</check>
|
|
96
|
-
</step>
|
|
97
|
-
|
|
98
|
-
<step n="5" goal="Concurrency guard — re-read sprint before writing">
|
|
99
|
-
<action>Re-read the sprint file: `_bmad-output/implementation-artifacts/sprints/{{target_sprint.id}}.yaml`</action>
|
|
100
|
-
<action>Extract the current `last_modified` timestamp from the file</action>
|
|
101
|
-
<check if="current file last_modified != {{session_last_modified}}">
|
|
102
|
-
<output>
|
|
103
|
-
**Conflict Detected:** The sprint file was modified since this session started.
|
|
104
|
-
|
|
105
|
-
**Session started with:** `last_modified: {{session_last_modified}}`
|
|
106
|
-
**Current file has:** `last_modified: {{current_file_last_modified}}`
|
|
107
|
-
</output>
|
|
108
|
-
<ask>How to proceed?
|
|
109
|
-
- [o] Overwrite with your changes (your modifications replace current file)
|
|
110
|
-
- [r] Reload — restart from current file state
|
|
111
|
-
- [x] Cancel — discard all changes
|
|
112
|
-
|
|
113
|
-
Choice:</ask>
|
|
114
|
-
<check if="choice == 'x'">
|
|
115
|
-
<output>Cancelled. Sprint file not modified.</output>
|
|
116
|
-
<action>Exit workflow</action>
|
|
117
|
-
</check>
|
|
118
|
-
<check if="choice == 'r'">
|
|
119
|
-
<action>Reload {{target_sprint}} from current file content</action>
|
|
120
|
-
<action>Update {{session_last_modified}} to current file's last_modified</action>
|
|
121
|
-
<output>Reloaded sprint from current state. Restarting item selection.</output>
|
|
122
|
-
<goto step="2" />
|
|
123
|
-
</check>
|
|
124
|
-
<!-- if 'o', proceed to write with session changes -->
|
|
125
|
-
</check>
|
|
126
|
-
</step>
|
|
127
|
-
|
|
128
|
-
<step n="6" goal="Remove items from sprint and update backlog">
|
|
129
|
-
<action>For each item in {{items_to_remove}}:
|
|
130
|
-
1. Remove the item ID from the sprint's `items` array
|
|
131
|
-
2. In `backlog.yaml`, find the matching backlog entry and set its `sprint` field to null (or remove it)
|
|
132
|
-
3. Do NOT change the item's `status` field — status is preserved as-is
|
|
133
|
-
</action>
|
|
134
|
-
<action>**Dual-write — both files must be updated for consistency:**</action>
|
|
135
|
-
<action>Update `last_modified` in the sprint file to current ISO timestamp</action>
|
|
136
|
-
<action>Write the updated sprint file: `_bmad-output/implementation-artifacts/sprints/{{target_sprint.id}}.yaml`</action>
|
|
137
|
-
<check if="sprint file write fails">
|
|
138
|
-
<output>**Error:** Failed to write sprint file. No changes persisted. Backlog NOT modified.</output>
|
|
139
|
-
<action>Exit workflow</action>
|
|
140
|
-
</check>
|
|
141
|
-
<action>Write the updated `_bmad-output/implementation-artifacts/backlog.yaml`</action>
|
|
142
|
-
<check if="backlog.yaml write fails">
|
|
143
|
-
<output>**Warning: Inconsistent state!** Sprint file was updated but backlog.yaml write failed. Items have been removed from the sprint's `items` array but their `sprint` field in backlog.yaml still references {{target_sprint.id}}. Re-run `/remove-from-sprint` or manually fix backlog.yaml.</output>
|
|
144
|
-
</check>
|
|
145
|
-
<output>
|
|
146
|
-
## Removal Complete
|
|
147
|
-
|
|
148
|
-
**Sprint:** {{target_sprint.name}} ({{target_sprint.id}})
|
|
149
|
-
|
|
150
|
-
**Removed items:**
|
|
151
|
-
{{#each items_to_remove}}
|
|
152
|
-
- {{id}} — {{title}} (status unchanged: {{status}})
|
|
153
|
-
{{/each}}
|
|
154
|
-
|
|
155
|
-
**Updated sprint capacity:** {{new_items_count}}/{{target_sprint.capacity}} items ({{new_remaining}} remaining)
|
|
156
|
-
|
|
157
|
-
**Next Steps:**
|
|
158
|
-
- Use `/add-to-sprint` to reassign items to a different sprint
|
|
159
|
-
- Use `/sprint-status-view` to view sprint progress
|
|
160
|
-
</output>
|
|
161
|
-
</step>
|
|
162
|
-
|
|
163
|
-
</workflow>
|