netresearch/jira-skill

jira-communication

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\").

First seen Feb 3, 2026

Installation

$ npx skills add netresearch/jira-skill --skill jira-communication

Summary

  • 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.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from netresearch/jira-skill.

npx skills add netresearch/jira-skill

Browse all from netresearch/jira-skill

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Stars 80
License LICENSE-CC-BY-SA-4.0
Default branch main
Open issues 3
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version3.30.1
License(MIT AND CC-BY-SA-4.0). See LICENSE-MIT and LICENSE-CC-BY-SA-4.0
CompatibilityRequires python 3.10+, uv. Jira Server/DC or Cloud instance with API access.
Allowed toolsBash(uv run ${CLAUDE_SKILL_DIR}/scripts/*) Bash(${CLAUDE_SKILL_DIR}/scripts/*) Read Write
More metadata
author
Netresearch DTT GmbH
version
3.30.1
repository
https://github.com/netresearch/jira-skill

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,820 B
  • docs AGENTS.md 2,116 B
  • docs SUMMARY.md 334 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 456 installs

SKILL.md

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 KEYjira-transition.py do
audit / sibling discovery jira-qa-gather.py KEY

Auth issues → jira-setup.py. Anti-pattern: get + comment list — use the matching verb.

Scripts

Under ${CLAUDESKILLDIR}/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, tempo-account.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

Transitions: list shows each transition's id and what its screen requires; pass the id to do — a name or
a target status is not always unique, and an ambiguous one is refused rather than guessed.
Terminal transitions: pass --resolution <value> (Done, Won't do); if rejected ("cannot be set"),
retry without it — references/intent-verbs.md. Versions: read references/versions.md before jira-version.py.
Mentions: posting commands verify [~username] (miss → suggestions); get/work print usernames (references/fields-and-users.md).

Related Skills

jira-syntax: descriptions/comments use Jira wiki markup, not Markdown.

No editorializing

State what happened, not how good it is — 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, clear fields, --fields-json
  • references/creation.md — create, --parent, fields, admin-scope (project, tempo-account.py)
  • references/comments.md — edit, delete, lint, body via -
  • references/worklog.md--started, ranges, --tempo-account, delete
  • 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: JIRAURL + JIRAUSERNAME + JIRAAPITOKEN. Server/DC: JIRAURL + JIRAPERSONAL_TOKEN. Config via ~/.env.jira or ~/.jira/profiles.json.