home / skills / questnova502 / claude-skills-sync / jira-communication
This skill lets you manage Jira issues and workflows from Python CLI, including search, get, create, transition, comments, and attachments.
npx playbooks add skill questnova502/claude-skills-sync --skill jira-communicationReview the files below or copy the command above to add this skill to your agents.
---
name: jira-communication
description: >
Jira API operations via Python CLI scripts. AUTOMATICALLY TRIGGER when user
mentions Jira URLs (https://jira.*/browse/*, https://*.atlassian.net/browse/*),
issue keys (PROJ-123), or asks about Jira issues. Use when Claude needs to:
(1) Search issues with JQL queries, (2) Get or update issue details,
(3) Create new issues, (4) Transition issue status (e.g., "To Do" → "Done"),
(5) Add comments, (6) Log work time (worklogs), (7) List sprints and sprint issues,
(8) List boards and board issues, (9) Create or list issue links,
(10) Discover available Jira fields, (11) Get user profile information,
(12) Download attachments from issues.
If authentication fails, offer interactive credential setup via jira-setup.py.
Supports both Jira Cloud and Server/Data Center with automatic auth detection.
---
# Jira Communication
CLI scripts for Jira operations using `uv run`. All scripts support `--help`, `--json`, `--quiet`, `--debug`.
## Auto-Trigger
Trigger when user mentions:
- **Jira URLs**: `https://jira.*/browse/*`, `https://*.atlassian.net/browse/*`
- **Issue keys**: `PROJ-123`, `NRS-4167`
When triggered by URL → extract issue key → run `jira-issue.py get PROJ-123`
## Auth Failure Handling
When auth fails, offer: `uv run scripts/core/jira-setup.py` (interactive credential setup)
## Scripts
| Script | Purpose |
|--------|---------|
| `scripts/core/jira-setup.py` | Interactive credential config |
| `scripts/core/jira-validate.py` | Verify connection |
| `scripts/core/jira-issue.py` | Get/update issue details |
| `scripts/core/jira-search.py` | Search with JQL |
| `scripts/core/jira-worklog.py` | Time tracking |
| `scripts/core/jira-attachment.py` | Download attachments |
| `scripts/workflow/jira-create.py` | Create issues |
| `scripts/workflow/jira-transition.py` | Change status |
| `scripts/workflow/jira-comment.py` | Add comments |
| `scripts/workflow/jira-sprint.py` | List sprints |
| `scripts/workflow/jira-board.py` | List boards |
| `scripts/utility/jira-user.py` | User info |
| `scripts/utility/jira-fields.py` | Search fields |
| `scripts/utility/jira-link.py` | Issue links |
## Critical: Flag Ordering
Global flags **MUST** come **before** subcommand:
```bash
# Correct: uv run scripts/core/jira-issue.py --json get PROJ-123
# Wrong: uv run scripts/core/jira-issue.py get PROJ-123 --json
```
## Quick Examples
```bash
uv run scripts/core/jira-validate.py --verbose
uv run scripts/core/jira-search.py query "assignee = currentUser()"
uv run scripts/core/jira-issue.py get PROJ-123
uv run scripts/core/jira-worklog.py add PROJ-123 2h --comment "Work done"
uv run scripts/workflow/jira-transition.py do PROJ-123 "In Progress" --dry-run
```
## Related Skills
**jira-syntax**: For descriptions/comments. Jira uses wiki markup, NOT Markdown.
## References
- `references/jql-quick-reference.md` - JQL syntax
- `references/troubleshooting.md` - Setup and auth issues
## Authentication
**Cloud**: `JIRA_URL` + `JIRA_USERNAME` + `JIRA_API_TOKEN`
**Server/DC**: `JIRA_URL` + `JIRA_PERSONAL_TOKEN`
Config via `~/.env.jira` or env vars. Run `jira-validate.py --verbose` to verify.
This skill provides a set of Python CLI scripts for performing Jira API operations from the command line. It automatically triggers when Jira issue keys or Jira browse URLs are mentioned, extracting the key and running the appropriate command. Use it to search, view, create, transition, comment, log work, manage sprints/boards, discover fields, get user info, and download attachments for both Jira Cloud and Server/Data Center.
When a Jira URL or issue key is detected, the skill extracts the issue key and invokes the matching CLI script to run the requested Jira API call. Scripts accept global flags (--json, --quiet, --debug, --verbose) which must appear before the subcommand. Authentication is automatically detected for Cloud vs Server/DC; if credentials are missing or invalid the skill offers an interactive setup flow to configure env vars or a local credential file.
What happens if authentication fails?
The skill offers an interactive setup flow to configure credentials and environment variables, and recommends running the validate command to verify the connection.
Why did my flags get ignored?
Global flags must appear before the subcommand. Place flags like --json or --debug immediately after the script and before the action and arguments.