Skip to content
Development
Skill

/jira

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).

From plugin
sd0x-dev-flow
195102 skills16 agents5 hooks

Claude Code

$ npx -y skills add sd0xdev/sd0x-harness --skill jira --agent claude-code

SKILL.md

jira.SKILL.md
name: jira
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)."
allowed-tools: mcp__claude_ai_Atlassian__getAccessibleAtlassianResources, mcp__claude_ai_Atlassian__getJiraIssue, mcp__claude_ai_Atlassian__getTransitionsForJiraIssue, mcp__claude_ai_Atlassian__transitionJiraIssue, mcp__claude_ai_Atlassian__addCommentToJiraIssue, mcp__claude_ai_Atlassian__searchJiraIssuesUsingJql, mcp__claude_ai_Atlassian__createJiraIssue, mcp__claude_ai_Atlassian__getJiraProjectIssueTypesMetadata, Bash(git:*), AskUserQuestion

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 Format | Example | Extraction | |-------------|---------|------------| | Bare key | `OK-51513` | key=`OK-51513` | | Full URL | `https://foo.atlassian.net/browse/OK-51513` | key=`OK-51513`, host=`foo.atlassian.net` | | Software URL | `https://foo.atlassian.net/jira/software/.../OK-51513` | key=`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`

| Step | Action | |------|--------| | 1 | Parse input → issueKey (+ host if URL) | | 2 | Resolve cloudId | | 3 | `getJiraIssue(cloudId, issueKey)` | | 4 | Format output |

**Output format**:

## KEY: Summary

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

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

Subcommand: `branch`

| Step | Action | |------|--------| | 1 | Parse input → issueKey | | 2 | Resolve cloudId | | 3 | `getJiraIssue` → get summary + issuetype | | 4 | Map issue type → branch prefix (see `references/branch-policy.md`) | | 5 | Apply `--type` override if provided | | 6 | Generate slug from summary | | 7 | Assemble branch name: `${prefix}/${issueKey}-${slug}` | | 8 | Check collision (local + remote) | | 9 | Plan 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`

| Step | Action | |------|--------| | 1 | Parse input → issueKey + `--event` value | | 2 | Resolve cloudId | | 3 | `getJiraIssue` → current status | | 4 | `getTransitionsForJiraIssue` → available transitions | | 5 | Match event → target transition (see `references/transition-mapping.md`) | | 6 | Plan 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`

| Step | Action | |------|--------| | 1 | Extract project key from input (bare key like `OK`, or from issue key prefix) | | 2 | Resolve cloudId | | 3 | `getJiraProjectIssueTypesMetadata(cloudId, projectKey)` → list available types | | 4 | Validate issue type against available types (case-insensitive match) | | 5 | Format description as markdown (see `references/create-policy.md`) | | 6 | Plan 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`):

| Parameter | Source | |-----------|--------| | `cloudId` | Resolved via step 2 | | `projectKey` | From input | | `issueTypeName` | Validated against available types | | `summary` | From `--summary` or context | | `description` | Formatted markdown from `--description` or context | | `contentFormat` | Always `"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

| Failure | Mess

Read more
@sd0xdev
Ships withsd0x-dev-flow

Language: English | 繁體中文 | 简体中文 | 日本語 | 한국어 | Español The harness layer for Claude Code. Let the model choose the path. Keep "done" verifiable. Claude has discretion inside a closed, test-pinned anchor set.

195102 skills16 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
195
Star history of sd0xdev/sd0x-dev-flow on GitHub, a chart by star-history.com

Other skills on sd0x-dev-flow.

adr

adr

Write an Architecture Decision Record (ADR) for a feature — Context / Decision / Status / Consequences / Alternatives, filed as…

agentctl-setup

agentctl-setup

Install and set up the optional agentctl mod (task scope, refusal before execution, evidence that goes stale, model-free…

architecture

architecture

Architecture design and documentation. Produces 3-architecture.md with component diagrams, data flow, integration points, and…

ask

ask

Context-aware Q&A with auto context gathering. Use when: user has a quick question about codebase, git history, rules, docs, or…

best-practices

best-practices

Industry best practices conformance audit with mandatory adversarial debate. Produces audit artifact: verdict (OK/WARN/FAIL) +…

bug-fix

bug-fix

Bug fix workflow. Use when: fixing bugs, resolving issues, regression fixes. Not for: new features (use feature-dev),…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about jira.

Which coding agents can use jira?
jira installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.