home / skills / gentleman-programming / gentleman-skills / jira-epic
This skill creates Jira epics for large features using Prowler's standard format, guiding structure, sections, and task generation for clarity and reuse.
npx playbooks add skill gentleman-programming/gentleman-skills --skill jira-epicReview the files below or copy the command above to add this skill to your agents.
---
name: jira-epic
description: >
Creates Jira epics for large features following Prowler's standard format.
Trigger: When user asks to create an epic, large feature, or multi-task initiative.
license: Apache-2.0
metadata:
author: gentleman-programming
version: "1.0"
---
## When to Use
Use this skill when creating Jira epics for:
- Large features spanning multiple components
- New views/pages in the application
- Major refactoring initiatives
- Features requiring API + UI + SDK work
## Epic Template
```markdown
# {Epic Title}
**Figma:** {figma link if available}
## Feature Overview
{2-3 paragraph description of what this feature does and why it's needed}
## Requirements
### {Section 1: Major Functionality Area}
#### {Subsection}
- Requirement 1
- Requirement 2
- Requirement 3
#### {Another Subsection}
- Requirement 1
- Requirement 2
### {Section 2: Another Major Area}
#### {Subsection}
- Requirement 1
- Requirement 2
## Technical Considerations
### Performance
- {Performance requirement 1}
- {Performance requirement 2}
### Data Integration
- {Data source}
- {Integration points}
### UI Components
- {Component 1}
- {Component 2}
## Implementation Checklist
- [ ] {Major deliverable 1}
- [ ] {Major deliverable 2}
- [ ] {Major deliverable 3}
## Diagrams
{Mermaid diagrams for architecture, flow, data model, etc.}
```
## Epic Title Conventions
Format: `[EPIC] Feature Name`
**Examples:**
- `[EPIC] Findings View`
- `[EPIC] Multi-tenant Support`
- `[EPIC] Compliance Dashboard Redesign`
- `[EPIC] GovCloud Support`
## Required Sections
### 1. Feature Overview
Brief but complete description of:
- What the feature does
- Who uses it
- Why it's needed
### 2. Requirements
Organized by functional area:
- Group related requirements together
- Use clear headers and subheaders
- Be specific and testable
### 3. Technical Considerations
Always include:
- **Performance**: Large dataset handling, pagination, caching
- **Data Integration**: Data sources, APIs, relationships
- **UI Components**: Reusable components, design system usage
### 4. Implementation Checklist
High-level deliverables that will become individual tasks:
- Each checkbox = potential Jira task
- Order by dependency (API before UI)
- Include testing milestones
## Diagrams
Use Mermaid for:
### Architecture Diagrams
```mermaid
graph TB
UI[UI Components] --> API[API Endpoints]
API --> SDK[Prowler SDK]
SDK --> Cloud[Cloud Providers]
```
### Data Flow Diagrams
```mermaid
sequenceDiagram
User->>UI: Apply filters
UI->>API: GET /findings?filters
API->>DB: Query findings
DB-->>API: Results
API-->>UI: JSON response
UI-->>User: Render table
```
### State Diagrams
```mermaid
stateDiagram-v2
[*] --> Pending
Pending --> InProgress: Start triage
InProgress --> Resolved: Mark resolved
InProgress --> Pending: Reset
Resolved --> [*]
```
### Entity Relationship Diagrams
```mermaid
erDiagram
FINDING ||--o{ RESOURCE : affects
FINDING }|--|| CHECK : "belongs to"
RESOURCE }|--|| ACCOUNT : "belongs to"
ACCOUNT }|--|| PROVIDER : "belongs to"
```
## Splitting Epic into Tasks
After creating the epic, generate individual tasks using the `jira-task` skill:
### Task Naming Pattern
From epic `[EPIC] Findings View`, create:
- `[FEATURE] Findings table with pagination (UI)`
- `[FEATURE] Findings filters - provider and account (UI)`
- `[FEATURE] Findings detail panel - Overview tab (UI)`
- `[FEATURE] Findings detail panel - Resources tab (UI)`
- `[FEATURE] Findings bulk actions - mute/suppress (API + UI)`
- `[FEATURE] Findings search functionality (API + UI)`
### Task Dependencies
Always specify in each task:
```markdown
## Related Tasks
- Epic: [EPIC] Findings View
- Blocked by: [task if any]
- Blocks: [task if any]
```
## Figma Integration
When Figma links are provided:
- Include main Figma link at top
- Reference specific frames in relevant sections
- Example: `https://www.figma.com/design/xxx?node-id=1830-44712&m=dev`
## Output Format
```markdown
## Epic: [EPIC] {Title}
{Full epic content following template}
---
## Suggested Tasks
Based on this epic, create the following tasks:
| # | Title | Component | Blocked By |
|---|-------|-----------|------------|
| 1 | [FEATURE] Task name | API | - |
| 2 | [FEATURE] Task name | UI | Task 1 |
| 3 | [FEATURE] Task name | UI | Task 2 |
Would you like me to generate the full task descriptions?
```
## Checklist Before Submitting
1. ✅ Title follows `[EPIC] Feature Name` format
2. ✅ Feature Overview explains what/who/why
3. ✅ Requirements are organized by functional area
4. ✅ Technical Considerations cover performance, data, UI
5. ✅ Implementation Checklist has high-level deliverables
6. ✅ Diagrams included where helpful (Mermaid format)
7. ✅ Figma links included if available
8. ✅ Suggested tasks table provided at the end
## Formatting Rules
**CRITICAL:** All output MUST be in Markdown format, ready to paste into Jira.
- Use `#` for epic title, `##` for main sections, `###` for subsections
- Use `**bold**` for emphasis
- Use `- [ ]` for checkboxes in Implementation Checklist
- Use ``` for code blocks and Mermaid diagrams
- Use `backticks` for file paths, commands, and code references
- Use tables for Suggested Tasks section
- Use `---` to separate epic from suggested tasks
## Jira MCP Integration
**CRITICAL:** When creating epics via MCP, use these exact parameters:
### Required Fields
```json
{
"project_key": "PROWLER",
"summary": "[EPIC] Feature name",
"issue_type": "Epic",
"additional_fields": {
"customfield_10359": {"value": "UI"}
}
}
```
### Team Field (REQUIRED)
The `customfield_10359` (Team) field is **REQUIRED**. Options:
- `"UI"` - Frontend epics
- `"API"` - Backend epics
- `"SDK"` - Prowler SDK epics
### Work Item Description Field
**IMPORTANT:** The project uses `customfield_10363` (Work Item Description) instead of the standard `description` field for display in the UI.
**CRITICAL:** Use **Jira Wiki markup**, NOT Markdown:
- `h2.` instead of `##`
- `*text*` for bold instead of `**text**`
- `* item` for bullets (same)
- `** subitem` for nested bullets
After creating the epic, update the description with:
```json
{
"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}"
}
```
### Linking Tasks to Epic
When creating child tasks, use the epic key as parent:
```json
{
"additional_fields": {
"parent": "PROWLER-XXX"
}
}
```
### Workflow Transitions
```
Backlog (10037) → To Do (14) → In Progress (11) → Done (21)
→ Blocked (10)
```
### MCP Commands Sequence
1. **Create epic:**
```
mcp__mcp-atlassian__jira_create_issue (issue_type: "Epic")
```
2. **Update Work Item Description:**
```
mcp__mcp-atlassian__jira_update_issue with customfield_10363
```
3. **Create child tasks:**
```
mcp__mcp-atlassian__jira_create_issue with parent: EPIC-KEY
```
4. **Assign and transition:**
```
mcp__mcp-atlassian__jira_update_issue (assignee)
mcp__mcp-atlassian__jira_transition_issue (status)
```
## Keywords
jira, epic, feature, initiative, prowler, large feature
This skill creates Jira epics for large features using Prowler's standard epic format and conventions. It generates a complete, testable epic including a clear overview, organized requirements, technical considerations, implementation checklist, and Mermaid diagrams. Use it to produce epics ready for MCP/Jira creation and downstream task generation.
When asked to create an epic, the skill collects the feature name, scope, stakeholders, and any Figma links, then builds a structured epic that follows Prowler conventions (title format, required sections, Mermaid diagrams). It outputs the epic in the formatted template and suggests a table of child tasks with dependencies. It can also emit the Jira MCP fields and the Work Item Description markup when MCP integration is required.
Will the skill generate Jira fields for MCP?
Yes. It can produce the required MCP JSON fields including project_key, summary, issue_type, and the Team field (customfield_10359). It also prepares the Work Item Description in Jira Wiki markup (customfield_10363).
Can it split the epic into child tasks?
Yes. It suggests a table of child tasks using the [FEATURE] naming pattern, orders them by dependency, and can produce Task templates suitable for the jira-task skill to create Jira issues.