Agent skill
jira-cli
Use this skill when the user wants to inspect, search, summarize, or update Jira issues, epics, sprints, boards, projects, releases, or server metadata with the `jira` command-line tool (`jira-cli`, `ankitpokhrel/jira-cli`). Also use it when the prompt mentions Jira issue keys like `ABC-123`, JQL, assignees/reporters, sprint or board queries, release/version lists, or converting Jira's interactive output into script-friendly `--plain`, `--raw`, `--table`, or `-n` commands.
Install this agent skill to your Project
npx add-skill https://github.com/datwaft/dotfiles/tree/main/.config/opencode/skills/jira-cli
Metadata
Additional technical details for this skill
- tool
- jira
- scope
- jira
- content style
- procedural
SKILL.md
Jira CLI (jira)
Use this skill to work with Jira through jira-cli efficiently and safely. It is most valuable when the agent needs help choosing the right subcommand, avoiding the interactive TUI, or separating read-only inspection from mutating actions.
When to use this skill
- the user explicitly mentions
jira,jira-cli, orankitpokhrel/jira-cli - the task mentions Jira issue keys like
ABC-123even if the user does not name the CLI - the task involves JQL, issue search filters, assignee/reporter queries, boards, sprints, releases, or server metadata
- the user wants to summarize Jira data for the terminal instead of opening the browser UI
- the task may mutate Jira state and needs a safe command choice plus verification steps
Default operating procedure
- Classify the task as
read-only,browser side effect only, ormutating. - If the exact subcommand is unclear, run the narrowest possible help command first, such as
jira issue move --help. - Prefer non-interactive output modes unless the user explicitly wants the TUI:
--rawfor machine-readable data--plainwith--columnsfor compact summaries--tablefor sprint and epic listings when you want a table instead of the explorer UI-nforjira openwhen you want the URL without launching the browser
- Execute the smallest command that answers the question or performs the requested change.
- After any mutation, verify the result with a follow-up read-only command.
Fast routing
Use these defaults before exploring broader help.
- inspect one issue:
jira issue view ISSUE-123 --raworjira issue view ISSUE-123 --plain - search issues:
jira issue list ... --plain --columns key,status,assignee --paginate 0:20 - raw issue data for parsing:
jira issue list ... --raw --paginate 0:20 - list boards:
jira board list - list projects:
jira project list - list releases:
jira release list - inspect sprints:
jira sprint list --table --plain --columns id,name,state - inspect epics:
jira epic list --table --plain --columns key,summary,status - current identity:
jira me - Jira instance metadata:
jira serverinfo - print browser URL only:
jira open ISSUE-123 -n
Command map
Top-level groups:
jira issue ...jira epic ...jira sprint ...jira board ...jira project ...jira release ...jira mejira serverinfojira openjira initjira version
High-value issue commands:
- read-only:
jira issue list,jira issue view - mutating:
jira issue create,jira issue edit,jira issue assign,jira issue move,jira issue link,jira issue unlink,jira issue clone,jira issue delete,jira issue watch,jira issue comment add,jira issue worklog add
High-value planning commands:
- epics:
jira epic list,jira epic create,jira epic add,jira epic remove - sprints:
jira sprint list,jira sprint add,jira sprint close - boards:
jira board list - projects:
jira project list - releases:
jira release list
Read-only vs mutating model
Use this classifier unless the user explicitly wants a write operation.
- read-only:
version,me,serverinfo,project list,board list,release list,issue list,issue view,epic list,sprint list,help - browser side effect only:
open; preferjira open -nunless the user explicitly wants the browser opened - mutating:
init,issue create|edit|assign|move|link|unlink|clone|delete|watch,issue comment add,issue worklog add,epic create|add|remove,sprint add|close
Output mode defaults
- use
--rawwhen you need structured data or expect to post-process the result - use
--plain --columns ... --no-headerswhen you need a compact, script-friendly summary - use
--tableforjira epic listandjira sprint listwhen you want non-explorer table output - use
PAGER=cator--plain/--rawforjira issue viewin scripted contexts - use
--paginateintentionally on issue and epic lists to avoid oversized output; format is<from>:<limit>and20means the same as0:20
If you need more detail on output choices, read references/output-modes.md.
Safe workflow for mutating tasks
Follow this plan-validate-execute pattern.
- Inspect current state with a read-only command.
- If the target value is ambiguous, gather context before mutating.
- Use one mutating command at a time.
- Re-run a read-only command to verify the change.
- Report both the action and the observed post-change state.
Examples:
- assign an issue:
jira issue view ISSUE-123 --plainjira issue assign ISSUE-123 $(jira me)jira issue view ISSUE-123 --plain
- move an issue:
jira issue view ISSUE-123 --plainjira issue move ISSUE-123 "In Progress"jira issue view ISSUE-123 --plain
- add work to a sprint:
jira sprint list --table --plain --columns id,name,statejira sprint add SPRINT_ID ISSUE-123 ISSUE-456jira sprint list SPRINT_ID --plain --columns key,status,assignee
For more detail, read references/workflows.md.
Gotchas
- many
listcommands default to an interactive TUI; add--plain,--raw, or--tableif you want deterministic terminal output jira issue viewuses a pager by default; setPAGER=cator use--plainor--rawin automationjira openopens a browser; usejira open -nto print the URL onlyjira issue assignexpects an exact assignee name or email;$(jira me)assigns to the current user,defaultassigns to the default assignee, andxunassignsjira issue movecan also set--comment,-a/--assignee, and-R/--resolutionduring transition- top-level
-p/--projectchanges project context; use it whenever the current config points at the wrong project - top-level
-c/--configorJIRA_CONFIG_FILElets you switch between Jira configs - README examples are useful, but local
jira ... --helpis the best source for the installed version
Common task patterns
Summarize recent issues
Default command:
jira issue list --plain --columns key,status,assignee --paginate 0:20
If the user names filters, convert them to flags first and only fall back to -q/--jql when flags are not expressive enough.
Inspect one issue deeply
Start with:
jira issue view ISSUE-123 --raw
Use --plain when the user wants a terminal-friendly human summary instead of raw data.
Translate interactive examples into automation-safe commands
If docs show jira issue list or jira sprint list without output flags, rewrite them to one of these forms before using them in scripted or tool-driven workflows:
--plain --columns ...--raw--table --plain-nforjira open
Discover exact flags
Use narrow help commands such as:
jira issue list --help
jira epic list --help
jira sprint close --help
Avoid broad jira --help unless you truly need the top-level command map.
Validation loop
Before finalizing, check that you used the right mode for the task:
- if the task was read-only, confirm no mutating command ran
- if the task was mutating, confirm you inspected state before and after the change
- if the output was meant for summarization or parsing, confirm you avoided the interactive UI and pager
- if the user asked for a URL, confirm you used
jira open -nunless they explicitly wanted the browser opened
References
- read
references/commands-readonly.mdwhen you need safe default commands fast - read
references/output-modes.mdwhen you need to choose between TUI, plain text, raw JSON, table output, pager behavior, or browser behavior - read
references/workflows.mdwhen you need step-by-step procedures for searching, inspecting, or mutating Jira data - GitHub README: https://github.com/ankitpokhrel/jira-cli
- Installation wiki: https://github.com/ankitpokhrel/jira-cli/wiki/Installation
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
jj-vcs
Use jj (Jujutsu) version control system. Load this skill when the user wants to perform version control operations with jj, or when they explicitly mention jj/jujutsu.
fennel-lang
Expert guidance for Fennel code in all forms. Load this skill whenever a task involves reading, writing, debugging, reviewing, translating, or reasoning about Fennel.
atlassian-cli
Use Atlassian CLI (acli) for Jira and Confluence operations. Load this skill when a task mentions Atlassian CLI/acli, Jira command-line workflows, or Confluence command-line workflows.
zbench
Benchmark interactive zsh performance with zsh-bench and track regressions. Use when benchmarking shell startup, comparing zsh latency after config changes, investigating slow shell, or running git bisect on performance. Trigger phrases: "benchmark zsh", "shell is slow", "zbench", "zsh-bench", "shell startup time", "profile zsh", "zsh performance".
nix-rebuild
Rebuild nix-darwin/NixOS system after dotfiles changes. Use when config files managed by Nix (lazygit, ghostty, etc.) need to be regenerated, or after editing any .nix file in the dotfiles repo.
hass-config-flow
Interact with Home Assistant via the REST API on a NixOS host. Use when adding integrations, querying entities, managing config flows, creating API tokens, or automating HA setup programmatically. Also covers identifying device protocols (Matter, Zigbee, Thread, HomeKit) from the device registry. Trigger phrases: "add HA integration", "configure home assistant", "query HA entities", "create HA token", "HA REST API", "pair homekit", "set up matter in HA", "add spotify to HA", "is this device zigbee or thread", "what protocol is this device", "move devices to ZHA", "identify matter devices".
Didn't find tool you were looking for?