Jira via Atlassian MCP — issue ops, JQL, branch naming, PR comment.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Dev-Toolbelt/dev-team-agents --skill jira --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Jira?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dev-toolbelt-jira)More formats (shields.io, HTML) on the badges page.
---
name: jira
description: Jira via Atlassian MCP — issue ops, JQL, branch naming, PR comment.
---
# Jira
## MCP Detection
Before any operation, verify the Atlassian MCP is available using this three-step check. **Do not show setup instructions until all three steps fail.**
1. **Check the CLI's MCP config** (`~/.claude.json` for Claude Code; `opencode.json` / Codex's MCP config otherwise) for an entry under `mcpServers` with key `atlassian` pointing to `mcp.atlassian.com`. If found, proceed to Step 2. If present but not loaded in this session, tell the user to restart their CLI.
2. **Run ToolSearch** with `query="atlassian", max_results=5`. If Atlassian tools appear, load the schema and proceed to Step 3.
3. **Verify connectivity** via `mcp__atlassian__atlassianUserInfo`. Success = fully operational. Auth error = guide re-authentication.
Only show setup instructions when all three steps fail. For setup details, load `references/mcp-setup.md`. For REST API fallback, load `references/rest-api.md`.
---
## Project Pattern Detection
After confirming the MCP, scan recent issues to detect team conventions:
```
mcp__atlassian__searchJiraIssuesUsingJql
jql: "project = PROJ ORDER BY created DESC"
fields: ["summary", "issuetype", "status", "labels", "components", "priority", "assignee", "reporter", "customfield_*"]
maxResults: 10
```
Detect: custom issue types, label patterns, non-standard workflow statuses, custom fields, assignee norms, linked issue patterns. Store in working memory — do not re-query per operation.
**Pre-operation assignment confirmation:** before any write operation (create, update, transition, comment, assign), ask once per session: *"Should I assign this task to you as well?"* Remember the answer — do not ask again.
---
## Operations
For full MCP tool call signatures, load `references/operations.md`. Summary:
| Goal | MCP tool |
|------|----------|
| Fetch issue | `mcp__atlassian__getJiraIssue` |
| Search (JQL) | `mcp__atlassian__searchJiraIssuesUsingJql` |
| Create issue | `mcp__atlassian__createJiraIssue` |
| Update issue | `mcp__atlassian__editJiraIssue` |
| Transition | `mcp__atlassian__transitionJiraIssue` (fetch transitions first) |
| Comment | `mcp__atlassian__addCommentToJiraIssue` |
| Log work | `mcp__atlassian__addWorklogToJiraIssue` |
| Link issues | `mcp__atlassian__createIssueLink` (fetch types first) |
---
## Branch / Worktree Naming
Pattern: `{type}/{taskId}_short-description`
- `{type}` — Conventional Commits type (feat, fix, docs, chore, refactor, perf, test, build, ci, revert)
- `{taskId}` — Jira key exactly as-is (e.g., `VHI-450`)
- `short-description` — lowercase, hyphen-separated, ≤5 words, imperative
Examples: `feat/VHI-450_add-user-authentication`, `fix/PROJ-123_prevent-double-charge`
After creating the branch, confirm the assignment preference and act accordingly. Do not change issue status unless explicitly asked.
---
## Workflow Pattern
**Start work on an issue:**
1. Fetch issue → determine branch `type` from summary + issue type
2. Propose branch name → on approval, create branch (or worktree)
3. Ask assignment question once
**Create a bug report:**
1. Create issue: type `Bug`, priority matching severity, description with steps + expected + actual
2. Link to PR/commit if available
**After a PR is created:** ask *"Should I add a comment on {issueKey}?"* If yes, post comment with PR link following the QA comment format in `references/operations.md`.
---
## Conventions
- Always read the issue before creating a branch
- Never hard-code `cloudId` — fetch via `getAccessibleAtlassianResources` on first use
- Prefer `searchJiraIssuesUsingJql` for bulk lookups
- **Never transition status automatically** — only when the user explicitly requests it; always call `getTransitionsForJiraIssue` first (IDs vary per project)
- Every comment must begin with `Created by: @{reporter.displayName}` — always fetch reporter before posting
- All comments must follow the QA comment format in `references/operations.md`
- Ask the assignment question once per session; do not ask again once answered
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!