Acli jira
Carefully crafted, token-efficient Agent Skills for reliable agentic workflows.
npx -y skills add MichaelYochpaz/agent-skills --skill acli-jiraAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Atlassian CLI (acli) for Jira Cloud. View issues, search with JQL, navigate issue hierarchy (parents, children, epic contents), read comments, list attachments and links, and modify issues (comment, transition, edit, assign, link, create). Use when the user mentions Jira tickets, issues, stories, epics, bugs, tasks, spikes, JQL queries, or references a Jira issue key (e.g., "PROJ-123"). Also use for sprint context, board queries, or any Jira Cloud interaction.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
13.5 KB, as published. Nobody here has run it
Atlassian CLI -- Jira (acli jira)
Interact with Jira Cloud from the command line: view and search issues, navigate issue hierarchy, read comments, and update issue state. This skill covers the official Atlassian CLI (developer.atlassian.com/cloud/acli), not the older third-party Appfire ACLI.
Verified with acli 1.3.18.
Agent Guidelines
- For
search,board search,board list-sprints, andsprint list-workitems: use--csvfor compact, complete output. Default table output wastes tokens on box-drawing characters and may truncate values. - For
view: default text output is the most token-efficient option. Use--jsononly when extracting specific field values programmatically (e.g., parent key). - For
comment list,link list, andattachment list: use--jsonfor compact output. Default table output inflates size 3-5x with box-drawing characters and padding. - Scope
viewoutput with--fieldsto request only the fields you need. The default fields (key,issuetype,summary,status,assignee,description) cover most read scenarios. - For hierarchy traversal, use JQL search to find children in bulk rather than viewing individual issues one at a time.
- For multiple issues, use
search --jql "key in (KEY-1, KEY-2)"instead of separateviewcalls. - For formatted descriptions and comments (headings, lists, code blocks, tables), use ADF JSON — the only format Jira renders for rich text. See the ADF Formatting reference. Plain text is fine for simple updates.
Safety
- Write operations modify Jira state. Confirm with the user before executing mutation commands, including
comment create/update/delete,transition,edit,assign,workitem create, andlink create/delete. - REST API fallback — direct API requests using write methods (
POST,PUT,PATCH,DELETE) modify Jira state and bypassacliconfirmation prompts. Confirm the endpoint and payload before executing. --yesskips confirmation prompts on supported commands. Use it only after the user has already confirmed the exact target and change.
Prerequisites
Verify acli is installed and authenticated:
acli --version
acli jira auth status
If not authenticated, guide the user through acli jira auth login.
Bundled helper scripts require uv and Python 3.11+.
Paths such as scripts/download-attachment.py are relative to this skill directory; resolve them from the installed skill root when running from a project directory.
Common Flags
Available across most subcommands:
--json-- JSON output (see Agent Guidelines for when to use)--csv-- CSV output; preferred format for agents when available (onsearch,board search,board list-sprints,sprint list-workitems)--fields FIELDS-- Comma-separated field list to include in output--jql QUERY-- JQL filter (onsearch,edit,assign,transition)--filter ID-- Use a saved Jira filter instead of--jql(onsearch,edit,assign,transition)--limit N-- Maximum results to return--paginate-- Fetch all pages (ignores--limit)--yes-- Skip confirmation prompts (onedit,assign,transition,link delete)--web-- Open in browser instead of terminal
Viewing Issues
View an issue with default fields (key, type, summary, status, assignee, description):
acli jira workitem view PROJ-123
Scoping Fields
Use --fields to request specific fields or reduce output:
# Only summary and status
acli jira workitem view PROJ-123 --fields summary,status
# All available fields
acli jira workitem view PROJ-123 --fields '*all'
# All navigable fields
acli jira workitem view PROJ-123 --fields '*navigable'
# Default fields minus description (quick status check)
acli jira workitem view PROJ-123 --fields '-description'
# Metadata for context: parent, priority, labels, components, version
acli jira workitem view PROJ-123 --fields 'summary,status,priority,parent,labels,components,fixVersions'
JSON Output
Use --json for structured data when you need to extract specific field values:
acli jira workitem view PROJ-123 --fields 'parent,summary,status' --json
The JSON response contains top-level keys key, fields, id, and others. Field values are under fields.
Navigating Issue Hierarchy
Parent
Extract the parent from view output. Text output shows the parent key directly when the issue has one. For reliable programmatic extraction, use JSON:
acli jira workitem view PROJ-123 --fields parent --json
To walk the full parent chain (Story -> Epic -> Feature -> Initiative), repeat: extract parent key, view that parent, until no parent exists.
Children and Subtasks
Use JQL search to find child issues:
# Subtasks and direct children
acli jira workitem search --jql "parent = PROJ-123" --fields "key,summary,status,issuetype" --csv
# Ordered by status
acli jira workitem search --jql "parent = PROJ-123 ORDER BY status" --fields "key,summary,status,issuetype" --csv
For epics in classic Jira projects, children may use the legacy "Epic Link" field instead of parent:
acli jira workitem search --jql "'Epic Link' = PROJ-100" --fields "key,summary,status,issuetype" --csv
Issue Links
List all links (blocks, is blocked by, relates to, clones, etc.):
acli jira workitem link list --key PROJ-123 --json
List available link types on the instance:
acli jira workitem link type
Searching Issues
acli jira workitem search --jql "project = PROJ AND status = 'In Progress'" --fields "key,summary,assignee,status" --csv
Count Only
Get the number of matching issues without fetching details:
acli jira workitem search --jql "project = PROJ AND issuetype = Bug AND status != Done" --count
Pagination
Default limit is 50 results. Use --limit for a specific count or --paginate for all results:
# First 10 results
acli jira workitem search --jql "project = PROJ" --limit 10 --csv
# All results (automatic pagination)
acli jira workitem search --jql "project = PROJ AND sprint in openSprints()" --paginate --csv
Field Support
search --fields supports: key, summary, status, issuetype, assignee, priority, description, labels, reporter. Other fields (e.g., updated, created, parent, components, fixVersions, resolution, sprint) return "field not allowed" errors. Use view to access these fields on individual issues, or JQL ORDER BY for date-based sorting.
Common JQL Patterns
For constructing queries beyond these patterns, see the JQL Reference.
- Assigned to me:
project = PROJ AND assignee = currentUser() - Open issues:
project = PROJ AND statusCategory != Done - Issues by type:
project = PROJ AND issuetype = Story - Current sprint:
project = PROJ AND sprint in openSprints() - Recently updated:
project = PROJ AND updated >= -7d ORDER BY updated DESC - Unassigned:
project = PROJ AND assignee is EMPTY - By label:
project = PROJ AND labels = "my-label" - Children of issue:
parent = PROJ-123 - Epic children (classic, legacy):
"Epic Link" = PROJ-100— useparentfor new queries - Text search:
project = PROJ AND text ~ "dependency conflict" - By component:
project = PROJ AND component = "build-system" - Multiple specific issues:
key in (PROJ-100, PROJ-200, PROJ-300)
Comments
List Comments
acli jira workitem comment list --key PROJ-123 --json
# Latest 5 comments
acli jira workitem comment list --key PROJ-123 --limit 5 --json
# Oldest first
acli jira workitem comment list --key PROJ-123 --order "+created" --json
Add a Comment
acli jira workitem comment create --key PROJ-123 --body "Investigation complete. Root cause: constraint resolver selects incompatible version."
To update or delete comments, see Write Operations.
Attachments
List Attachments
acli jira workitem attachment list --key PROJ-123 --json
Download an Attachment
acli lists attachments but cannot download them. Use the bundled script with the attachment's content URL from issue metadata:
# Step 1: Get attachment metadata with content URLs
acli jira workitem view PROJ-123 --fields attachment --json
# → fields.attachment[].content contains the download URL
# Step 2: Download
uv run scripts/download-attachment.py <content_url> -o <output_path>
Requires JIRA_API_TOKEN environment variable. Site and email are auto-detected from acli profiles (tries current profile first, then others). Use --site to target a specific site.
Advanced: Fields via JSON
Custom fields and deeply nested metadata are only accessible through JSON output:
# All fields as JSON
acli jira workitem view PROJ-123 --fields '*all' --json
Useful fields in JSON output under fields:
parent-- Parent issue key and summarysubtasks-- List of subtask objectsissuelinks-- Linked issues with link type and directioncomment-- Comment data (prefercomment listfor readability)attachment-- Attachment metadata including content URLsworklog-- Time tracking / work log entriescomponents,fixVersions,labels-- Categorization fieldscreated,updated,resolutiondate-- Timestampscustomfield_*-- Custom fields (IDs vary by instance)
Known Limitations
Use the Jira REST API directly for features acli does not expose:
- Components and Fix Versions on edit --
acli editdoes not supportcomponentsorfixVersions. Set them viaadditionalAttributeson create, or the REST API fallback for existing issues. - Remote links -- External links (GitLab MRs, GitHub PRs) are served from a separate endpoint (
/rest/api/3/issue/{key}/remotelink) thataclidoes not call. They are not included in--fields '*all' --jsonoutput. - Changelog / issue history -- Field change history requires the
expand=changelogparameter, whichaclidoes not support. Thechangelogfield in JSON output is alwaysnull. - Attachment download --
aclilists attachments but cannot download them. See Attachments.
REST API Fallback
When acli does not support a write operation, call the Jira Cloud REST API directly with any HTTP client. Extract the site and email from acli jira auth status, and authenticate with HTTP basic auth using <email> as the username and the JIRA_API_TOKEN environment variable as the password.
acli jira auth status
# → Site: example.atlassian.net
# → Email: [email protected]
To set fields unavailable to acli edit (e.g., components, fix versions) on an existing issue, send a PUT request to the issue endpoint:
- Endpoint:
https://<site>/rest/api/3/issue/PROJ-123 - Auth: HTTP basic —
<email>:$JIRA_API_TOKEN - Header:
Content-Type: application/json - Body:
{"fields":{"components":[{"name":"Component Name"}]}}
See the Jira Cloud REST API v3 reference for other endpoints and payload shapes.
Troubleshooting
- Not authenticated -- Run
acli jira auth loginto authenticate. In CI, verifyJIRA_API_TOKENis set and acli is configured. - Issue not found (404) -- Verify the issue key is correct and includes the project prefix (e.g.,
PROJ-123not123). - Permission denied (403) -- The authenticated user lacks access to the project or issue. Ask the user to verify their permissions.
- Invalid transition -- The target status is not reachable from the current status. View the issue to check its current status, then use a valid transition.
- JQL syntax error -- Check quoting: field names with spaces need single quotes (
'Epic Link'), string values need double quotes ("In Progress"). See JQL Reference for full syntax rules.
References
- Write Operations -- Create, edit, transition, assign, and link issues
- ADF Formatting -- Rich text formatting (headings, lists, code, tables, panels) for descriptions and comments
- Sprints & Boards -- Find boards, list sprints, view sprint work items
- JQL Reference -- Syntax rules, operators, functions, and field guidance for constructing JQL queries
Documentation
- Atlassian CLI command reference -- Official
acli jiracommand tree - acli jira workitem -- Work item command family
- Jira Cloud REST API v3 -- REST API overview and authentication patterns