argos-harness 0.1.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 (217) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -0
  3. package/assets/agents/auditor.md +140 -0
  4. package/assets/agents/commit-pr-pilot.md +154 -0
  5. package/assets/agents/explorer.md +93 -0
  6. package/assets/agents/implementer.md +117 -0
  7. package/assets/agents/leader.md +149 -0
  8. package/assets/agents/researcher.md +89 -0
  9. package/assets/agents/review-readability.md +87 -0
  10. package/assets/agents/review-reliability.md +100 -0
  11. package/assets/agents/review-resilience.md +87 -0
  12. package/assets/agents/review-risk.md +87 -0
  13. package/assets/agents/reviewer.md +167 -0
  14. package/assets/agents/ticket-audit.md +129 -0
  15. package/assets/hooks/argos-guard-destructive.sh +127 -0
  16. package/assets/hooks/argos-quality-gate.sh +129 -0
  17. package/assets/managed/aterrizaje.md +24 -0
  18. package/assets/managed/formato-respuesta.md +21 -0
  19. package/assets/managed/identidad.md +48 -0
  20. package/assets/managed/operaciones-seguras.md +14 -0
  21. package/assets/managed/orquestacion.md +169 -0
  22. package/assets/output-styles/argos.md +71 -0
  23. package/assets/skills/ai-sdk-5/SKILL.md +230 -0
  24. package/assets/skills/angular/SKILL.md +19 -0
  25. package/assets/skills/angular/references/architecture.md +137 -0
  26. package/assets/skills/angular/references/core.md +197 -0
  27. package/assets/skills/angular/references/forms.md +115 -0
  28. package/assets/skills/angular/references/performance.md +124 -0
  29. package/assets/skills/apollo-client/SKILL.md +61 -0
  30. package/assets/skills/app-blueprint/SKILL.md +45 -0
  31. package/assets/skills/app-blueprint/assets/module-template.md +48 -0
  32. package/assets/skills/app-blueprint/assets/system-template.md +38 -0
  33. package/assets/skills/app-blueprint/references/workflow.md +101 -0
  34. package/assets/skills/app-builder/SKILL.md +43 -0
  35. package/assets/skills/app-builder/phases/0-product.md +58 -0
  36. package/assets/skills/app-builder/phases/1-scaffold.md +33 -0
  37. package/assets/skills/app-builder/phases/10-store.md +40 -0
  38. package/assets/skills/app-builder/phases/2-data.md +34 -0
  39. package/assets/skills/app-builder/phases/3-domain.md +33 -0
  40. package/assets/skills/app-builder/phases/4-ui-nav.md +32 -0
  41. package/assets/skills/app-builder/phases/5-identity.md +30 -0
  42. package/assets/skills/app-builder/phases/6-polish.md +34 -0
  43. package/assets/skills/app-builder/phases/7-brand.md +31 -0
  44. package/assets/skills/app-builder/phases/8-web.md +30 -0
  45. package/assets/skills/app-builder/phases/9-docs.md +31 -0
  46. package/assets/skills/app-ia/SKILL.md +54 -0
  47. package/assets/skills/astro/SKILL.md +39 -0
  48. package/assets/skills/axios/SKILL.md +61 -0
  49. package/assets/skills/branch-pr/SKILL.md +200 -0
  50. package/assets/skills/bullmq/SKILL.md +55 -0
  51. package/assets/skills/chained-pr/SKILL.md +48 -0
  52. package/assets/skills/chained-pr/references/chaining-details.md +99 -0
  53. package/assets/skills/cognitive-doc-design/SKILL.md +81 -0
  54. package/assets/skills/comment-writer/SKILL.md +74 -0
  55. package/assets/skills/dashboard-ia/SKILL.md +54 -0
  56. package/assets/skills/django-drf/SKILL.md +180 -0
  57. package/assets/skills/go-testing/SKILL.md +47 -0
  58. package/assets/skills/go-testing/references/examples.md +89 -0
  59. package/assets/skills/issue-creation/SKILL.md +223 -0
  60. package/assets/skills/jira-epic/SKILL.md +306 -0
  61. package/assets/skills/jira-task/SKILL.md +382 -0
  62. package/assets/skills/judgment-day/SKILL.md +52 -0
  63. package/assets/skills/judgment-day/references/prompts-and-formats.md +98 -0
  64. package/assets/skills/lightsail-deploy/SKILL.md +44 -0
  65. package/assets/skills/lightsail-deploy/references/runbook.md +102 -0
  66. package/assets/skills/loop-back-debug/SKILL.md +102 -0
  67. package/assets/skills/mantine-form/SKILL.md +57 -0
  68. package/assets/skills/mongoose/SKILL.md +66 -0
  69. package/assets/skills/nextjs-15/SKILL.md +144 -0
  70. package/assets/skills/not-boring-mobile/SKILL.md +43 -0
  71. package/assets/skills/not-boring-mobile/references/not-boring-playbook.md +65 -0
  72. package/assets/skills/playwright/SKILL.md +315 -0
  73. package/assets/skills/pr-comments/SKILL.md +93 -0
  74. package/assets/skills/pr-create/SKILL.md +64 -0
  75. package/assets/skills/promo-video/SKILL.md +52 -0
  76. package/assets/skills/promo-video/assets/package.template.json +22 -0
  77. package/assets/skills/promo-video/assets/promo.template.tsx +469 -0
  78. package/assets/skills/promo-video/assets/theme.template.ts +27 -0
  79. package/assets/skills/promo-video/references/pipeline.md +119 -0
  80. package/assets/skills/promo-video-web/SKILL.md +51 -0
  81. package/assets/skills/promo-video-web/assets/browser-promo.template.tsx +385 -0
  82. package/assets/skills/promo-video-web/assets/capture.template.ts +70 -0
  83. package/assets/skills/promo-video-web/assets/package.template.json +26 -0
  84. package/assets/skills/promo-video-web/references/pipeline.md +84 -0
  85. package/assets/skills/pytest/SKILL.md +180 -0
  86. package/assets/skills/react-19/SKILL.md +118 -0
  87. package/assets/skills/react-hook-form/SKILL.md +59 -0
  88. package/assets/skills/react-router/SKILL.md +60 -0
  89. package/assets/skills/redux-toolkit/SKILL.md +60 -0
  90. package/assets/skills/review-diff/SKILL.md +101 -0
  91. package/assets/skills/ship-docs/SKILL.md +45 -0
  92. package/assets/skills/ship-docs/references/ship-docs-playbook.md +31 -0
  93. package/assets/skills/skill-creator/SKILL.md +97 -0
  94. package/assets/skills/skill-creator/assets/SKILL-TEMPLATE.md +68 -0
  95. package/assets/skills/skill-creator/references/skill-style-guide.md +79 -0
  96. package/assets/skills/skill-improver/SKILL.md +50 -0
  97. package/assets/skills/skill-improver/references/skill-style-guide.md +79 -0
  98. package/assets/skills/socketio/SKILL.md +58 -0
  99. package/assets/skills/spec-bootstrap/SKILL.md +62 -0
  100. package/assets/skills/store-ship/SKILL.md +52 -0
  101. package/assets/skills/store-ship/assets/android-supply.template.md +22 -0
  102. package/assets/skills/store-ship/assets/eas.template.json +32 -0
  103. package/assets/skills/store-ship/assets/maestro-flow.template.yaml +27 -0
  104. package/assets/skills/store-ship/assets/store.config.template.json +28 -0
  105. package/assets/skills/store-ship/references/pipeline.md +198 -0
  106. package/assets/skills/stripe/SKILL.md +83 -0
  107. package/assets/skills/tailwind-4/SKILL.md +193 -0
  108. package/assets/skills/tamagui/SKILL.md +60 -0
  109. package/assets/skills/tanstack-query/SKILL.md +58 -0
  110. package/assets/skills/ticket-intake/SKILL.md +55 -0
  111. package/assets/skills/typescript/SKILL.md +134 -0
  112. package/assets/skills/verify-before-done/SKILL.md +111 -0
  113. package/assets/skills/webapp-rebuilder/SKILL.md +48 -0
  114. package/assets/skills/webapp-rebuilder/assets/charter-template.md +46 -0
  115. package/assets/skills/webapp-rebuilder/references/workflow.md +47 -0
  116. package/assets/skills/winston-logging/SKILL.md +61 -0
  117. package/assets/skills/work-unit-commits/SKILL.md +84 -0
  118. package/assets/skills/zod-4/SKILL.md +210 -0
  119. package/assets/skills/zustand-5/SKILL.md +216 -0
  120. package/bin/argos.js +6 -0
  121. package/dist/commands/adopt.d.ts +35 -0
  122. package/dist/commands/adopt.d.ts.map +1 -0
  123. package/dist/commands/adopt.js +347 -0
  124. package/dist/commands/adopt.js.map +1 -0
  125. package/dist/commands/doctor.d.ts +20 -0
  126. package/dist/commands/doctor.d.ts.map +1 -0
  127. package/dist/commands/doctor.js +478 -0
  128. package/dist/commands/doctor.js.map +1 -0
  129. package/dist/commands/init.d.ts +32 -0
  130. package/dist/commands/init.d.ts.map +1 -0
  131. package/dist/commands/init.js +358 -0
  132. package/dist/commands/init.js.map +1 -0
  133. package/dist/commands/remove.d.ts +62 -0
  134. package/dist/commands/remove.d.ts.map +1 -0
  135. package/dist/commands/remove.js +487 -0
  136. package/dist/commands/remove.js.map +1 -0
  137. package/dist/commands/workspace.d.ts +73 -0
  138. package/dist/commands/workspace.d.ts.map +1 -0
  139. package/dist/commands/workspace.js +354 -0
  140. package/dist/commands/workspace.js.map +1 -0
  141. package/dist/index.d.ts +2 -0
  142. package/dist/index.d.ts.map +1 -0
  143. package/dist/index.js +24 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/lib/assets.d.ts +29 -0
  146. package/dist/lib/assets.d.ts.map +1 -0
  147. package/dist/lib/assets.js +57 -0
  148. package/dist/lib/assets.js.map +1 -0
  149. package/dist/lib/atomic-write.d.ts +17 -0
  150. package/dist/lib/atomic-write.d.ts.map +1 -0
  151. package/dist/lib/atomic-write.js +41 -0
  152. package/dist/lib/atomic-write.js.map +1 -0
  153. package/dist/lib/backup.d.ts +11 -0
  154. package/dist/lib/backup.d.ts.map +1 -0
  155. package/dist/lib/backup.js +42 -0
  156. package/dist/lib/backup.js.map +1 -0
  157. package/dist/lib/config.d.ts +36 -0
  158. package/dist/lib/config.d.ts.map +1 -0
  159. package/dist/lib/config.js +52 -0
  160. package/dist/lib/config.js.map +1 -0
  161. package/dist/lib/detect.d.ts +58 -0
  162. package/dist/lib/detect.d.ts.map +1 -0
  163. package/dist/lib/detect.js +330 -0
  164. package/dist/lib/detect.js.map +1 -0
  165. package/dist/lib/ficha.d.ts +10 -0
  166. package/dist/lib/ficha.d.ts.map +1 -0
  167. package/dist/lib/ficha.js +38 -0
  168. package/dist/lib/ficha.js.map +1 -0
  169. package/dist/lib/git.d.ts +27 -0
  170. package/dist/lib/git.d.ts.map +1 -0
  171. package/dist/lib/git.js +79 -0
  172. package/dist/lib/git.js.map +1 -0
  173. package/dist/lib/managed-files.d.ts +35 -0
  174. package/dist/lib/managed-files.d.ts.map +1 -0
  175. package/dist/lib/managed-files.js +97 -0
  176. package/dist/lib/managed-files.js.map +1 -0
  177. package/dist/lib/markers.d.ts +64 -0
  178. package/dist/lib/markers.d.ts.map +1 -0
  179. package/dist/lib/markers.js +157 -0
  180. package/dist/lib/markers.js.map +1 -0
  181. package/dist/lib/navori-import.d.ts +42 -0
  182. package/dist/lib/navori-import.d.ts.map +1 -0
  183. package/dist/lib/navori-import.js +65 -0
  184. package/dist/lib/navori-import.js.map +1 -0
  185. package/dist/lib/openclaw-agents.d.ts +53 -0
  186. package/dist/lib/openclaw-agents.d.ts.map +1 -0
  187. package/dist/lib/openclaw-agents.js +118 -0
  188. package/dist/lib/openclaw-agents.js.map +1 -0
  189. package/dist/lib/package-root.d.ts +11 -0
  190. package/dist/lib/package-root.d.ts.map +1 -0
  191. package/dist/lib/package-root.js +23 -0
  192. package/dist/lib/package-root.js.map +1 -0
  193. package/dist/lib/paths.d.ts +11 -0
  194. package/dist/lib/paths.d.ts.map +1 -0
  195. package/dist/lib/paths.js +16 -0
  196. package/dist/lib/paths.js.map +1 -0
  197. package/dist/lib/settings-merge.d.ts +125 -0
  198. package/dist/lib/settings-merge.d.ts.map +1 -0
  199. package/dist/lib/settings-merge.js +373 -0
  200. package/dist/lib/settings-merge.js.map +1 -0
  201. package/dist/lib/version.d.ts +3 -0
  202. package/dist/lib/version.d.ts.map +1 -0
  203. package/dist/lib/version.js +13 -0
  204. package/dist/lib/version.js.map +1 -0
  205. package/dist/lib/which.d.ts +8 -0
  206. package/dist/lib/which.d.ts.map +1 -0
  207. package/dist/lib/which.js +30 -0
  208. package/dist/lib/which.js.map +1 -0
  209. package/dist/lib/workspaces.d.ts +133 -0
  210. package/dist/lib/workspaces.d.ts.map +1 -0
  211. package/dist/lib/workspaces.js +241 -0
  212. package/dist/lib/workspaces.js.map +1 -0
  213. package/dist/lib/zod-messages.d.ts +4 -0
  214. package/dist/lib/zod-messages.d.ts.map +1 -0
  215. package/dist/lib/zod-messages.js +28 -0
  216. package/dist/lib/zod-messages.js.map +1 -0
  217. package/package.json +44 -0
@@ -0,0 +1,306 @@
1
+ ---
2
+ name: jira-epic
3
+ description: Creates Jira epics for large features following Prowler's standard format. Trigger: When the user asks to create an epic, a large feature, or a multi-task initiative.
4
+ ---
5
+
6
+ ## When to Use
7
+
8
+ Use this skill when creating Jira epics for:
9
+ - Large features spanning multiple components
10
+ - New views/pages in the application
11
+ - Major refactoring initiatives
12
+ - Features requiring API + UI + SDK work
13
+
14
+ ## Epic Template
15
+
16
+ ```markdown
17
+ # {Epic Title}
18
+
19
+ **Figma:** {figma link if available}
20
+
21
+ ## Feature Overview
22
+
23
+ {2-3 paragraph description of what this feature does and why it's needed}
24
+
25
+ ## Requirements
26
+
27
+ ### {Section 1: Major Functionality Area}
28
+
29
+ #### {Subsection}
30
+ - Requirement 1
31
+ - Requirement 2
32
+ - Requirement 3
33
+
34
+ #### {Another Subsection}
35
+ - Requirement 1
36
+ - Requirement 2
37
+
38
+ ### {Section 2: Another Major Area}
39
+
40
+ #### {Subsection}
41
+ - Requirement 1
42
+ - Requirement 2
43
+
44
+ ## Technical Considerations
45
+
46
+ ### Performance
47
+ - {Performance requirement 1}
48
+ - {Performance requirement 2}
49
+
50
+ ### Data Integration
51
+ - {Data source}
52
+ - {Integration points}
53
+
54
+ ### UI Components
55
+ - {Component 1}
56
+ - {Component 2}
57
+
58
+ ## Implementation Checklist
59
+
60
+ - [ ] {Major deliverable 1}
61
+ - [ ] {Major deliverable 2}
62
+ - [ ] {Major deliverable 3}
63
+
64
+ ## Diagrams
65
+
66
+ {Mermaid diagrams for architecture, flow, data model, etc.}
67
+ ```
68
+
69
+ ## Epic Title Conventions
70
+
71
+ Format: `[EPIC] Feature Name`
72
+
73
+ **Examples:**
74
+ - `[EPIC] Findings View`
75
+ - `[EPIC] Multi-tenant Support`
76
+ - `[EPIC] Compliance Dashboard Redesign`
77
+ - `[EPIC] GovCloud Support`
78
+
79
+ ## Required Sections
80
+
81
+ ### 1. Feature Overview
82
+ Brief but complete description of:
83
+ - What the feature does
84
+ - Who uses it
85
+ - Why it's needed
86
+
87
+ ### 2. Requirements
88
+ Organized by functional area:
89
+ - Group related requirements together
90
+ - Use clear headers and subheaders
91
+ - Be specific and testable
92
+
93
+ ### 3. Technical Considerations
94
+ Always include:
95
+ - **Performance**: Large dataset handling, pagination, caching
96
+ - **Data Integration**: Data sources, APIs, relationships
97
+ - **UI Components**: Reusable components, design system usage
98
+
99
+ ### 4. Implementation Checklist
100
+ High-level deliverables that will become individual tasks:
101
+ - Each checkbox = potential Jira task
102
+ - Order by dependency (API before UI)
103
+ - Include testing milestones
104
+
105
+ ## Diagrams
106
+
107
+ Use Mermaid for:
108
+
109
+ ### Architecture Diagrams
110
+ ```mermaid
111
+ graph TB
112
+ UI[UI Components] --> API[API Endpoints]
113
+ API --> SDK[Prowler SDK]
114
+ SDK --> Cloud[Cloud Providers]
115
+ ```
116
+
117
+ ### Data Flow Diagrams
118
+ ```mermaid
119
+ sequenceDiagram
120
+ User->>UI: Apply filters
121
+ UI->>API: GET /findings?filters
122
+ API->>DB: Query findings
123
+ DB-->>API: Results
124
+ API-->>UI: JSON response
125
+ UI-->>User: Render table
126
+ ```
127
+
128
+ ### State Diagrams
129
+ ```mermaid
130
+ stateDiagram-v2
131
+ [*] --> Pending
132
+ Pending --> InProgress: Start triage
133
+ InProgress --> Resolved: Mark resolved
134
+ InProgress --> Pending: Reset
135
+ Resolved --> [*]
136
+ ```
137
+
138
+ ### Entity Relationship Diagrams
139
+ ```mermaid
140
+ erDiagram
141
+ FINDING ||--o{ RESOURCE : affects
142
+ FINDING }|--|| CHECK : "belongs to"
143
+ RESOURCE }|--|| ACCOUNT : "belongs to"
144
+ ACCOUNT }|--|| PROVIDER : "belongs to"
145
+ ```
146
+
147
+ ## Splitting Epic into Tasks
148
+
149
+ After creating the epic, generate individual tasks using the `jira-task` skill:
150
+
151
+ ### Task Naming Pattern
152
+ From epic `[EPIC] Findings View`, create:
153
+ - `[FEATURE] Findings table with pagination (UI)`
154
+ - `[FEATURE] Findings filters - provider and account (UI)`
155
+ - `[FEATURE] Findings detail panel - Overview tab (UI)`
156
+ - `[FEATURE] Findings detail panel - Resources tab (UI)`
157
+ - `[FEATURE] Findings bulk actions - mute/suppress (API + UI)`
158
+ - `[FEATURE] Findings search functionality (API + UI)`
159
+
160
+ ### Task Dependencies
161
+ Always specify in each task:
162
+ ```markdown
163
+ ## Related Tasks
164
+ - Epic: [EPIC] Findings View
165
+ - Blocked by: [task if any]
166
+ - Blocks: [task if any]
167
+ ```
168
+
169
+ ## Figma Integration
170
+
171
+ When Figma links are provided:
172
+ - Include main Figma link at top
173
+ - Reference specific frames in relevant sections
174
+ - Example: `https://www.figma.com/design/xxx?node-id=1830-44712&m=dev`
175
+
176
+ ## Output Format
177
+
178
+ ```markdown
179
+ ## Epic: [EPIC] {Title}
180
+
181
+ {Full epic content following template}
182
+
183
+ ---
184
+
185
+ ## Suggested Tasks
186
+
187
+ Based on this epic, create the following tasks:
188
+
189
+ | # | Title | Component | Blocked By |
190
+ |---|-------|-----------|------------|
191
+ | 1 | [FEATURE] Task name | API | - |
192
+ | 2 | [FEATURE] Task name | UI | Task 1 |
193
+ | 3 | [FEATURE] Task name | UI | Task 2 |
194
+
195
+ Would you like me to generate the full task descriptions?
196
+ ```
197
+
198
+ ## Checklist Before Submitting
199
+
200
+ 1. ✅ Title follows `[EPIC] Feature Name` format
201
+ 2. ✅ Feature Overview explains what/who/why
202
+ 3. ✅ Requirements are organized by functional area
203
+ 4. ✅ Technical Considerations cover performance, data, UI
204
+ 5. ✅ Implementation Checklist has high-level deliverables
205
+ 6. ✅ Diagrams included where helpful (Mermaid format)
206
+ 7. ✅ Figma links included if available
207
+ 8. ✅ Suggested tasks table provided at the end
208
+
209
+ ## Formatting Rules
210
+
211
+ **CRITICAL:** All output MUST be in Markdown format, ready to paste into Jira.
212
+
213
+ - Use `#` for epic title, `##` for main sections, `###` for subsections
214
+ - Use `**bold**` for emphasis
215
+ - Use `- [ ]` for checkboxes in Implementation Checklist
216
+ - Use ``` for code blocks and Mermaid diagrams
217
+ - Use `backticks` for file paths, commands, and code references
218
+ - Use tables for Suggested Tasks section
219
+ - Use `---` to separate epic from suggested tasks
220
+
221
+ ## Jira MCP Integration
222
+
223
+ **CRITICAL:** When creating epics via MCP, use these exact parameters:
224
+
225
+ ### Required Fields
226
+
227
+ ```json
228
+ {
229
+ "project_key": "PROWLER",
230
+ "summary": "[EPIC] Feature name",
231
+ "issue_type": "Epic",
232
+ "additional_fields": {
233
+ "customfield_10359": {"value": "UI"}
234
+ }
235
+ }
236
+ ```
237
+
238
+ ### Team Field (REQUIRED)
239
+
240
+ The `customfield_10359` (Team) field is **REQUIRED**. Options:
241
+ - `"UI"` - Frontend epics
242
+ - `"API"` - Backend epics
243
+ - `"SDK"` - Prowler SDK epics
244
+
245
+ ### Work Item Description Field
246
+
247
+ **IMPORTANT:** The project uses `customfield_10363` (Work Item Description) instead of the standard `description` field for display in the UI.
248
+
249
+ **CRITICAL:** Use **Jira Wiki markup**, NOT Markdown:
250
+ - `h2.` instead of `##`
251
+ - `*text*` for bold instead of `**text**`
252
+ - `* item` for bullets (same)
253
+ - `** subitem` for nested bullets
254
+
255
+ After creating the epic, update the description with:
256
+
257
+ ```json
258
+ {
259
+ "customfield_10363": "h2. Feature Overview\n\n{overview}\n\nh2. Requirements\n\n*{Section 1}*\n* {requirement 1}\n* {requirement 2}\n\n*{Section 2}*\n* {requirement 1}\n* {requirement 2}\n\nh2. Technical Considerations\n\n*Performance:*\n* {consideration 1}\n\n*Data Integration:*\n* {consideration 2}\n\nh2. Implementation Checklist\n\n* [ ] {deliverable 1}\n* [ ] {deliverable 2}\n* [ ] {deliverable 3}"
260
+ }
261
+ ```
262
+
263
+ ### Linking Tasks to Epic
264
+
265
+ When creating child tasks, use the epic key as parent:
266
+
267
+ ```json
268
+ {
269
+ "additional_fields": {
270
+ "parent": "PROWLER-XXX"
271
+ }
272
+ }
273
+ ```
274
+
275
+ ### Workflow Transitions
276
+
277
+ ```
278
+ Backlog (10037) → To Do (14) → In Progress (11) → Done (21)
279
+ → Blocked (10)
280
+ ```
281
+
282
+ ### MCP Commands Sequence
283
+
284
+ 1. **Create epic:**
285
+ ```
286
+ mcp__mcp-atlassian__jira_create_issue (issue_type: "Epic")
287
+ ```
288
+
289
+ 2. **Update Work Item Description:**
290
+ ```
291
+ mcp__mcp-atlassian__jira_update_issue with customfield_10363
292
+ ```
293
+
294
+ 3. **Create child tasks:**
295
+ ```
296
+ mcp__mcp-atlassian__jira_create_issue with parent: EPIC-KEY
297
+ ```
298
+
299
+ 4. **Assign and transition:**
300
+ ```
301
+ mcp__mcp-atlassian__jira_update_issue (assignee)
302
+ mcp__mcp-atlassian__jira_transition_issue (status)
303
+ ```
304
+
305
+ ## Keywords
306
+ jira, epic, feature, initiative, prowler, large feature
@@ -0,0 +1,382 @@
1
+ ---
2
+ name: jira-task
3
+ description: Creates Jira tasks following Prowler's standard format. Trigger: When the user asks to create a Jira task, ticket, or issue.
4
+ ---
5
+
6
+ ## When to Use
7
+
8
+ Use this skill when creating Jira tasks for:
9
+ - Bug reports
10
+ - Feature requests
11
+ - Refactoring tasks
12
+ - Documentation tasks
13
+
14
+ ## Multi-Component Work: Split into Multiple Tasks
15
+
16
+ **IMPORTANT:** When work requires changes in multiple components (API, UI, SDK), create **separate tasks for each component** instead of one big task.
17
+
18
+ ### Why Split?
19
+ - Different developers can work in parallel
20
+ - Easier to review and test
21
+ - Better tracking of progress
22
+ - API needs to be done before UI (dependency)
23
+
24
+ ### Bug vs Feature: Different Structures
25
+
26
+ #### For BUGS: Create separate sibling tasks
27
+ Bugs are typically urgent fixes, so create independent tasks per component:
28
+
29
+ **Task 1 - API:**
30
+ - Title: `[BUG] Add aws_region field to AWS provider secrets (API)`
31
+ - Must be done first (UI depends on it)
32
+
33
+ **Task 2 - UI:**
34
+ - Title: `[BUG] Add region selector to AWS provider connection form (UI)`
35
+ - Blocked by API task
36
+
37
+ #### For FEATURES: Create parent + child tasks
38
+ Features need business context for stakeholders, so use a parent-child structure:
39
+
40
+ **Parent Task (for PM/Stakeholders):**
41
+ - Title: `[FEATURE] AWS GovCloud support`
42
+ - Contains: Feature overview, user story, acceptance criteria from USER perspective
43
+ - NO technical details
44
+ - Links to child tasks
45
+
46
+ **Child Task 1 - API:**
47
+ - Title: `[FEATURE] AWS GovCloud support (API)`
48
+ - Contains: Technical details, affected files, API-specific acceptance criteria
49
+ - Links to parent
50
+
51
+ **Child Task 2 - UI:**
52
+ - Title: `[FEATURE] AWS GovCloud support (UI)`
53
+ - Contains: Technical details, component paths, UI-specific acceptance criteria
54
+ - Links to parent, blocked by API task
55
+
56
+ ### Parent Task Template (Features Only)
57
+
58
+ ```markdown
59
+ ## Description
60
+
61
+ {User-facing description of the feature - what problem does it solve?}
62
+
63
+ ## User Story
64
+
65
+ As a {user type}, I want to {action} so that {benefit}.
66
+
67
+ ## Acceptance Criteria (User Perspective)
68
+
69
+ - [ ] User can {do something}
70
+ - [ ] User sees {something}
71
+ - [ ] {Behavior from user's point of view}
72
+
73
+ ## Out of Scope
74
+
75
+ - {What this feature does NOT include}
76
+
77
+ ## Design
78
+
79
+ - Figma: {link if available}
80
+ - Screenshots/mockups if available
81
+
82
+ ## Child Tasks
83
+
84
+ - [ ] `[FEATURE] {Feature name} (API)` - Backend implementation
85
+ - [ ] `[FEATURE] {Feature name} (UI)` - Frontend implementation
86
+
87
+ ## Priority
88
+
89
+ {High/Medium/Low} ({business justification})
90
+ ```
91
+
92
+ ### Child Task Template (Features Only)
93
+
94
+ ```markdown
95
+ ## Description
96
+
97
+ Technical implementation of {feature name} for {component}.
98
+
99
+ ## Parent Task
100
+
101
+ `[FEATURE] {Feature name}`
102
+
103
+ ## Acceptance Criteria (Technical)
104
+
105
+ - [ ] {Technical requirement 1}
106
+ - [ ] {Technical requirement 2}
107
+
108
+ ## Technical Notes
109
+
110
+ - Affected files:
111
+ - `{file path 1}`
112
+ - `{file path 2}`
113
+ - {Implementation hints}
114
+
115
+ ## Testing
116
+
117
+ - [ ] {Test case 1}
118
+ - [ ] {Test case 2}
119
+
120
+ ## Related Tasks
121
+
122
+ - Parent: `[FEATURE] {Feature name}`
123
+ - Blocked by: {if any}
124
+ - Blocks: {if any}
125
+ ```
126
+
127
+ ### Linking Tasks
128
+
129
+ In each task description, add:
130
+ ```markdown
131
+ ## Related Tasks
132
+ - Parent: [Parent task title/link] (for child tasks)
133
+ - Blocked by: [API task title/link]
134
+ - Blocks: [UI task title/link]
135
+ ```
136
+
137
+ ## Task Template
138
+
139
+ ```markdown
140
+ ## Description
141
+
142
+ {Brief explanation of the problem or feature request}
143
+
144
+ **Current State:**
145
+ - {What's happening now / What's broken}
146
+ - {Impact on users}
147
+
148
+ **Expected State:**
149
+ - {What should happen}
150
+ - {Desired behavior}
151
+
152
+ ## Acceptance Criteria
153
+
154
+ - [ ] {Specific, testable requirement}
155
+ - [ ] {Another requirement}
156
+ - [ ] {Include both API and UI tasks if applicable}
157
+
158
+ ## Technical Notes
159
+
160
+ - {Implementation hints}
161
+ - {Affected files with full paths}
162
+ - {Dependencies or related components}
163
+
164
+ ## Testing
165
+
166
+ - [ ] {Test case 1}
167
+ - [ ] {Test case 2}
168
+ - [ ] {Include regression tests}
169
+
170
+ ## Priority
171
+
172
+ {High/Medium/Low} ({justification})
173
+ ```
174
+
175
+ ## Title Conventions
176
+
177
+ Format: `[TYPE] Brief description (components)`
178
+
179
+ **Types:**
180
+ - `[BUG]` - Something broken that worked before
181
+ - `[FEATURE]` - New functionality
182
+ - `[ENHANCEMENT]` - Improvement to existing feature
183
+ - `[REFACTOR]` - Code restructure without behavior change
184
+ - `[DOCS]` - Documentation only
185
+ - `[CHORE]` - Maintenance, dependencies, CI/CD
186
+
187
+ **Components (when multiple affected):**
188
+ - `(API)` - Backend only
189
+ - `(UI)` - Frontend only
190
+ - `(SDK)` - Prowler SDK only
191
+ - `(API + UI)` - Both backend and frontend
192
+ - `(SDK + API)` - SDK and backend
193
+ - `(Full Stack)` - All components
194
+
195
+ **Examples:**
196
+ - `[BUG] AWS GovCloud accounts cannot connect - STS region hardcoded (API + UI)`
197
+ - `[FEATURE] Add dark mode toggle (UI)`
198
+ - `[REFACTOR] Migrate E2E tests to Page Object Model (UI)`
199
+ - `[ENHANCEMENT] Improve scan performance for large accounts (SDK)`
200
+
201
+ ## Priority Guidelines
202
+
203
+ | Priority | Criteria |
204
+ |----------|----------|
205
+ | **Critical** | Production down, data loss, security vulnerability |
206
+ | **High** | Blocks users, no workaround, affects paid features |
207
+ | **Medium** | Has workaround, affects subset of users |
208
+ | **Low** | Nice to have, cosmetic, internal tooling |
209
+
210
+ ## Affected Files Section
211
+
212
+ Always include full paths when known:
213
+
214
+ ```markdown
215
+ ## Technical Notes
216
+
217
+ - Affected files:
218
+ - `api/src/backend/api/v1/serializers.py`
219
+ - `ui/components/providers/workflow/forms/aws-credentials-form.tsx`
220
+ - `prowler/providers/aws/config.py`
221
+ ```
222
+
223
+ ## Component-Specific Sections
224
+
225
+ ### API Tasks
226
+ Include:
227
+ - Serializer changes
228
+ - View/ViewSet changes
229
+ - Migration requirements
230
+ - API spec regeneration needs
231
+
232
+ ### UI Tasks
233
+ Include:
234
+ - Component paths
235
+ - Form validation changes
236
+ - State management impact
237
+ - Responsive design considerations
238
+
239
+ ### SDK Tasks
240
+ Include:
241
+ - Provider affected
242
+ - Service affected
243
+ - Check changes
244
+ - Config changes
245
+
246
+ ## Checklist Before Submitting
247
+
248
+ 1. ✅ Title follows `[TYPE] description (components)` format
249
+ 2. ✅ Description has Current/Expected State
250
+ 3. ✅ Acceptance Criteria are specific and testable
251
+ 4. ✅ Technical Notes include file paths
252
+ 5. ✅ Testing section covers happy path + edge cases
253
+ 6. ✅ Priority has justification
254
+ 7. ✅ **Multi-component work is split into separate tasks**
255
+ 8. ✅ **Titles are recommended for all tasks**
256
+
257
+ ## Output Format
258
+
259
+ ### For BUGS (sibling tasks):
260
+
261
+ ```markdown
262
+ ## Recommended Tasks
263
+
264
+ ### Task 1: [BUG] {Description} (API)
265
+ {Full task content}
266
+
267
+ ---
268
+
269
+ ### Task 2: [BUG] {Description} (UI)
270
+ {Full task content}
271
+ ```
272
+
273
+ ### For FEATURES (parent + children):
274
+
275
+ ```markdown
276
+ ## Recommended Tasks
277
+
278
+ ### Parent Task: [FEATURE] {Feature name}
279
+ {User-facing content, no technical details}
280
+
281
+ ---
282
+
283
+ ### Child Task 1: [FEATURE] {Feature name} (API)
284
+ {Technical content for API team}
285
+
286
+ ---
287
+
288
+ ### Child Task 2: [FEATURE] {Feature name} (UI)
289
+ {Technical content for UI team}
290
+ ```
291
+
292
+ ## Formatting Rules
293
+
294
+ **CRITICAL:** All output MUST be in Markdown format, ready to paste into Jira.
295
+
296
+ - Use `##` for main sections (Description, Acceptance Criteria, etc.)
297
+ - Use `**bold**` for emphasis
298
+ - Use `- [ ]` for checkboxes
299
+ - Use ``` for code blocks with language hints
300
+ - Use `backticks` for file paths, commands, and code references
301
+ - Use tables where appropriate
302
+ - Use `---` to separate multiple tasks
303
+
304
+ ## Jira MCP Integration
305
+
306
+ **CRITICAL:** When creating tasks via MCP, use these exact parameters:
307
+
308
+ ### Required Fields
309
+
310
+ ```json
311
+ {
312
+ "project_key": "PROWLER",
313
+ "summary": "[TYPE] Task title (component)",
314
+ "issue_type": "Task",
315
+ "additional_fields": {
316
+ "parent": "PROWLER-XXX",
317
+ "customfield_10359": {"value": "UI"}
318
+ }
319
+ }
320
+ ```
321
+
322
+ ### Team Field (REQUIRED)
323
+
324
+ The `customfield_10359` (Team) field is **REQUIRED**. Options:
325
+ - `"UI"` - Frontend tasks
326
+ - `"API"` - Backend tasks
327
+ - `"SDK"` - Prowler SDK tasks
328
+
329
+ ### Work Item Description Field
330
+
331
+ **IMPORTANT:** The project uses `customfield_10363` (Work Item Description) instead of the standard `description` field for display in the UI.
332
+
333
+ **CRITICAL:** Use **Jira Wiki markup**, NOT Markdown:
334
+ - `h2.` instead of `##`
335
+ - `*text*` for bold instead of `**text**`
336
+ - `* item` for bullets (same)
337
+ - `** subitem` for nested bullets
338
+
339
+ After creating the issue, update the description with:
340
+
341
+ ```json
342
+ {
343
+ "customfield_10363": "h2. Description\n\n{content}\n\n*Current State:*\n* {problem 1}\n* {problem 2}\n\n*Expected State:*\n* {solution 1}\n* {solution 2}\n\nh2. Acceptance Criteria\n\n* {criteria 1}\n* {criteria 2}\n\nh2. Technical Notes\n\nPR: [{pr_url}]\n\nAffected files:\n* {file 1}\n* {file 2}\n\nh2. Testing\n\n* [ ] PR - Local environment\n** {test case 1}\n** {test case 2}\n* [ ] After merge in prowler - dev\n** {test case 3}"
344
+ }
345
+ ```
346
+
347
+ ### Common Epics
348
+
349
+ | Epic | Key | Use For |
350
+ |------|-----|---------|
351
+ | UI - Bugs & Improvements | PROWLER-193 | UI bugs, enhancements |
352
+ | API - Bugs / Improvements | PROWLER-XXX | API bugs, enhancements |
353
+ | LightHouse AI | PROWLER-594 | AI features |
354
+ | Technical Debt - UI | PROWLER-502 | Refactoring |
355
+
356
+ ### Workflow Transitions
357
+
358
+ ```
359
+ Backlog (10037) → To Do (14) → In Progress (11) → Done (21)
360
+ → Blocked (10)
361
+ ```
362
+
363
+ ### MCP Commands Sequence
364
+
365
+ 1. **Create issue:**
366
+ ```
367
+ mcp__mcp-atlassian__jira_create_issue
368
+ ```
369
+
370
+ 2. **Update Work Item Description:**
371
+ ```
372
+ mcp__mcp-atlassian__jira_update_issue with customfield_10363
373
+ ```
374
+
375
+ 3. **Assign and transition:**
376
+ ```
377
+ mcp__mcp-atlassian__jira_update_issue (assignee)
378
+ mcp__mcp-atlassian__jira_transition_issue (status)
379
+ ```
380
+
381
+ ## Keywords
382
+ jira, task, ticket, issue, bug, feature, prowler