jira-task by Gentleman-Programming
>
Coding
1.0K Stars
173 Forks
Updated Jan 10, 2026, 08:06 PM
Why Use This
This skill provides specialized capabilities for Gentleman-Programming's codebase.
Use Cases
- Developing new features in the Gentleman-Programming repository
- Refactoring existing code to follow Gentleman-Programming standards
- Understanding and working with Gentleman-Programming's codebase structure
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Skill Stats
SKILL.md 389 Lines
Total Files 1
Total Size 0 B
License Apache-2.0
---
name: jira-task
description: >
Creates Jira tasks following Prowler's standard format.
Trigger: When user asks to create a Jira task, ticket, or issue.
license: Apache-2.0
metadata:
author: gentleman-programming
version: "1.0"
---
## When to Use
Use this skill when creating Jira tasks for:
- Bug reports
- Feature requests
- Refactoring tasks
- Documentation tasks
## Multi-Component Work: Split into Multiple Tasks
**IMPORTANT:** When work requires changes in multiple components (API, UI, SDK), create **separate tasks for each component** instead of one big task.
### Why Split?
- Different developers can work in parallel
- Easier to review and test
- Better tracking of progress
- API needs to be done before UI (dependency)
### Bug vs Feature: Different Structures
#### For BUGS: Create separate sibling tasks
Bugs are typically urgent fixes, so create independent tasks per component:
**Task 1 - API:**
- Title: `[BUG] Add aws_region field to AWS provider secrets (API)`
- Must be done first (UI depends on it)
**Task 2 - UI:**
- Title: `[BUG] Add region selector to AWS provider connection form (UI)`
- Blocked by API task
#### For FEATURES: Create parent + child tasks
Features need business context for stakeholders, so use a parent-child structure:
**Parent Task (for PM/Stakeholders):**
- Title: `[FEATURE] AWS GovCloud support`
- Contains: Feature overview, user story, acceptance criteria from USER perspective
- NO technical details
- Links to child tasks
**Child Task 1 - API:**
- Title: `[FEATURE] AWS GovCloud support (API)`
- Contains: Technical details, affected files, API-specific acceptance criteria
- Links to parent
**Child Task 2 - UI:**
- Title: `[FEATURE] AWS GovCloud support (UI)`
- Contains: Technical details, component paths, UI-specific acceptance criteria
- Links to parent, blocked by API task
### Parent Task Template (Features Only)
```markdown
## Description
{User-facing description of the feature - what problem does it solve?}
## User Story
As a {user type}, I want to {action} so that {benefit}.
## Acceptance Criteria (User Perspective)
- [ ] User can {do something}
- [ ] User sees {something}
- [ ] {Behavior from user's point of view}
## Out of Scope
- {What this feature does NOT include}
## Design
- Figma: {link if available}
- Screenshots/mockups if available
## Child Tasks
- [ ] `[FEATURE] {Feature name} (API)` - Backend implementation
- [ ] `[FEATURE] {Feature name} (UI)` - Frontend implementation
## Priority
{High/Medium/Low} ({business justification})
```
### Child Task Template (Features Only)
```markdown
## Description
Technical implementation of {feature name} for {component}.
## Parent Task
`[FEATURE] {Feature name}`
## Acceptance Criteria (Technical)
- [ ] {Technical requirement 1}
- [ ] {Technical requirement 2}
## Technical Notes
- Affected files:
- `{file path 1}`
- `{file path 2}`
- {Implementation hints}
## Testing
- [ ] {Test case 1}
- [ ] {Test case 2}
## Related Tasks
- Parent: `[FEATURE] {Feature name}`
- Blocked by: {if any}
- Blocks: {if any}
```
### Linking Tasks
In each task description, add:
```markdown
## Related Tasks
- Parent: [Parent task title/link] (for child tasks)
- Blocked by: [API task title/link]
- Blocks: [UI task title/link]
```
## Task Template
```markdown
## Description
{Brief explanation of the problem or feature request}
**Current State:**
- {What's happening now / What's broken}
- {Impact on users}
**Expected State:**
- {What should happen}
- {Desired behavior}
## Acceptance Criteria
- [ ] {Specific, testable requirement}
- [ ] {Another requirement}
- [ ] {Include both API and UI tasks if applicable}
## Technical Notes
- {Implementation hints}
- {Affected files with full paths}
- {Dependencies or related components}
## Testing
- [ ] {Test case 1}
- [ ] {Test case 2}
- [ ] {Include regression tests}
## Priority
{High/Medium/Low} ({justification})
```
## Title Conventions
Format: `[TYPE] Brief description (components)`
**Types:**
- `[BUG]` - Something broken that worked before
- `[FEATURE]` - New functionality
- `[ENHANCEMENT]` - Improvement to existing feature
- `[REFACTOR]` - Code restructure without behavior change
- `[DOCS]` - Documentation only
- `[CHORE]` - Maintenance, dependencies, CI/CD
**Components (when multiple affected):**
- `(API)` - Backend only
- `(UI)` - Frontend only
- `(SDK)` - Prowler SDK only
- `(API + UI)` - Both backend and frontend
- `(SDK + API)` - SDK and backend
- `(Full Stack)` - All components
**Examples:**
- `[BUG] AWS GovCloud accounts cannot connect - STS region hardcoded (API + UI)`
- `[FEATURE] Add dark mode toggle (UI)`
- `[REFACTOR] Migrate E2E tests to Page Object Model (UI)`
- `[ENHANCEMENT] Improve scan performance for large accounts (SDK)`
## Priority Guidelines
| Priority | Criteria |
|----------|----------|
| **Critical** | Production down, data loss, security vulnerability |
| **High** | Blocks users, no workaround, affects paid features |
| **Medium** | Has workaround, affects subset of users |
| **Low** | Nice to have, cosmetic, internal tooling |
## Affected Files Section
Always include full paths when known:
```markdown
## Technical Notes
- Affected files:
- `api/src/backend/api/v1/serializers.py`
- `ui/components/providers/workflow/forms/aws-credentials-form.tsx`
- `prowler/providers/aws/config.py`
```
## Component-Specific Sections
### API Tasks
Include:
- Serializer changes
- View/ViewSet changes
- Migration requirements
- API spec regeneration needs
### UI Tasks
Include:
- Component paths
- Form validation changes
- State management impact
- Responsive design considerations
### SDK Tasks
Include:
- Provider affected
- Service affected
- Check changes
- Config changes
## Checklist Before Submitting
1. ✅ Title follows `[TYPE] description (components)` format
2. ✅ Description has Current/Expected State
3. ✅ Acceptance Criteria are specific and testable
4. ✅ Technical Notes include file paths
5. ✅ Testing section covers happy path + edge cases
6. ✅ Priority has justification
7. ✅ **Multi-component work is split into separate tasks**
8. ✅ **Titles are recommended for all tasks**
## Output Format
### For BUGS (sibling tasks):
```markdown
## Recommended Tasks
### Task 1: [BUG] {Description} (API)
{Full task content}
---
### Task 2: [BUG] {Description} (UI)
{Full task content}
```
### For FEATURES (parent + children):
```markdown
## Recommended Tasks
### Parent Task: [FEATURE] {Feature name}
{User-facing content, no technical details}
---
### Child Task 1: [FEATURE] {Feature name} (API)
{Technical content for API team}
---
### Child Task 2: [FEATURE] {Feature name} (UI)
{Technical content for UI team}
```
## Formatting Rules
**CRITICAL:** All output MUST be in Markdown format, ready to paste into Jira.
- Use `##` for main sections (Description, Acceptance Criteria, etc.)
- Use `**bold**` for emphasis
- Use `- [ ]` for checkboxes
- Use ``` for code blocks with language hints
- Use `backticks` for file paths, commands, and code references
- Use tables where appropriate
- Use `---` to separate multiple tasks
## Jira MCP Integration
**CRITICAL:** When creating tasks via MCP, use these exact parameters:
### Required Fields
```json
{
"project_key": "PROWLER",
"summary": "[TYPE] Task title (component)",
"issue_type": "Task",
"additional_fields": {
"parent": "PROWLER-XXX",
"customfield_10359": {"value": "UI"}
}
}
```
### Team Field (REQUIRED)
The `customfield_10359` (Team) field is **REQUIRED**. Options:
- `"UI"` - Frontend tasks
- `"API"` - Backend tasks
- `"SDK"` - Prowler SDK tasks
### 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 issue, update the description with:
```json
{
"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}"
}
```
### Common Epics
| Epic | Key | Use For |
|------|-----|---------|
| UI - Bugs & Improvements | PROWLER-193 | UI bugs, enhancements |
| API - Bugs / Improvements | PROWLER-XXX | API bugs, enhancements |
| LightHouse AI | PROWLER-594 | AI features |
| Technical Debt - UI | PROWLER-502 | Refactoring |
### Workflow Transitions
```
Backlog (10037) → To Do (14) → In Progress (11) → Done (21)
→ Blocked (10)
```
### MCP Commands Sequence
1. **Create issue:**
```
mcp__mcp-atlassian__jira_create_issue
```
2. **Update Work Item Description:**
```
mcp__mcp-atlassian__jira_update_issue with customfield_10363
```
3. **Assign and transition:**
```
mcp__mcp-atlassian__jira_update_issue (assignee)
mcp__mcp-atlassian__jira_transition_issue (status)
```
## Keywords
jira, task, ticket, issue, bug, feature, prowler
Name Size