Manage Jira issues, sprints, and epics using the jira CLI (ankitpokhrel/jira-cli). Use when asked to create, view, edit, list, move, assign, comment on, link, or delete Jira issues. Also use for sprint operations (list sprints, view current sprint, add issues to sprints) and epic operations (create epics, add/remove issues). Triggers on any Jira-related task, ticket management, sprint planning, or board workflow request.
Resources
1Install
npx skillscat add romainframe/romainframe-plugins/jira-cli Install via the SkillsCat registry.
Jira CLI
Procedural guide for using the jira CLI tool (ankitpokhrel/jira-cli) non-interactively from Claude Code.
Critical Rules
- Always use
--no-inputto suppress interactive prompts (exceptissue linkwhich does not support it) - Never use
-bfor long descriptions — it causes the CLI to hang. Use file + pipe instead --templateflag only works oncreateandcomment add, not onedit- The CLI uses a markdown-to-ADF parser — see references/formatting.md for what works and what breaks
- Pipe from stdin for descriptions longer than 2-3 lines
- Avoid special characters in descriptions — parentheses
(), angle brackets<>, underscores_, and arrows->get escaped by the markdown parser inside code blocks
Quick Reference
Check auth
jira meCreate issue
# Short description
jira issue create -p PROJECT -t Task -s "Summary" -y High --no-input
# Long description (ALWAYS use this pattern)
cat /tmp/jira-body.md | jira issue create -p PROJECT -t Task -s "Summary" -y High --template - --no-inputView issue
jira issue view KEY --plain # Human-readable
jira issue view KEY --raw # JSON for scriptingEdit issue
jira issue edit KEY -s "New summary" --no-input
echo "New description" | jira issue edit KEY --no-input # Replaces description entirelyList issues
jira issue list --plain # All issues
jira issue list -s "In Progress" --plain # By status
jira issue list -q "assignee = currentUser()" --plain # Custom JQLTransition issue
jira issue move KEY "In Progress"
jira issue move KEY Done --comment "Completed in PR #123"Sprint operations
jira sprint list --state active # Active sprints
jira sprint list --current --plain # Issues in current sprint
jira sprint add SPRINT_ID KEY1 KEY2 # Add issues to sprintFor the full command reference, see references/commands.md.
Long Description Workflow
For any description longer than 2-3 lines, ALWAYS write to a temp file and pipe.
Use the hybrid formatting that survives the CLI's markdown-to-ADF conversion:
h2.headings (wiki syntax — these survive)||Header||tables (wiki syntax — these survive)*bold*for emphasis* itemfor bullet lists (NOT#for numbered lists)- Triple backtick fenced code blocks (NOT
{code}or{noformat}) - Plain text for issue keys like SPRINT-123 (auto-linked by Jira)
- Avoid
(),<>,_,->inside code blocks (they get escaped)
# 1. Write description using hybrid formatting
cat > /tmp/jira-body.md << 'DESCRIPTION'
h2. Context
Description content here...
h2. Acceptance Criteria
* Criterion one
* Criterion two
h2. Technical Notes
code goes here with no special chars
DESCRIPTION
# 2a. Create issue
cat /tmp/jira-body.md | jira issue create -p PROJECT -t Task -s "Summary" -y High --template - --no-input
# 2b. OR edit existing issue (no --template flag)
cat /tmp/jira-body.md | jira issue edit KEY --no-input
# 3. Clean up
rm /tmp/jira-body.mdSee references/formatting.md for the complete guide on what renders correctly.
Common Gotchas
| Pitfall | Cause | Solution |
|---|---|---|
-b with long content hangs |
CLI buffer issue | Use file + pipe with --template - |
--template on edit |
Not a valid flag for edit | Pipe from stdin instead |
# renders as heading |
CLI's markdown parser interprets # as heading |
Use * bullet lists or tables with numbered rows |
{code:sql}...{code} content mangled |
Markdown parser escapes (), _, -> inside wiki code blocks |
Use triple backtick fenced code blocks instead |
{noformat} content escaped |
Same markdown parser issue | Use triple backtick fenced code blocks |
{{inline code}} broken |
Wiki syntax not recognized by markdown parser | Avoid or use plain text |
[text|url] link broken |
Wiki link syntax conflicts with markdown parser | Write ticket keys as plain text (auto-linked) or use markdown [text](url) |
--no-input on issue link |
Flag not supported on this subcommand | Omit the flag: jira issue link KEY1 KEY2 Blocks |
| Create command takes 5-10s | Normal Jira Cloud API latency | Expected behavior |
Resources
- references/commands.md — Full CLI command reference with all flags and examples
- references/formatting.md — What formatting survives the CLI's markdown-to-ADF conversion (the critical reference for writing descriptions)