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.
- package/LICENSE +21 -0
- package/README.md +21 -0
- package/assets/agents/auditor.md +140 -0
- package/assets/agents/commit-pr-pilot.md +154 -0
- package/assets/agents/explorer.md +93 -0
- package/assets/agents/implementer.md +117 -0
- package/assets/agents/leader.md +149 -0
- package/assets/agents/researcher.md +89 -0
- package/assets/agents/review-readability.md +87 -0
- package/assets/agents/review-reliability.md +100 -0
- package/assets/agents/review-resilience.md +87 -0
- package/assets/agents/review-risk.md +87 -0
- package/assets/agents/reviewer.md +167 -0
- package/assets/agents/ticket-audit.md +129 -0
- package/assets/hooks/argos-guard-destructive.sh +127 -0
- package/assets/hooks/argos-quality-gate.sh +129 -0
- package/assets/managed/aterrizaje.md +24 -0
- package/assets/managed/formato-respuesta.md +21 -0
- package/assets/managed/identidad.md +48 -0
- package/assets/managed/operaciones-seguras.md +14 -0
- package/assets/managed/orquestacion.md +169 -0
- package/assets/output-styles/argos.md +71 -0
- package/assets/skills/ai-sdk-5/SKILL.md +230 -0
- package/assets/skills/angular/SKILL.md +19 -0
- package/assets/skills/angular/references/architecture.md +137 -0
- package/assets/skills/angular/references/core.md +197 -0
- package/assets/skills/angular/references/forms.md +115 -0
- package/assets/skills/angular/references/performance.md +124 -0
- package/assets/skills/apollo-client/SKILL.md +61 -0
- package/assets/skills/app-blueprint/SKILL.md +45 -0
- package/assets/skills/app-blueprint/assets/module-template.md +48 -0
- package/assets/skills/app-blueprint/assets/system-template.md +38 -0
- package/assets/skills/app-blueprint/references/workflow.md +101 -0
- package/assets/skills/app-builder/SKILL.md +43 -0
- package/assets/skills/app-builder/phases/0-product.md +58 -0
- package/assets/skills/app-builder/phases/1-scaffold.md +33 -0
- package/assets/skills/app-builder/phases/10-store.md +40 -0
- package/assets/skills/app-builder/phases/2-data.md +34 -0
- package/assets/skills/app-builder/phases/3-domain.md +33 -0
- package/assets/skills/app-builder/phases/4-ui-nav.md +32 -0
- package/assets/skills/app-builder/phases/5-identity.md +30 -0
- package/assets/skills/app-builder/phases/6-polish.md +34 -0
- package/assets/skills/app-builder/phases/7-brand.md +31 -0
- package/assets/skills/app-builder/phases/8-web.md +30 -0
- package/assets/skills/app-builder/phases/9-docs.md +31 -0
- package/assets/skills/app-ia/SKILL.md +54 -0
- package/assets/skills/astro/SKILL.md +39 -0
- package/assets/skills/axios/SKILL.md +61 -0
- package/assets/skills/branch-pr/SKILL.md +200 -0
- package/assets/skills/bullmq/SKILL.md +55 -0
- package/assets/skills/chained-pr/SKILL.md +48 -0
- package/assets/skills/chained-pr/references/chaining-details.md +99 -0
- package/assets/skills/cognitive-doc-design/SKILL.md +81 -0
- package/assets/skills/comment-writer/SKILL.md +74 -0
- package/assets/skills/dashboard-ia/SKILL.md +54 -0
- package/assets/skills/django-drf/SKILL.md +180 -0
- package/assets/skills/go-testing/SKILL.md +47 -0
- package/assets/skills/go-testing/references/examples.md +89 -0
- package/assets/skills/issue-creation/SKILL.md +223 -0
- package/assets/skills/jira-epic/SKILL.md +306 -0
- package/assets/skills/jira-task/SKILL.md +382 -0
- package/assets/skills/judgment-day/SKILL.md +52 -0
- package/assets/skills/judgment-day/references/prompts-and-formats.md +98 -0
- package/assets/skills/lightsail-deploy/SKILL.md +44 -0
- package/assets/skills/lightsail-deploy/references/runbook.md +102 -0
- package/assets/skills/loop-back-debug/SKILL.md +102 -0
- package/assets/skills/mantine-form/SKILL.md +57 -0
- package/assets/skills/mongoose/SKILL.md +66 -0
- package/assets/skills/nextjs-15/SKILL.md +144 -0
- package/assets/skills/not-boring-mobile/SKILL.md +43 -0
- package/assets/skills/not-boring-mobile/references/not-boring-playbook.md +65 -0
- package/assets/skills/playwright/SKILL.md +315 -0
- package/assets/skills/pr-comments/SKILL.md +93 -0
- package/assets/skills/pr-create/SKILL.md +64 -0
- package/assets/skills/promo-video/SKILL.md +52 -0
- package/assets/skills/promo-video/assets/package.template.json +22 -0
- package/assets/skills/promo-video/assets/promo.template.tsx +469 -0
- package/assets/skills/promo-video/assets/theme.template.ts +27 -0
- package/assets/skills/promo-video/references/pipeline.md +119 -0
- package/assets/skills/promo-video-web/SKILL.md +51 -0
- package/assets/skills/promo-video-web/assets/browser-promo.template.tsx +385 -0
- package/assets/skills/promo-video-web/assets/capture.template.ts +70 -0
- package/assets/skills/promo-video-web/assets/package.template.json +26 -0
- package/assets/skills/promo-video-web/references/pipeline.md +84 -0
- package/assets/skills/pytest/SKILL.md +180 -0
- package/assets/skills/react-19/SKILL.md +118 -0
- package/assets/skills/react-hook-form/SKILL.md +59 -0
- package/assets/skills/react-router/SKILL.md +60 -0
- package/assets/skills/redux-toolkit/SKILL.md +60 -0
- package/assets/skills/review-diff/SKILL.md +101 -0
- package/assets/skills/ship-docs/SKILL.md +45 -0
- package/assets/skills/ship-docs/references/ship-docs-playbook.md +31 -0
- package/assets/skills/skill-creator/SKILL.md +97 -0
- package/assets/skills/skill-creator/assets/SKILL-TEMPLATE.md +68 -0
- package/assets/skills/skill-creator/references/skill-style-guide.md +79 -0
- package/assets/skills/skill-improver/SKILL.md +50 -0
- package/assets/skills/skill-improver/references/skill-style-guide.md +79 -0
- package/assets/skills/socketio/SKILL.md +58 -0
- package/assets/skills/spec-bootstrap/SKILL.md +62 -0
- package/assets/skills/store-ship/SKILL.md +52 -0
- package/assets/skills/store-ship/assets/android-supply.template.md +22 -0
- package/assets/skills/store-ship/assets/eas.template.json +32 -0
- package/assets/skills/store-ship/assets/maestro-flow.template.yaml +27 -0
- package/assets/skills/store-ship/assets/store.config.template.json +28 -0
- package/assets/skills/store-ship/references/pipeline.md +198 -0
- package/assets/skills/stripe/SKILL.md +83 -0
- package/assets/skills/tailwind-4/SKILL.md +193 -0
- package/assets/skills/tamagui/SKILL.md +60 -0
- package/assets/skills/tanstack-query/SKILL.md +58 -0
- package/assets/skills/ticket-intake/SKILL.md +55 -0
- package/assets/skills/typescript/SKILL.md +134 -0
- package/assets/skills/verify-before-done/SKILL.md +111 -0
- package/assets/skills/webapp-rebuilder/SKILL.md +48 -0
- package/assets/skills/webapp-rebuilder/assets/charter-template.md +46 -0
- package/assets/skills/webapp-rebuilder/references/workflow.md +47 -0
- package/assets/skills/winston-logging/SKILL.md +61 -0
- package/assets/skills/work-unit-commits/SKILL.md +84 -0
- package/assets/skills/zod-4/SKILL.md +210 -0
- package/assets/skills/zustand-5/SKILL.md +216 -0
- package/bin/argos.js +6 -0
- package/dist/commands/adopt.d.ts +35 -0
- package/dist/commands/adopt.d.ts.map +1 -0
- package/dist/commands/adopt.js +347 -0
- package/dist/commands/adopt.js.map +1 -0
- package/dist/commands/doctor.d.ts +20 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +478 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts +32 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +358 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/remove.d.ts +62 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +487 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/workspace.d.ts +73 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +354 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/assets.d.ts +29 -0
- package/dist/lib/assets.d.ts.map +1 -0
- package/dist/lib/assets.js +57 -0
- package/dist/lib/assets.js.map +1 -0
- package/dist/lib/atomic-write.d.ts +17 -0
- package/dist/lib/atomic-write.d.ts.map +1 -0
- package/dist/lib/atomic-write.js +41 -0
- package/dist/lib/atomic-write.js.map +1 -0
- package/dist/lib/backup.d.ts +11 -0
- package/dist/lib/backup.d.ts.map +1 -0
- package/dist/lib/backup.js +42 -0
- package/dist/lib/backup.js.map +1 -0
- package/dist/lib/config.d.ts +36 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +52 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/detect.d.ts +58 -0
- package/dist/lib/detect.d.ts.map +1 -0
- package/dist/lib/detect.js +330 -0
- package/dist/lib/detect.js.map +1 -0
- package/dist/lib/ficha.d.ts +10 -0
- package/dist/lib/ficha.d.ts.map +1 -0
- package/dist/lib/ficha.js +38 -0
- package/dist/lib/ficha.js.map +1 -0
- package/dist/lib/git.d.ts +27 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +79 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/managed-files.d.ts +35 -0
- package/dist/lib/managed-files.d.ts.map +1 -0
- package/dist/lib/managed-files.js +97 -0
- package/dist/lib/managed-files.js.map +1 -0
- package/dist/lib/markers.d.ts +64 -0
- package/dist/lib/markers.d.ts.map +1 -0
- package/dist/lib/markers.js +157 -0
- package/dist/lib/markers.js.map +1 -0
- package/dist/lib/navori-import.d.ts +42 -0
- package/dist/lib/navori-import.d.ts.map +1 -0
- package/dist/lib/navori-import.js +65 -0
- package/dist/lib/navori-import.js.map +1 -0
- package/dist/lib/openclaw-agents.d.ts +53 -0
- package/dist/lib/openclaw-agents.d.ts.map +1 -0
- package/dist/lib/openclaw-agents.js +118 -0
- package/dist/lib/openclaw-agents.js.map +1 -0
- package/dist/lib/package-root.d.ts +11 -0
- package/dist/lib/package-root.d.ts.map +1 -0
- package/dist/lib/package-root.js +23 -0
- package/dist/lib/package-root.js.map +1 -0
- package/dist/lib/paths.d.ts +11 -0
- package/dist/lib/paths.d.ts.map +1 -0
- package/dist/lib/paths.js +16 -0
- package/dist/lib/paths.js.map +1 -0
- package/dist/lib/settings-merge.d.ts +125 -0
- package/dist/lib/settings-merge.d.ts.map +1 -0
- package/dist/lib/settings-merge.js +373 -0
- package/dist/lib/settings-merge.js.map +1 -0
- package/dist/lib/version.d.ts +3 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +13 -0
- package/dist/lib/version.js.map +1 -0
- package/dist/lib/which.d.ts +8 -0
- package/dist/lib/which.d.ts.map +1 -0
- package/dist/lib/which.js +30 -0
- package/dist/lib/which.js.map +1 -0
- package/dist/lib/workspaces.d.ts +133 -0
- package/dist/lib/workspaces.d.ts.map +1 -0
- package/dist/lib/workspaces.js +241 -0
- package/dist/lib/workspaces.js.map +1 -0
- package/dist/lib/zod-messages.d.ts +4 -0
- package/dist/lib/zod-messages.d.ts.map +1 -0
- package/dist/lib/zod-messages.js +28 -0
- package/dist/lib/zod-messages.js.map +1 -0
- 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
|