jira-communication logo

jira-communication

jira communication

netresearch/jira-skill188installs57stars

SKILL.md

Full skill instructions

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:

IntentTool
triage / work on ticketjira-issue.py work KEY
start QA reviewjira-issue.py qa KEY
QA-fail follow-upjira-issue.py qa-fail KEY
field-only lookupjira-issue.py get KEY --fields ...
change statusjira-issue.py act KEYjira-transition.py do
audit / sibling discoveryjira-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-123
uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-search.py query "assignee = currentUser() AND status != Closed" -n 5 -f key,summary,status
uv run ${CLAUDE_SKILL_DIR}/scripts/core/jira-issue.py update PROJ-123 --assignee me --priority Critical
uv 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 Task
uv 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 the resolution field stays empty and the ticket appears unresolved. See references/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.md
  • references/multi-profile.md--profile
  • references/troubleshooting.md — auth, 401/403
  • references/issue-editing.md — edit, delete
  • references/creation.md — create, --parent, fields
  • references/comments.md — edit, delete, lint
  • references/worklog.md--started, ranges, --tempo-account
  • references/attachments.md — upload, download
  • references/links.md — links
  • references/agile.md — sprints/boards
  • references/no-editorializing.md — no self-praise
  • references/fields-and-users.md — custom field IDs, users, issue types
  • references/watchers.md — watch, subscribe, list watchers
  • references/versions.md — fix/affects versions, releases, version CRUD
  • references/qa-gather.md — audit bundle (siblings, prose URLs)
  • references/intent-verbs.mdwork / 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.