Install
1
Install the plugin
$
npx claudepluginhub sd0xdev/sd0x-dev-flow --plugin sd0x-dev-flow

Want just this skill?

Add to a custom plugin, then install with one command.

Description

Jira integration — view issues, generate branches, create tickets, transition status. Use when: user mentions Jira ticket key (XX-123), says /jira, wants to create branch from ticket, create a new ticket, or update Jira status. Not for: GitHub issues (use issue-analyze).

Tool Access

This skill is limited to using the following tools:

mcp__claude_ai_Atlassian__getAccessibleAtlassianResourcesmcp__claude_ai_Atlassian__getJiraIssuemcp__claude_ai_Atlassian__getTransitionsForJiraIssuemcp__claude_ai_Atlassian__transitionJiraIssuemcp__claude_ai_Atlassian__addCommentToJiraIssuemcp__claude_ai_Atlassian__searchJiraIssuesUsingJqlmcp__claude_ai_Atlassian__createJiraIssuemcp__claude_ai_Atlassian__getJiraProjectIssueTypesMetadataBash(git:*)AskUserQuestion
Supporting Assets
View in Repository
references/branch-policy.md
references/create-policy.md
references/transition-mapping.md
Skill Content

Jira Skill

View Jira issues, generate branch names from tickets, transition issue status — all via Atlassian MCP.

Trigger

  • Keywords: jira, ticket, issue key ([A-Z][A-Z0-9]+-\d+), branch from ticket, transition status, start work, pr opened, pr merged
  • User says /jira

When NOT to Use

  • GitHub Issues → use /issue-analyze
  • Searching Jira issues → v1.1 (deferred)
  • Generic project management

Input Parsing

Extract issueKey and optional host from user input:

Input FormatExampleExtraction
Bare keyOK-51513key=OK-51513
Full URLhttps://foo.atlassian.net/browse/OK-51513key=OK-51513, host=foo.atlassian.net
Software URLhttps://foo.atlassian.net/jira/software/.../OK-51513key=OK-51513, host=foo.atlassian.net
Branch context(auto from git branch --show-current)key via {TICKET_PATTERN} regex

Regex:

  • Issue key: ([A-Z][A-Z0-9]+-\d+)
  • Host: https?://([^/]+\.atlassian\.net)

CloudId Resolution

1. Call getAccessibleAtlassianResources()
2. 0 results → error: "Atlassian MCP not configured or unauthorized"
3. 1 result  → use its cloudId automatically
4. N results →
     Host provided and matches?    → use matching cloudId
     Host provided but no match?   → warn: "Host '<host>' not found. Available: ..." → AskUserQuestion to select or abort
     No host?                      → AskUserQuestion to choose instance

Do NOT persist cloudId. Resolve at runtime each time; Claude context naturally caches within a session.

Subcommand: view

StepAction
1Parse input → issueKey (+ host if URL)
2Resolve cloudId
3getJiraIssue(cloudId, issueKey)
4Format output

Output format:

## KEY: Summary

| Field | Value |
|-------|-------|
| Status | ... |
| Assignee | ... |
| Priority | ... |
| Type | ... |
| Created | ... |

### Description
(first 500 chars, truncated if longer)

Subcommand: branch

StepAction
1Parse input → issueKey
2Resolve cloudId
3getJiraIssue → get summary + issuetype
4Map issue type → branch prefix (see references/branch-policy.md)
5Apply --type override if provided
6Generate slug from summary
7Assemble branch name: ${prefix}/${issueKey}-${slug}
8Check collision (local + remote)
9Plan mode: output branch name + command. Execute mode: run git checkout -b

See references/branch-policy.md for full mapping table, slug algorithm, and collision detection.

Plan output (default):

Branch: feat/OK-51513-add-user-profile-page
From: OK-51513 "Add user profile page" (Story)

To create: git checkout -b feat/OK-51513-add-user-profile-page

Execute mode (--execute): run git checkout -b <branch> directly.

Subcommand: transition

StepAction
1Parse input → issueKey + --event value
2Resolve cloudId
3getJiraIssue → current status
4getTransitionsForJiraIssue → available transitions
5Match event → target transition (see references/transition-mapping.md)
6Plan mode: show plan. Execute mode: AskUserQuestion → transitionJiraIssue

See references/transition-mapping.md for event vocabulary, regex patterns, and resolution algorithm.

Plan output (default):

## Transition Plan

- Issue: OK-51513 "Add user profile page"
- Current: To Do
- Event: start_work
- Target: In Progress (transition id: 21)

Execute? /jira transition OK-51513 --event start_work --execute

Subcommand: create

StepAction
1Extract project key from input (bare key like OK, or from issue key prefix)
2Resolve cloudId
3getJiraProjectIssueTypesMetadata(cloudId, projectKey) → list available types
4Validate issue type against available types (case-insensitive match)
5Format description as markdown (see references/create-policy.md)
6Plan mode: display creation plan. Execute mode: AskUserQuestion → createJiraIssue

Input sources (both supported):

  • --summary and --description flags: explicit values
  • Context inference: extract summary and description from user's prompt (structured content like Background, Items, etc.)

MCP call (createJiraIssue):

ParameterSource
cloudIdResolved via step 2
projectKeyFrom input
issueTypeNameValidated against available types
summaryFrom --summary or context
descriptionFormatted markdown from --description or context
contentFormatAlways "markdown"

Plan output (default):

## Create Issue Plan

- Project: OK
- Type: Task
- Summary: P1 Hardening — Quote state machine + Recovery Worker
- Description: (preview first 200 chars...)

Execute? /jira create OK --summary "..." --type Task --execute

Execute output:

✅ Created: OK-51514
https://yourorg.atlassian.net/browse/OK-51514

See references/create-policy.md for description format guidelines, project key extraction, and issue type validation.

Graceful Degradation

FailureMessage
MCP tools not available"Atlassian MCP not connected. Enable Atlassian integration in claude.ai settings."
OAuth expired"Atlassian authorization expired. Please re-authorize."
Issue not found"Issue <KEY> not found. Verify the key and your access permissions."
Transition not available"Cannot execute <event> from current status <status>. Available transitions: ..."
Network error"Atlassian API unreachable. Please retry later."
Project not found"Project '<KEY>' not accessible. Check key and permissions."
Issue type not available"Type '<type>' not in project '<KEY>'. Available: [list from metadata]"

Examples

/jira view OK-51513
→ Displays issue details (summary, status, assignee, priority, type, description)

/jira branch OK-51513
→ Plan: feat/OK-51513-add-user-profile-page

/jira branch OK-51513 --type fix --execute
→ Executes: git checkout -b fix/OK-51513-add-user-profile-page

/jira transition OK-51513 --event start_work
→ Plan: To Do → In Progress

/jira transition OK-51513 --event pr_merged --execute --comment "Merged via PR #42"
→ Executes transition + adds comment

/jira create OK --summary "Fix login timeout" --type Bug
→ Plan: Create Bug in OK

/jira create OK --summary "Add user dashboard" --type Story --description "## Background\nDashboard needed for..." --execute
→ ✅ Created: OK-51515
Stats
Stars90
Forks12
Last CommitMar 19, 2026
Actions

Similar Skills