Jira-skill jira-communication
Use when interacting with Jira issues - searching, creating, updating, moving, transitioning, commenting, logging work, downloading attachments, managing sprints, boards, issue links, web links, fields, or users. Auto-triggers on Jira URLs and issue keys (PROJ-123). Also use when MCP Atlassian tools fail or are unavailable for Jira Server/DC.
install
source · Clone the upstream repo
git clone https://github.com/netresearch/jira-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/netresearch/jira-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jira-communication" ~/.claude/skills/netresearch-jira-skill-jira-communication-ef9255 && rm -rf "$T"
manifest:
skills/jira-communication/SKILL.mdsource content
Jira Communication
CLI scripts via
uv run. All support --help, --json, --quiet, --debug.
Auto-Trigger
On Jira URL or issue key (PROJ-123) → run
jira-issue.py get. Auth issues → jira-setup.py.
Scripts
Core:
jira-issue.py (get/update/delete), jira-search.py (JQL), jira-worklog.py, jira-attachment.py (add/download), jira-setup.py, jira-validate.py
Workflow: jira-create.py, jira-transition.py, jira-comment.py (add/edit/delete/list), jira-move.py, jira-sprint.py, jira-board.py
Utility: jira-user.py (get/search/me), jira-fields.py (search/types), jira-link.py, jira-weblink.py (web link CRUD), jira-worklog-query.py
Scripts in
${CLAUDE_SKILL_DIR}/scripts/ under core/, workflow/, or utility/.
Execution Style
Be direct. Run the command — scripts confirm success (
✓) or errors (✗). Destructive operations support --dry-run.
Global flags go before the subcommand:
uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py --json get PROJ-123
Common Tasks
# Read / search uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py get PROJ-123 uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-search.py query "assignee = currentUser() AND status != Closed" -n 5 -f key,summary,status # Update / assign (--fields-json for description and custom fields) uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py update PROJ-123 --assignee me --priority Critical uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py update PROJ-123 --fields-json '{"description": "New desc"}' # Delete (--dry-run to preview, --delete-subtasks for parents) uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py delete PROJ-123 --dry-run # Comment (add/edit/list -- use --json list to get IDs for edit/delete) uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-comment.py add PROJ-123 "Comment text" uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-comment.py --json list PROJ-123 # Transition (use "list" to see available transitions) uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-transition.py do PROJ-123 "In Progress" # Log work / query worklogs (default: my current week) uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-worklog.py add PROJ-123 2h --comment "Work done" uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-worklog-query.py --project HMKG --detail # Create (--type auto-resolves to subtask when --parent given) uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-create.py issue PROJ "Summary" --type Task uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-create.py issue PROJ "Summary" --type Task --reporter jane.doe uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-create.py issue PROJ "Summary" --type Bug --parent PROJ-100 # User lookup uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-user.py get john.doe uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-user.py search doreen uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-user.py me # Move / link / web links uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-move.py issue NRS-100 SRVUC uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-link.py create PROJ-123 PROJ-456 --type Blocks uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-link.py list PROJ-123 uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-link.py delete PROJ-123 --id 10042 uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-weblink.py delete PROJ-123 --id 42 uv run ${CLAUDE_SKILL_DIR}/scripts/utility/jira-fields.py types PROJ # Attachments uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-attachment.py add PROJ-123 screenshot.png uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-attachment.py add PROJ-123 /tmp/report.pdf --dry-run
--assignee me resolves to the authenticated user.
Related Skills
jira-syntax: For descriptions/comments. Jira uses wiki markup, not Markdown.
References
- JQL syntaxreferences/jql-quick-reference.md
- Multi-profile and auto-resolutionreferences/multi-profile.md
- Setup and authreferences/troubleshooting.md
Authentication
Cloud:
JIRA_URL + JIRA_USERNAME + JIRA_API_TOKEN. Server/DC: JIRA_URL + JIRA_PERSONAL_TOKEN. Config via ~/.env.jira or ~/.jira/profiles.json.