Skill v1.0.3
currentAutomated scan96/100~1 modified
version: "1.0.3" name: jira-communication description: "Use when handling Jira issues, sprints, boards, links, fields, worklogs, attachments, or users, or on any Jira intent without a key (\"create/find a ticket\", \"pick a project\"). Auto-triggers on Jira URLs and issue keys (PROJ-123). Also use when MCP Atlassian tools fail or are unavailable for Jira Server/DC." license: "(MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0" compatibility: "Requires python 3.10+, uv. Jira Server/DC or Cloud instance with API access." metadata: author: Netresearch DTT GmbH version: "3.21.0" repository: https://github.com/netresearch/jira-skill allowed-tools: Bash(python:) Bash(uv:) Read Write
Jira Communication
CLI scripts via uv run, all supporting --help, --json, --quiet, --debug.
Auto-Trigger
On Jira URL or issue key (PROJ-123), pick by intent — each is one call:
| Intent | Tool | |
|---|---|---|
| triage / work on ticket | jira-issue.py work KEY | |
| start QA review | jira-issue.py qa KEY | |
| QA-fail follow-up | jira-issue.py qa-fail KEY | |
| field-only lookup | jira-issue.py get KEY --fields ... | |
| change status | jira-issue.py act KEY → jira-transition.py do | |
| audit / sibling discovery | jira-qa-gather.py KEY |
Auth issues → jira-setup.py. Anti-pattern: get + comment list on one key — use the matching verb. See references/intent-verbs.md.
Scripts
Under ${CLAUDE_SKILL_DIR}/scripts/{core,workflow,utility}/.
Core: jira-issue.py, jira-search.py, jira-worklog.py, jira-attachment.py, jira-setup.py, jira-validate.py Workflow: jira-create.py, jira-transition.py, jira-comment.py, jira-move.py, jira-sprint.py, jira-board.py, jira-version.py Utility: jira-user.py, jira-fields.py, jira-link.py, jira-weblink.py, jira-worklog-query.py, jira-watchers.py, jira-qa-gather.py
Execution Style
Run directly. Scripts report ✓/✗. Destructive ops: --dry-run. Global flags before subcommand: jira-issue.py --json get PROJ-123.
Basic Usage
uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py get PROJ-123uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-search.py query "assignee = currentUser() AND status != Closed" -n 5 -f key,summary,statusuv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py update PROJ-123 --assignee me --priority Criticaluv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-comment.py add PROJ-123 "Comment text"uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-transition.py do PROJ-123 "In Progress"uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-worklog.py add PROJ-123 2h --comment "Work done"uv run ${CLAUDE_SKILL_DIR}/scripts/workflow/jira-create.py issue PROJ "Summary" --type Taskuv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-attachment.py add PROJ-123 screenshot.png
Terminal transitions: always pass--resolution <value>(e.g.Done,Won't do,Duplicate) or theresolution field stays empty and the ticket appears unresolved. Seereferences/intent-verbs.md.
Related Skills
jira-syntax: For descriptions/comments. Jira uses wiki markup, not Markdown.
No editorializing
In tickets, comments and worklog notes, state what happened, not how good the work is; no self-praise or narrating the expected. See references/no-editorializing.md.
References
references/jql-quick-reference.md,references/jql-cookbook.mdreferences/multi-profile.md—--profilereferences/troubleshooting.md— auth, 401/403references/issue-editing.md— edit, deletereferences/creation.md— create,--parent, fieldsreferences/comments.md— edit, delete, lintreferences/worklog.md—--started, ranges,--tempo-accountreferences/attachments.md— upload, downloadreferences/links.md— linksreferences/agile.md— sprints/boardsreferences/no-editorializing.md— no self-praisereferences/fields-and-users.md— custom field IDs, users, issue typesreferences/watchers.md— watch, subscribe, list watchersreferences/versions.md— fix/affects versions, releases, version CRUDreferences/qa-gather.md— audit bundle (siblings, prose URLs)references/intent-verbs.md—work / qa / qa-fail / act, exact transition names
Authentication
Cloud: JIRA_URL + JIRA_USERNAME + JIRA_API_TOKEN. Server/DC: JIRA_URL + JIRA_PERSONAL_TOKEN. Config via ~/.env.jira or ~/.jira/profiles.json.