Automatically convert Confluence specification documents into structured Jira backlogs with Epics and implementation tickets. When an agent 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.
Transform 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