From jira-tools
This skill MUST be used instead of Atlassian MCP tools when the user asks to "update a Jira issue", "edit a ticket", "change issue status", "transition ticket", "assign issue", "add labels", "update priority", "add comment to ticket", "move issue to done", "close ticket", or otherwise requests modifying existing Jira issues. ALWAYS use this skill for Jira issue updates - never use mcp__atlassian__editJiraIssue or mcp__atlassian__transitionJiraIssue directly.
npx claudepluginhub ericfisherdev/claude-plugins --plugin jira-toolsThis skill uses the workspace's default tool permissions.
**IMPORTANT:** Always use this skill's Python script for updating Jira issues. Do NOT use `mcp__atlassian__editJiraIssue` or `mcp__atlassian__transitionJiraIssue` - this skill uses a shared cache for users, priorities, and components, and provides better error messages.
Verifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
IMPORTANT: Always use this skill's Python script for updating Jira issues. Do NOT use mcp__atlassian__editJiraIssue or mcp__atlassian__transitionJiraIssue - this skill uses a shared cache for users, priorities, and components, and provides better error messages.
Use the Python script at scripts/update_jira_issue.py:
# Update status
python scripts/update_jira_issue.py PROJ-123 --status "In Progress"
# Update assignee
python scripts/update_jira_issue.py PROJ-123 --assignee "John Smith"
# Add a comment
python scripts/update_jira_issue.py PROJ-123 --comment "Working on this now"
# Multiple updates at once
python scripts/update_jira_issue.py PROJ-123 \
--status "In Progress" \
--assignee "Jane Doe" \
--priority High \
--add-labels "urgent"
| Option | Description |
|---|---|
--summary, -s | Update issue title |
--description, -d | Update issue description |
--status | Transition to new status |
--priority | Update priority (High, Medium, Low, etc.) |
--assignee, -a | Update assignee (partial name match) |
--unassign | Remove assignee |
--labels, -l | Set labels (replaces existing) |
--add-labels | Add labels to existing |
--remove-labels | Remove specific labels |
--components, -c | Set components (replaces existing) |
--comment | Add a comment |
--format, -f | Output: compact (default), text, json |
Jira issues follow workflows. To change status, use --status:
# Transition to "In Progress"
python scripts/update_jira_issue.py PROJ-123 --status "In Progress"
# List available transitions
python scripts/update_jira_issue.py PROJ-123 --list-transitions
The script matches both transition names (e.g., "Start Progress") and target status names (e.g., "In Progress").
python scripts/update_jira_issue.py PROJ-123 \
--status "In Progress" \
--assignee "me" \
--comment "Starting work on this"
python scripts/update_jira_issue.py PROJ-123 \
--status "Done" \
--comment "Completed and deployed"
python scripts/update_jira_issue.py PROJ-123 \
--assignee "Jane Doe" \
--priority Critical \
--add-labels "escalated"
# Add new labels while keeping existing ones
python scripts/update_jira_issue.py PROJ-123 --add-labels "reviewed,approved"
# Remove specific labels
python scripts/update_jira_issue.py PROJ-123 --remove-labels "needs-review"
python scripts/update_jira_issue.py PROJ-123 \
--description "Updated requirements: must support dark mode"
compact (default):
UPDATED|PROJ-123|Fix login bug|In Progress|Bug|P:High|@jsmith
Changes:status->In Progress,comment
URL:https://yoursite.atlassian.net/browse/PROJ-123
text:
Issue Updated: PROJ-123
Summary: Fix login bug
Status: In Progress
Type: Bug
Priority: High
Assignee: John Smith
Changes: status->In Progress, comment
URL: https://yoursite.atlassian.net/browse/PROJ-123
json:
{"key":"PROJ-123","summary":"Fix login bug","status":"In Progress","changes":["status->In Progress","comment"],"url":"..."}
This skill shares a cache (~/.jira-tools-cache.json) with other jira-tools skills:
Manage cache via:
python shared/jira_cache.py info # View cache status
python shared/jira_cache.py clear # Clear cache
Requires three environment variables:
JIRA_BASE_URL - e.g., https://yoursite.atlassian.netJIRA_EMAIL - Your Jira account emailJIRA_API_TOKEN - API token from Atlassian account settingsmcp__atlassian__editJiraIssue and mcp__atlassian__transitionJiraIssue:
This skill's script:
Always prefer this skill over direct MCP calls for Jira updates.
For detailed field options and error codes, see references/options-reference.md.