Agent skill

jira

Use jira CLI for Jira operations including issue management, project queries, transitions, and JQL search

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/jira

SKILL.md

Jira CLI Skill

You are a Jira specialist using the jira CLI tool. This skill provides comprehensive guidance for working with Jira through a custom CLI.

Core Commands

Authentication

bash
# Check authentication status
jira auth check

# Login to Jira
jira auth login

Issue Management

bash
# View issue details
jira issue get ISSUE-123

# Create new issue
jira issue create --project PROJ --type Bug --summary "Issue summary" --description "Description"

# Update issue
jira issue update ISSUE-123 --summary "New summary"

# Add comment to issue
jira comment add ISSUE-123 "Comment text"

# List comments on issue
jira comment list ISSUE-123

Issue Transitions

bash
# List available transitions for an issue
jira transition list ISSUE-123

# Transition issue to new status
jira transition ISSUE-123 "In Progress"

Searching with JQL

bash
# Search issues with JQL
jira search "project = PROJ AND status = Open"

# Search with output format
jira search "assignee = currentUser()" --format json

# Search with field selection
jira search "project = PROJ" --fields summary,status,assignee

Project Operations

bash
# List all projects
jira project list

# Get project details
jira project get PROJ

Watching and Assigning

bash
# Watch an issue
jira watch add ISSUE-123

# Stop watching an issue
jira watch remove ISSUE-123

# Assign issue
jira assign ISSUE-123 username

# Assign to self
jira assign ISSUE-123 me

Common Workflows

Viewing Your Work

bash
# View issues assigned to you
jira search "assignee = currentUser() AND status != Done"

# View issues you're watching
jira search "watcher = currentUser()"

# View recent activity
jira search "updatedDate >= -7d AND assignee = currentUser()"

Creating and Updating Issues

bash
# Create a bug
jira issue create --project PROJ --type Bug \
  --summary "Login button not working" \
  --description "Steps to reproduce..."

# Update priority
jira issue update ISSUE-123 --priority High

# Add labels
jira issue update ISSUE-123 --labels bug,frontend

# Link issues
jira link add ISSUE-123 ISSUE-456 "blocks"

Moving Issues Through Workflow

bash
# Start work on issue
jira transition ISSUE-123 "In Progress"

# Mark as done
jira transition ISSUE-123 "Done"

# Reopen issue
jira transition ISSUE-123 "Reopen"

JQL Reference

Common JQL Patterns

bash
# Issues in specific project
jira search "project = MYPROJ"

# Open issues assigned to you
jira search "assignee = currentUser() AND status in (Open, 'In Progress')"

# High priority bugs
jira search "type = Bug AND priority = High"

# Recently updated issues
jira search "updated >= -1w"

# Issues created this sprint
jira search "sprint in openSprints() AND created >= startOfWeek()"

# Issues with specific label
jira search "labels = urgent"

# Issues in epic
jira search "'Epic Link' = EPIC-123"

JQL Field Reference

  • project - Project key or name
  • status - Issue status (Open, In Progress, Done, etc.)
  • assignee - Assigned user (use currentUser() for yourself)
  • reporter - Issue reporter
  • priority - Priority level (Highest, High, Medium, Low, Lowest)
  • type - Issue type (Bug, Story, Task, Epic, etc.)
  • labels - Issue labels
  • created - Creation date
  • updated - Last update date
  • resolution - Resolution status

JQL Functions

  • currentUser() - Current logged-in user
  • startOfDay(), startOfWeek(), startOfMonth() - Date functions
  • now() - Current timestamp
  • openSprints() - Currently active sprints
  • closedSprints() - Completed sprints

Output Formats

bash
# JSON output (for scripting)
jira search "project = PROJ" --format json

# Table output (human-readable, default)
jira search "project = PROJ" --format table

# CSV output
jira search "project = PROJ" --format csv

Best Practices

  1. Always authenticate first: Run jira auth check before operations
  2. Use JQL for complex queries: More powerful than simple filters
  3. Specify output format: Use --format json for scripting
  4. Include field selection: Use --fields to limit returned data
  5. Test transitions: Use jira transition list before transitioning
  6. Be specific with JQL: Use quotes for multi-word values

Common Use Cases

Daily Standup Prep

bash
# What you worked on yesterday
jira search "assignee = currentUser() AND updated >= -1d"

# What you're working on today
jira search "assignee = currentUser() AND status = 'In Progress'"

Bug Triage

bash
# Unassigned bugs
jira search "type = Bug AND assignee is EMPTY AND status = Open"

# Critical bugs in project
jira search "project = PROJ AND type = Bug AND priority in (Highest, High)"

Sprint Planning

bash
# Issues in backlog
jira search "project = PROJ AND status = 'To Do' AND sprint is EMPTY"

# Issues in current sprint
jira search "project = PROJ AND sprint in openSprints()"

# Completed this sprint
jira search "project = PROJ AND sprint in openSprints() AND status = Done"

Error Handling

If you encounter authentication errors:

bash
jira auth login

If JQL syntax errors occur:

  • Check for proper quoting of multi-word values
  • Verify field names are correct
  • Use AND, OR, NOT operators (uppercase)

Quick Reference

bash
# View issue
jira issue get ISSUE-123

# Search
jira search "JQL query here"

# Create
jira issue create --project PROJ --type TYPE --summary "text"

# Update
jira issue update ISSUE-123 --field value

# Transition
jira transition ISSUE-123 "Status Name"

# Comment
jira comment add ISSUE-123 "Comment text"

# Assign
jira assign ISSUE-123 username

Didn't find tool you were looking for?

Be as detailed as possible for better results