This skill should be used when the user mentions Jira issues (e.g., "PROJ-123"), asks about tickets, wants to create/view/update issues, check sprint status, or manage their Jira workflow. Triggers on keywords like "jira", "issue", "ticket", "sprint", "backlog", or issue key patterns.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: jira
<!-- prettier-ignore-start -->description: This skill should be used when the user mentions Jira issues (e.g., "PROJ-123"), asks about tickets, wants to create/view/update issues, check sprint status, or manage their Jira workflow. Triggers on keywords like "jira", "issue", "ticket", "sprint", "backlog", or issue key patterns.
<!-- prettier-ignore-end -->version: 1.0.0
Jira CLI Skill
This skill enables natural language interaction with Jira via the jira CLI
tool (https://github.com/ankitpokhrel/jira-cli).
Quick Reference
| Intent | Command |
|---|---|
| View issue | jira issue view ISSUE-KEY |
| List my issues | jira issue list -a$(jira me) |
| My in-progress | jira issue list -a$(jira me) -s"In Progress" |
| Create issue | jira issue create -tType -s"Summary" -b"Description" |
| Move/transition | jira issue move ISSUE-KEY "State" |
| Assign to me | jira issue assign ISSUE-KEY $(jira me) |
| Unassign | jira issue assign ISSUE-KEY x |
| Add comment | jira issue comment add ISSUE-KEY -b"Comment text" |
| Open in browser | jira open ISSUE-KEY |
| Current sprint | jira sprint list --state active |
| Who am I | jira me |
Command Details
Viewing Issues
# View single issue
jira issue view ISSUE-KEY
# View with more comments
jira issue view ISSUE-KEY --comments 5
# Get raw JSON
jira issue view ISSUE-KEY --raw
Listing Issues
# List all issues in project
jira issue list
# List my issues
jira issue list -a$(jira me)
# Filter by status (use quotes for multi-word statuses)
jira issue list -s"In Progress"
jira issue list -s"To Do"
jira issue list -sDone
# Filter by type
jira issue list -tBug
jira issue list -tStory
jira issue list -tTask
jira issue list -tEpic
# Filter by priority
jira issue list -yHigh
jira issue list -yCritical
# Filter by label
jira issue list -lurgent -lbug
# Combine filters
jira issue list -a$(jira me) -s"In Progress" -yHigh
# Search with text
jira issue list "login error"
# Recently accessed
jira issue list --history
# Issues I'm watching
jira issue list -w
# Created/updated filters
jira issue list --created today
jira issue list --created week
jira issue list --updated -2d
# Plain output for scripting
jira issue list --plain --no-headers
# Specific columns
jira issue list --plain --columns key,summary,status,assignee
# Raw JQL query
jira issue list -q"status = 'In Progress' AND assignee = currentUser()"
# Paginate results
jira issue list --paginate 20
jira issue list --paginate 10:50 # start:limit
Creating Issues
# Interactive creation
jira issue create
# Non-interactive with all fields
jira issue create \
-tBug \
-s"Login button not working" \
-b"Users cannot click the login button on Safari" \
-yHigh \
-lbug -lurgent
# Create and assign to self
jira issue create -tTask -s"Summary" -a$(jira me)
# Create subtask (requires parent)
jira issue create -tSub-task -P"PROJ-123" -s"Subtask summary"
# Create with custom fields
jira issue create -tStory -s"Summary" --custom story-points=3
# Skip prompts for optional fields
jira issue create -tTask -s"Quick task" --no-input
# Open in browser after creation
jira issue create -tBug -s"Bug title" --web
# Read description from file
jira issue create -tStory -s"Summary" --template /path/to/template.md
# Read description from stdin
echo "Description here" | jira issue create -tTask -s"Summary"
Transitioning Issues
# Move to a state
jira issue move ISSUE-KEY "In Progress"
jira issue move ISSUE-KEY "Done"
jira issue move ISSUE-KEY "To Do"
# Move with comment
jira issue move ISSUE-KEY "Done" --comment "Completed the implementation"
# Move and set resolution
jira issue move ISSUE-KEY "Done" -R"Fixed"
# Move and reassign
jira issue move ISSUE-KEY "In Review" -a"reviewer@example.com"
# Open in browser after transition
jira issue move ISSUE-KEY "Done" --web
Assigning Issues
# Assign to specific user
jira issue assign ISSUE-KEY "user@example.com"
jira issue assign ISSUE-KEY "John Doe"
# Assign to self
jira issue assign ISSUE-KEY $(jira me)
# Assign to default assignee
jira issue assign ISSUE-KEY default
# Unassign
jira issue assign ISSUE-KEY x
Comments
# Add comment
jira issue comment add ISSUE-KEY -b"This is my comment"
# Add comment from file
jira issue comment add ISSUE-KEY --template /path/to/comment.md
Sprints
# List sprints
jira sprint list
# Active sprint only
jira sprint list --state active
# Add issue to sprint
jira sprint add SPRINT-ID ISSUE-KEY
# Close sprint
jira sprint close SPRINT-ID
Other Commands
# Open issue in browser
jira open ISSUE-KEY
# Show current user
jira me
# Server info
jira serverinfo
# List projects
jira project list
# List boards
jira board list
Natural Language Mapping
When interpreting user requests, map these patterns:
| User says | Interpret as |
|---|---|
| "my issues", "my tickets" | -a$(jira me) |
| "in progress", "working on" | -s"In Progress" |
| "todo", "to do", "backlog" | -s"To Do" |
| "done", "completed", "finished" | -sDone |
| "bugs", "defects" | -tBug |
| "stories", "features" | -tStory |
| "tasks" | -tTask |
| "epics" | -tEpic |
| "high priority", "urgent" | -yHigh or -yCritical |
| "blocked" | -s"Blocked" or search for "blocked" |
| "this week" | --created week or --updated week |
| "today" | --created today |
| "recent", "recently" | --history |
| "watching" | -w |
| "assign to me" | $(jira me) |
| "unassign" | x |
| "open it", "show in browser" | jira open |
Issue Key Detection
Issue keys follow the pattern: [A-Z]+-[0-9]+ (e.g., PROJ-123, ABC-1).
When a user mentions an issue key in conversation:
- Offer to view it:
jira issue view KEY - Or open it:
jira open KEY
Tips
- Always show the command before running it
- Use
--plainfor scripting or when output is too wide - Use
$(jira me)to reference the current user - Quote multi-word status names:
-s"In Progress" - Combine filters to narrow results
- Use
--rawwhen you need to parse JSON output - The
-pflag can override the default project
Error Handling
Common issues:
- "Issue does not exist" - verify the issue key
- "Transition not allowed" - check current status and available transitions
- "User not found" - use exact email or display name
More by ahmedelgabri
View allThis skill should be used when the user mentions GitHub PRs, issues, workflows, releases, or repository management. Triggers on keywords like "github", "gh", "pr", "pull request", "issue", "workflow", "actions", "release", "merge", "review", "ci", "check", or PR/issue number patterns like "#123".
Generates clear commit messages from Git diffs. Use when writing commit messages or reviewing staged changes.