jira
Install this skill
npx skills add softaworks/agent-toolkitWorks across Claude Code, Cursor, Codex, Copilot & Antigravity
The Jira agent skill enables autonomous interaction with Atlassian project management platforms. It identifies the optimal communication method by scanning for the Jira CLI binary or Atlassian MCP tools. Once connected, it facilitates bidirectional data flow, allowing agents to read, query, and modify issue statuses, comments, and project metadata. It enforces strict verification steps, such as fetching current state before performing transitions or performing account ID lookups before reassigning tasks, to prevent common API conflicts or workflow errors. By bridging the gap between natural language requests and specific Jira command structures, it provides a structured interface for developers and product managers to manage tickets directly within their terminal or coding environment without manual browser intervention.
When to Use This Skill
- β’Moving a ticket to 'In Progress' immediately after starting a coding task
- β’Searching for all assigned items across multiple projects before a standup
- β’Adding a technical summary comment to a bug report from a stack trace
- β’Creating follow-up tasks directly from a failed test run analysis
How to Invoke This Skill
Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:
- βlist all tickets assigned to me
- βcreate a jira ticket for the current bug
- βmove PROJ-123 to done
- βwhat is the status of the current sprint
- βadd a comment to PROJ-456 explaining the fix
Pro Tips
- π‘Configure your Jira CLI or Atlassian MCP tools beforehand for instant access to full functionality.
- π‘Combine this skill with a `git` skill to automatically link commits or branches to Jira issues.
- π‘Use issue key patterns like 'PROJ-123' directly in your prompts for specific issue actions.
What this skill does
- β’Execute issue status transitions based on project-specific workflows
- β’Perform Jira account ID lookups to ensure valid issue assignment
- β’Query issue details and sprint progress using JQL or CLI filters
- β’Automate ticket generation with descriptions and metadata
- β’Add comments to existing issues or update existing field content
When not to use it
- βWhen modifying complex board configurations or project admin settings
- βWhen performing bulk re-assignments across thousands of tickets
- βIn environments where project-level required fields are unknown
Example workflow
- Agent identifies the requested issue key from the user prompt
- Agent runs a read-only query to fetch the current status and assignee
- Agent verifies if the desired transition is valid for the current state
- Agent drafts the proposed change and requests user confirmation
- Agent executes the CLI command or MCP tool call
- Agent confirms the update success and notifies the user
Prerequisites
- βInstalled jira-cli or configured Atlassian MCP tools
- βActive Jira site credentials with sufficient project permissions
Pitfalls & limitations
- !Failing to look up account IDs leads to silent assignment failures
- !Assuming standard workflow statuses like 'Done' exist when project schemas vary
- !Directly editing descriptions without showing the user the original content
- !Triggering notification storms by bulk-updating multiple tickets simultaneously
FAQ
How it compares
Unlike manual browser interaction, this skill ensures transactional integrity by forcing state verification before writes, reducing the risk of accidental workflow violations.
π Full skill instructions β original source: softaworks/agent-toolkit
Natural language interaction with Jira. Supports multiple backends.
## Backend Detection
**Run this check first** to determine which backend to use:
1. Check if jira CLI is available:
β Run: which jira
β If found: USE CLI BACKEND
2. If no CLI, check for Atlassian MCP:
β Look for mcp__atlassian__* tools
β If available: USE MCP BACKEND
3. If neither available:
β GUIDE USER TO SETUP| Backend | When to Use | Reference |
|---------|-------------|-----------|
| **CLI** |
jira command available | references/commands.md || **MCP** | Atlassian MCP tools available |
references/mcp.md || **None** | Neither available | Guide to install CLI |
---
## Quick Reference (CLI)
> Skip this section if using MCP backend.
| Intent | Command |
|--------|---------|
| View issue |
jira issue view ISSUE-KEY || List my issues |
jira issue list -a$(jira me) || My in-progress |
jira issue list -a$(jira me) -s"In Progress" || Create issue |
jira issue create -tType -s"Summary" -b"Description" || Move/transition |
jira issue move ISSUE-KEY "State" || Assign to me |
jira issue assign ISSUE-KEY $(jira me) || Unassign |
jira issue assign ISSUE-KEY x || Add comment |
jira issue comment add ISSUE-KEY -b"Comment text" || Open in browser |
jira open ISSUE-KEY || Current sprint |
jira sprint list --state active || Who am I |
jira me |---
## Quick Reference (MCP)
> Skip this section if using CLI backend.
| Intent | MCP Tool |
|--------|----------|
| Search issues |
mcp__atlassian__searchJiraIssuesUsingJql || View issue |
mcp__atlassian__getJiraIssue || Create issue |
mcp__atlassian__createJiraIssue || Update issue |
mcp__atlassian__editJiraIssue || Get transitions |
mcp__atlassian__getTransitionsForJiraIssue || Transition |
mcp__atlassian__transitionJiraIssue || Add comment |
mcp__atlassian__addCommentToJiraIssue || User lookup |
mcp__atlassian__lookupJiraAccountId || List projects |
mcp__atlassian__getVisibleJiraProjects |See
references/mcp.md for full MCP patterns.---
## Triggers
- "create a jira ticket"
- "show me PROJ-123"
- "list my tickets"
- "move ticket to done"
- "what's in the current sprint"
---
## Issue Key Detection
Issue keys follow the pattern:
[A-Z]+-[0-9]+ (e.g., PROJ-123, ABC-1).When a user mentions an issue key in conversation:
- **CLI:**
jira issue view KEY or jira open KEY- **MCP:**
mcp__atlassian__jira_get_issue with the key---
## Workflow
**Creating tickets:**
1. Research context if user references code/tickets/PRs
2. Draft ticket content
3. Review with user
4. Create using appropriate backend
**Updating tickets:**
1. Fetch issue details first
2. Check status (careful with in-progress tickets)
3. Show current vs proposed changes
4. Get approval before updating
5. Add comment explaining changes
---
## Before Any Operation
Ask yourself:
1. **What's the current state?** β Always fetch the issue first. Don't assume status, assignee, or fields are what user thinks they are.
2. **Who else is affected?** β Check watchers, linked issues, parent epics. A "simple edit" might notify 10 people.
3. **Is this reversible?** β Transitions may have one-way gates. Some workflows require intermediate states. Description edits have no undo.
4. **Do I have the right identifiers?** β Issue keys, transition IDs, account IDs. Display names don't work for assignment (MCP).
---
## NEVER
- **NEVER transition without fetching current status** β Workflows may require intermediate states. "To Do" β "Done" might fail silently if "In Progress" is required first.
- **NEVER assign using display name (MCP)** β Only account IDs work. Always call
lookupJiraAccountId first, or assignment silently fails.- **NEVER edit description without showing original** β Jira has no undo. User must see what they're replacing.
- **NEVER use
--no-input without all required fields (CLI)** β Fails silently with cryptic errors. Check project's required fields first.- **NEVER assume transition names are universal** β "Done", "Closed", "Complete" vary by project. Always get available transitions first.
- **NEVER bulk-modify without explicit approval** β Each ticket change notifies watchers. 10 edits = 10 notification storms.
---
## Safety
- Always show the command/tool call before running it
- Always get approval before modifying tickets
- Preserve original information when editing
- Verify updates after applying
- Always surface authentication issues clearly so the user can resolve them
---
## No Backend Available
If neither CLI nor MCP is available, guide the user:
To use Jira, you need one of:
1. **jira CLI** (recommended):
https://github.com/ankitpokhrel/jira-cli
Install: brew install ankitpokhrel/jira-cli/jira-cli
Setup: jira init
2. **Atlassian MCP**:
Configure in your MCP settings with Atlassian credentials.---
## Deep Dive
**LOAD reference when:**
- Creating issues with complex fields or multi-line content
- Building JQL queries beyond simple filters
- Troubleshooting errors or authentication issues
- Working with transitions, linking, or sprints
**Do NOT load reference for:**
- Simple view/list operations (Quick Reference above is sufficient)
- Basic status checks (
jira issue view KEY)- Opening issues in browser
| Task | Load Reference? |
|------|-----------------|
| View single issue | No |
| List my tickets | No |
| Create with description | **Yes** β CLI needs
/tmp pattern || Transition issue | **Yes** β need transition ID workflow |
| JQL search | **Yes** β for complex queries |
| Link issues | **Yes** β MCP limitation, need script |
References:
- CLI patterns:
references/commands.md- MCP patterns:
references/mcp.mdHow to Use This Skill Unit
Option A: Project-Specific (Recommended)
- Click "Download" above
- In your project, create the directory:
.agent/skills/jira/ - Save the file as
SKILL.md - The agent will automatically discover the skill based on its description.
Option B: Global Installation (All Agents)
Save the file to these locations to make it available across all projects:
- Claude Code:
~/.claude/skills/softaworks/agent-toolkit/jira/SKILL.md - Cursor:
~/.cursor/skills/softaworks/agent-toolkit/jira/SKILL.md - Antigravity:
~/.gemini/antigravity/skills/softaworks/agent-toolkit/jira/SKILL.md
π Install with CLI:npx skills add softaworks/agent-toolkit
