Claude Code Plugins

Community-maintained marketplace

Feedback

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

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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

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

# Check authentication status
jira auth check

# Login to Jira
jira auth login

Issue Management

# 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

# 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

# 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

# List all projects
jira project list

# Get project details
jira project get PROJ

Watching and Assigning

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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

# 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:

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

# 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