home / skills / michaelvessia / nixos-config / jira

jira skill

/modules/programs/claude-code/skills/jira

This skill commands the Jira CLI for all ticket operations, avoiding web fetches and enabling efficient issue management.

npx playbooks add skill michaelvessia/nixos-config --skill jira

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.7 KB
---
name: jira
description: Use for all Jira-related tasks. When user mentions a ticket (PROJ-123) or shares a Jira URL, use
  the jira CLI instead of web fetching.
user-invocable: false
allowed-tools: Bash
---

# Jira CLI

Use the `jira` CLI for all Jira operations. Never web fetch Jira URLs.

## Common Commands

```bash
# View issue details
jira issue view PROJ-123

# List issues in a project
jira issue list -p PROJ

# List issues assigned to me
jira issue list -a$(jira me)

# Search with JQL
jira issue list -q "project = PROJ AND status = 'In Progress'"

# Create an issue
jira issue create -p PROJ -t Task -s "Title here" -b "Description here"

# Move issue to different status
jira issue move PROJ-123 "In Progress"

# Add a comment
jira issue comment add PROJ-123 "Comment text here"

# Assign to someone
jira issue assign PROJ-123 "[email protected]"

# Link issues
jira issue link PROJ-123 PROJ-456 "blocks"
```

## Editing Issues with Long Descriptions

**IMPORTANT**: Do NOT use stdin piping (`echo "..." | jira issue edit -b -`). It is unreliable and may result in empty or corrupted descriptions.

For multi-line descriptions, use command substitution with a temp file:

```bash
# Write description to temp file first
cat > /tmp/issue-desc.md << 'EOF'
## Summary
Multi-line description here...

## Details
- Item 1
- Item 2
EOF

# Then edit using command substitution
jira issue edit PROJ-123 -b "$(cat /tmp/issue-desc.md)" --no-input
```

For short single-line edits, inline strings work fine:

```bash
jira issue edit PROJ-123 -b "Short description" --no-input
```

## When User Shares Jira URL

Extract the ticket key from URLs like `https://company.atlassian.net/browse/PROJ-123` and run:

```bash
jira issue view PROJ-123
```

Overview

This skill uses the jira CLI for all Jira-related tasks and enforces CLI usage whenever a ticket key or Jira URL is mentioned. It avoids web fetching and provides reliable, repeatable commands for viewing, searching, creating, editing, commenting, assigning, linking, and moving issues. The skill includes guidance for safely editing long, multi-line descriptions to prevent data corruption.

How this skill works

When a user mentions a ticket (e.g., PROJ-123) or shares a Jira URL, the skill extracts the issue key and runs jira CLI commands instead of performing web requests. It maps common intents to specific jira commands: view, list, search with JQL, create, edit, move, comment, assign, and link. For multi-line descriptions it uses a temp-file + command-substitution pattern to avoid stdin piping issues.

When to use it

  • Any time a Jira ticket key (PROJ-123) or Jira URL is referenced.
  • To view issue details, lists, or search results via JQL.
  • When creating, editing, or moving issues in Jira from the CLI.
  • When adding comments, assigning users, or linking issues.
  • When automating repetitive Jira operations in scripts or workflows.

Best practices

  • Always use the jira CLI instead of web fetching when a ticket key or URL is present.
  • For long, multi-line issue descriptions, write to a temp file and pass via command substitution to jira issue edit to avoid corrupted content.
  • Use --no-input for non-interactive edits and automation to prevent prompts.
  • Prefer explicit JQL queries for precise searches and listings.
  • Include project (-p) or assignee (-a) filters to limit result sets and speed commands.

Example use cases

  • User posts a Jira link: extract PROJ-123 and run jira issue view PROJ-123 to fetch details.
  • Create a new task: jira issue create -p PROJ -t Task -s "Title" -b "Description".
  • Edit a long description: write markdown to /tmp/issue-desc.md and run jira issue edit PROJ-123 -b "$(cat /tmp/issue-desc.md)" --no-input.
  • Move workflow status: jira issue move PROJ-123 "In Progress".
  • Link two issues: jira issue link PROJ-123 PROJ-456 "blocks".

FAQ

Can I pipe a long description into jira issue edit?

No. Stdin piping is unreliable and can corrupt descriptions. Use a temp file and command substitution instead.

How do I handle a Jira URL?

Extract the ticket key from the URL (e.g., PROJ-123) and run jira issue view PROJ-123.