Automatically convert Confluence specification documents into structured Jira backlogs with Epics and implementation tickets. When Claude needs to: (1) Create Jira tickets from a Confluence page, (2) Generate a backlog from a specification, (3) Break down a spec into implementation tasks, or (4) Convert requirements into Jira issues. Handles reading Confluence pages, analyzing specifications, creating Epics with proper structure, and generating detailed implementation tickets linked to the Epic.
/plugin marketplace add atlassian/atlassian-mcp-server/plugin install learning-output-style@claude-plugins-officialThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/breakdown-examples.mdreferences/epic-templates.mdreferences/ticket-writing-guide.mdTransform Confluence specification documents into structured Jira backlogs automatically. This skill reads requirement documents from Confluence, intelligently breaks them down into logical implementation tasks, creates an Epic first to organize the work, then generates individual Jira tickets linked to that Epic—eliminating tedious manual copy-pasting.
CRITICAL: Always follow this exact sequence:
Why Epic must be created first: Child tickets need the Epic key to link properly during creation. Creating tickets first will result in orphaned tickets.
When triggered, obtain the Confluence page content:
Extract the cloud ID and page ID from the URL pattern:
https://[site].atlassian.net/wiki/spaces/[SPACE]/pages/[PAGE_ID]/[title][site].atlassian.net or by calling getAccessibleAtlassianResourcesUse the search tool to find the page:
search(
cloudId="...",
query="type=page AND title~'[search terms]'"
)
If multiple pages match, ask the user to clarify which one to use.
Call getConfluencePage with the cloudId and pageId:
getConfluencePage(
cloudId="...",
pageId="123456",
contentFormat="markdown"
)
This returns the page content in Markdown format, which you'll analyze in Step 3.
Before analyzing the spec, determine the target Jira project:
"Which Jira project should I create these tickets in? Please provide the project key (e.g., PROJ, ENG, PRODUCT)."
Call getVisibleJiraProjects to show available projects:
getVisibleJiraProjects(
cloudId="...",
action="create"
)
Present the list: "I found these projects you can create issues in: PROJ (Project Alpha), ENG (Engineering), PRODUCT (Product Team)."
Call getJiraProjectIssueTypesMetadata to understand what issue types are available:
getJiraProjectIssueTypesMetadata(
cloudId="...",
projectIdOrKey="PROJ"
)
Identify available issue types:
Select appropriate issue types for child tickets:
The skill should intelligently choose issue types based on the specification content:
Use "Bug" when the spec describes:
Use "Story" when the spec describes:
Use "Task" when the spec describes:
Fallback logic:
Store the selected issue types for use in Step 6:
Read the Confluence page content and internally decompose it into:
What is the overall objective or feature being implemented? This becomes your Epic.
Example Epic summaries:
Break the work into logical, independently implementable tasks.
Breakdown principles:
Consider these dimensions:
Common task patterns:
Use action verbs:
Before creating anything, show the user your planned breakdown:
Format:
I've analyzed the spec and here's the backlog I'll create:
**Epic:** [Epic Summary]
[Brief description of epic scope]
**Implementation Tickets (7):**
1. [Story] [Task 1 Summary]
2. [Task] [Task 2 Summary]
3. [Story] [Task 3 Summary]
4. [Bug] [Task 4 Summary]
5. [Task] [Task 5 Summary]
6. [Story] [Task 6 Summary]
7. [Task] [Task 7 Summary]
Shall I create these tickets in [PROJECT KEY]?
The issue type labels show what type each ticket will be created as:
Wait for user confirmation before proceeding. This allows them to:
If user requests changes, adjust the breakdown and re-present.
CRITICAL: The Epic must be created before any child tickets.
Call createJiraIssue with:
createJiraIssue(
cloudId="...",
projectKey="PROJ",
issueTypeName="Epic",
summary="[Epic Summary from Step 3]",
description="[Epic Description - see below]"
)
## Overview
[1-2 sentence summary of what this epic delivers]
## Source
Confluence Spec: [Link to Confluence page]
## Objectives
- [Key objective 1]
- [Key objective 2]
- [Key objective 3]
## Scope
[Brief description of what's included and what's not]
## Success Criteria
- [Measurable criterion 1]
- [Measurable criterion 2]
- [Measurable criterion 3]
## Technical Notes
[Any important technical context from the spec]
The response will include the Epic's key (e.g., "PROJ-123"). Save this key—you'll need it for every child ticket.
Example response:
{
"key": "PROJ-123",
"id": "10001",
"self": "https://yoursite.atlassian.net/rest/api/3/issue/10001"
}
Confirm Epic creation to user: "✅ Created Epic: PROJ-123 - User Authentication System"
Now create each implementation task as a child ticket linked to the Epic.
Determine the appropriate issue type for this specific task:
Call createJiraIssue with:
createJiraIssue(
cloudId="...",
projectKey="PROJ",
issueTypeName="[Story/Task/Bug based on task content]",
summary="[Task Summary]",
description="[Task Description - see below]",
parent="PROJ-123" # The Epic key from Step 5
)
Example issue type selection:
Use action verbs and be specific:
## Context
[Brief context for this task from the Confluence spec]
## Requirements
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
## Technical Details
[Specific technical information relevant to this task]
- Technologies: [e.g., Node.js, React, PostgreSQL]
- Components: [e.g., API routes, database tables, UI components]
- Dependencies: [e.g., requires PROJ-124 to be completed first]
## Acceptance Criteria
- [ ] [Testable criterion 1]
- [ ] [Testable criterion 2]
- [ ] [Testable criterion 3]
## Related
- Confluence Spec: [Link to relevant section if possible]
- Epic: PROJ-123
Make them testable and specific:
Track each created ticket key for the summary.
After all tickets are created, present a comprehensive summary:
✅ Backlog created successfully!
**Epic:** PROJ-123 - User Authentication System
https://yoursite.atlassian.net/browse/PROJ-123
**Implementation Tickets (7):**
1. PROJ-124 - Design authentication database schema
https://yoursite.atlassian.net/browse/PROJ-124
2. PROJ-125 - Implement user registration API endpoint
https://yoursite.atlassian.net/browse/PROJ-125
3. PROJ-126 - Implement user login API endpoint
https://yoursite.atlassian.net/browse/PROJ-126
4. PROJ-127 - Build login form UI components
https://yoursite.atlassian.net/browse/PROJ-127
5. PROJ-128 - Build registration form UI components
https://yoursite.atlassian.net/browse/PROJ-128
6. PROJ-129 - Add authentication integration to existing features
https://yoursite.atlassian.net/browse/PROJ-129
7. PROJ-130 - Write authentication tests and documentation
https://yoursite.atlassian.net/browse/PROJ-130
**Source:** https://yoursite.atlassian.net/wiki/spaces/SPECS/pages/123456
**Next Steps:**
- Review tickets in Jira for accuracy and completeness
- Assign tickets to team members
- Estimate story points if your team uses them
- Add any additional labels or custom field values
- Schedule work for the upcoming sprint
If user references multiple Confluence pages:
If user wants to add tickets to an existing Epic:
If ticket creation fails due to required fields:
Use getJiraIssueTypeMetaWithFields to identify what fields are required:
getJiraIssueTypeMetaWithFields(
cloudId="...",
projectIdOrKey="PROJ",
issueTypeId="10001"
)
Ask user for values: "This project requires a 'Priority' field. What priority should I use? (e.g., High, Medium, Low)"
Include in additional_fields when creating:
additional_fields={
"priority": {"name": "High"}
}
For specs that would generate 15+ tickets:
Some projects use "Subtask" issue types:
If the Confluence page lacks detail:
If createJiraIssue fails:
getJiraProjectIssueTypesMetadata to verify issue type availabilityEpic: Product Search and Filtering
Tickets:
Epic: Resolve Dashboard Load Time Issues
Tickets:
Epic: Automated Deployment Pipeline
Tickets:
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.