skills/jira-issue/SKILL.md
Core JIRA issue CRUD - create bugs/tasks/stories, get issue details, update fields, delete issues. TRIGGERS: 'show me [KEY]', 'get issue [KEY]', 'view issue', 'create a bug/task/story', 'update [KEY]', 'delete [KEY]', 'details of [KEY]', 'look up [KEY]', 'what's in [KEY]'. NOT FOR: epics (use jira-agile), transitions/status changes (use jira-lifecycle), comments/attachments (use jira-collaborate), time tracking (use jira-time), bulk operations on 10+ issues (use jira-bulk), dependencies/blockers (use jira-relationships), branch names/PR descriptions (use jira-dev).
npx skillsauth add grandcamel/jira-assistant-skills jira-issue-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Core CRUD operations for JIRA issues - create, read, update, and delete tickets.
| Operation | Risk | Notes |
|-----------|------|-------|
| Get/view issue | - | Read-only |
| Create issue | - | Easily reversible (can delete) |
| Update fields | ! | Can be undone via edit |
| Delete issue | !! | Recoverable from trash (30 days) |
| Delete with --force | !!! | IRREVERSIBLE - bypasses trash |
Risk Legend: - Safe, read-only | ! Caution, modifiable | !! Warning, destructive but recoverable | !!! Danger, irreversible
This skill MUST be invoked when the user wants to see issue information.
CRITICAL: When user asks to view/show/get/see issue details, you MUST:
jira-as issue get command to retrieve the issueCommon phrases that REQUIRE invoking this skill:
jira-as issue getjira-as issue getjira-as issue getjira-as issue getjira-as issue getjira-as issue getjira-as issue getjira-as issue getTriggers: User asks to...
Context awareness: If the user refers to "the issue/bug/task we just created" or uses pronouns like "it", resolve to the most recently created/mentioned issue in the conversation and retrieve its details.
This skill provides the following commands via the jira-as issue CLI:
jira-as issue create: Create new issuesjira-as issue get: Retrieve issue detailsjira-as issue update: Modify issue fieldsjira-as issue delete: Remove issuesAll commands support --help for full option documentation.
All commands inherit global options from the parent jira-as command:
--output, -o: Output format for get and create commands (text, json)Pre-configured templates for common issue types:
bug_template.json - Bug report templatetask_template.json - Task templatestory_template.json - User story templateUse the --template option to apply a template during issue creation:
# Quick bug report using template
jira-as issue create --project PROJ --template bug --summary "Login page error"
# Quick task using template
jira-as issue create --project PROJ --template task --summary "Update documentation"
# Quick story using template
jira-as issue create --project PROJ --template story --summary "User can reset password"
# Basic issue creation
jira-as issue create --project PROJ --type Bug --summary "Login fails on mobile"
# With description
jira-as issue create --project PROJ --type Bug --summary "Login fails on mobile" \
--description "Users report 500 error when logging in from mobile browsers. See attached screenshot."
# With assignee (use 'self' for current user)
jira-as issue create --project PROJ --type Task --summary "Review PR #42" \
--assignee self
# With agile fields
jira-as issue create --project PROJ --type Story --summary "User login" \
--epic PROJ-100 --story-points 5
# With relationships and time estimate
jira-as issue create --project PROJ --type Task --summary "Setup database" \
--blocks PROJ-123 --estimate "2d"
# With 'relates to' links
jira-as issue create --project PROJ --type Task --summary "Related feature" \
--relates-to PROJ-456,PROJ-789
# With labels and components
jira-as issue create --project PROJ --type Task --summary "Setup CI pipeline" \
--labels "backend,infrastructure" --components "Build,DevOps"
# With custom fields (JSON format)
jira-as issue create --project PROJ --type Bug --summary "Critical bug" \
--custom-fields '{"customfield_10050": "production"}'
# Assign to sprint
jira-as issue create --project PROJ --type Story --summary "Feature X" \
--sprint 42
# Create without project context defaults
jira-as issue create --project PROJ --type Bug --summary "Bug" --no-defaults
# Basic retrieval
jira-as issue get PROJ-123
# With full details
jira-as issue get PROJ-123 --detailed --show-links --show-time
# Retrieve specific fields only
jira-as issue get PROJ-123 --fields "summary,status,priority,assignee"
# JSON output for scripting
jira-as issue get PROJ-123 --output json
Note: Using --show-links or --show-time automatically enables detailed view.
# Update priority and assignee
jira-as issue update PROJ-123 --priority Critical --assignee self
# Update description
jira-as issue update PROJ-123 --description "Updated description with **markdown** support"
# Update without notifications
jira-as issue update PROJ-123 --summary "Updated title" --no-notify
# Unassign issue (accepts "none" or "unassigned")
jira-as issue update PROJ-123 --assignee none
# Update labels and components (replaces existing)
jira-as issue update PROJ-123 --labels "urgent,reviewed" --components "API"
# Update custom fields
jira-as issue update PROJ-123 --custom-fields '{"customfield_10050": "staging"}'
Assignee special values:
self: Assigns to the current authenticated usernone or unassigned: Removes the assignee# Delete with confirmation
jira-as issue delete PROJ-456
# Force delete (no prompt)
jira-as issue delete PROJ-456 --force
This is the most common workflow - create an issue, then immediately view its details:
# 1. Create a bug
jira-as issue create --project DEMO --type Bug --summary "Login fails on mobile" --priority High
# Output: Created DEMO-105
# 2. View the details of the bug we just created
jira-as issue get DEMO-105
# Output shows:
# - Issue Key: DEMO-105
# - Type: Bug
# - Summary: Login fails on mobile
# - Priority: High
# - Status: Open (or whatever the initial status is)
# - And all other fields
When user says "Show me the details of the bug we just created", this skill should:
jira-as issue get DEMO-105To enable shell completion for the jira-as CLI, add the appropriate command to your shell's configuration file (e.g., .bashrc, .zshrc, config.fish).
Bash:
eval "$(_JIRA_AS_COMPLETE=bash_source jira-as)"
Zsh:
eval "$(_JIRA_AS_COMPLETE=zsh_source jira-as)"
Fish:
_JIRA_AS_COMPLETE=fish_source jira-as | source
| Code | Description | |------|-------------| | 0 | Success | | 1 | Error (see error message) |
| Error | Cause | Solution |
|-------|-------|----------|
| 401 Unauthorized | Invalid credentials | Verify JIRA_API_TOKEN and JIRA_EMAIL |
| 403 Forbidden | No permission | Check project permissions with JIRA admin |
| 404 Not Found | Issue doesn't exist | Verify issue key format (PROJ-123) |
| Invalid issue type | Type not in project | Check available types for target project |
| Epic/Sprint errors | Agile fields misconfigured | Verify settings.json agile field IDs |
For credential setup, generate tokens at: https://id.atlassian.com/manage-profile/security/api-tokens
Requires JIRA credentials via environment variables (JIRA_SITE_URL, JIRA_EMAIL, JIRA_API_TOKEN).
Resources in the skill directory (skills/jira-issue/):
docs/BEST_PRACTICES.md - Issue content and metadata guidancereferences/field_formats.md - ADF and field format detailsreferences/api_reference.md - REST API endpointsdata-ai
Time tracking, worklogs, and time reports. TRIGGERS: 'log time', 'time spent on', 'log hours', 'log work', 'worklog', 'time tracking', 'timesheet', 'how much time', 'time logged', 'time report', 'export timesheet', 'set estimate', 'remaining estimate', 'original estimate'. Use for time-related queries and operations on issues. NOT FOR: SLA tracking (use jira-jsm), date-based issue searches (use jira-search), issue field updates unrelated to time (use jira-issue).
tools
Find issues by criteria (status, assignee, priority, etc.) using JQL. Create filters, export results to CSV/JSON, bulk update. Ideal for reporting and automation.
testing
Issue linking, blockers, and dependency analysis. TRIGGERS: 'what's blocking', 'what is blocking', 'is blocked by', 'link issues', 'link to', 'blockers for', 'depends on', 'clone issue', 'clone with', 'blocking chain', 'dependency graph', 'show dependencies', 'get blockers', 'relates to', 'duplicates'. Use for issue dependencies, relationships, and cloning. NOT FOR: epic linking (use jira-agile), field updates (use jira-issue), bulk cloning (use jira-bulk).
development
JIRA cache and performance operations. TRIGGERS: 'warm the cache', 'warm cache', 'cache status', 'clear cache', 'cache warm', 'cache for project', 'discover project', 'project discovery', 'cache hit rate', 'optimize performance', 'rate limit'. Use for JIRA API performance optimization and project context discovery. NOT FOR: project configuration/settings (use jira-admin), issue operations (use jira-issue), bulk issue modifications (use jira-bulk).