atlassian
Atlassian CLI (acli) Skill
Use acli (installed at /opt/homebrew/bin/acli) to interact with Jira and Confluence from the terminal.
Shell tool mapping: Claude Code →
Bash, Copilot CLI →bash, Kiro CLI →execute_bash. All commands below should be executed via your platform's shell execution tool.
Authentication
Check auth status before running any commands if uncertain:
acli jira auth status
acli confluence auth status
If not authenticated:
# With API token (recommended for scripting)
echo <token> | acli jira auth login --site "yoursite.atlassian.net" --email "you@example.com" --token
# With browser OAuth
acli jira auth login --web
Jira
View & Search Work Items
# View a single issue
acli jira workitem view KEY-123
acli jira workitem view KEY-123 --json # structured output
acli jira workitem view KEY-123 --fields "summary,status,comment,description"
# Search with JQL
acli jira workitem search --jql "assignee = currentUser() AND sprint in openSprints()"
acli jira workitem search --jql "project = PROJ AND status = 'In Progress'" --fields "key,summary,status,assignee"
acli jira workitem search --jql "..." --json
acli jira workitem search --jql "..." --csv # for reports
acli jira workitem search --jql "..." --paginate # fetch all results
acli jira workitem search --jql "..." --count # count only
acli jira workitem search --jql "..." --limit 50
See references/jql-patterns.md for common JQL patterns for developers.
Create Work Items
# Quick create
acli jira workitem create --summary "Fix login bug" --project "PROJ" --type "Bug"
# With details
acli jira workitem create \
--summary "Add retry logic" \
--project "PROJ" \
--type "Task" \
--description "Implement exponential backoff for API calls" \
--assignee "@me" \
--label "backend,reliability"
# From JSON (use --generate-json to get template first)
acli jira workitem create --generate-json > workitem.json
# edit workitem.json, then:
acli jira workitem create --from-json workitem.json --project "PROJ" --type "Task"
# Bulk create
acli jira workitem create-bulk --from-json bulk-workitems.json
Edit Work Items
# Edit single issue
acli jira workitem edit --key "KEY-123" --summary "Updated summary"
acli jira workitem edit --key "KEY-123" --description "New description" --yes
# Bulk edit via key list
acli jira workitem edit --key "KEY-1,KEY-2,KEY-3" --assignee "@me" --yes
# Bulk edit via JQL
acli jira workitem edit --jql "project = PROJ AND status = 'To Do' AND assignee is EMPTY" \
--assignee "dev@company.com" --yes --ignore-errors
# Add/remove labels
acli jira workitem edit --key "KEY-123" --labels "frontend,urgent"
acli jira workitem edit --key "KEY-123" --remove-labels "old-label"
Transition Work Items (Change Status)
# Single transition
acli jira workitem transition --key "KEY-123" --status "In Progress"
acli jira workitem transition --key "KEY-123" --status "Done" --yes
# Bulk transition via key list
acli jira workitem transition --key "KEY-1,KEY-2,KEY-3" --status "Done" --yes
# Bulk transition via JQL
acli jira workitem transition \
--jql "project = PROJ AND sprint in openSprints() AND status = 'In Review'" \
--status "Done" --yes --ignore-errors
Common status values: "To Do", "In Progress", "In Review", "Done" (exact names depend on project workflow).
Assign Work Items
acli jira workitem assign --key "KEY-123" --assignee "@me"
acli jira workitem assign --key "KEY-123" --assignee "user@company.com"
# Bulk assign via JQL
acli jira workitem assign \
--jql "project = PROJ AND sprint in openSprints() AND assignee is EMPTY" \
--assignee "@me" --yes
# Remove assignee
acli jira workitem assign --key "KEY-123" --remove-assignee
Comments
# List comments
acli jira workitem comment list --key "KEY-123"
# Add comment
acli jira workitem comment create --key "KEY-123" --body "Fixed in commit abc123"
# Update comment
acli jira workitem comment update --key "KEY-123" --comment-id <id> --body "Updated note"
# Delete comment
acli jira workitem comment delete --key "KEY-123" --comment-id <id>
Sprints
# View sprint details
acli jira sprint view <sprint-id>
# List all work items in a sprint
acli jira sprint list-workitems <sprint-id>
# List sprints on a board
acli jira board list-sprints <board-id>
# Create sprint
acli jira sprint create --name "Sprint 10" --board <board-id>
Boards
# Search boards
acli jira board search --name "My Team Board"
# Get board details
acli jira board get <board-id>
# List sprints on a board
acli jira board list-sprints <board-id>
# List projects on a board
acli jira board list-projects <board-id>
Projects
acli jira project list --paginate # --paginate is required (or use --limit N or --recent)
acli jira project view --project "PROJ"
acli jira project create --name "New Project" --key "NP" --type "scrum"
Confluence
Pages
# View a page (need page ID or URL)
acli confluence page view <page-id>
acli confluence page view <page-id> --json
Spaces
# List all spaces
acli confluence space list
# View space details
acli confluence space view --key "MYSPACE"
# Create a space
acli confluence space create --name "Engineering Docs" --key "ENGDOCS"
# Update space
acli confluence space update --key "MYSPACE" --name "New Name" --description "Updated desc"
# Archive / restore space
acli confluence space archive --key "OLDSPACE"
acli confluence space restore --key "OLDSPACE"
Blogs
acli confluence blog --help # check available subcommands for blogs
Practical Workflows
Daily Standup
# What am I working on?
acli jira workitem search \
--jql "assignee = currentUser() AND sprint in openSprints() AND status != Done" \
--fields "key,summary,status"
Start Working on an Issue
acli jira workitem transition --key "KEY-123" --status "In Progress" --yes
acli jira workitem assign --key "KEY-123" --assignee "@me"
End of Day / Mark Done
acli jira workitem transition --key "KEY-123" --status "Done" --yes
acli jira workitem comment create --key "KEY-123" --body "Completed. PR: #456"
Bulk Close Sprint Items (when sprint ends)
acli jira workitem transition \
--jql "sprint in openSprints() AND status = 'In Review' AND assignee = currentUser()" \
--status "Done" --yes --ignore-errors
Find Unassigned Bugs in Open Sprints
acli jira workitem search \
--jql "issuetype = Bug AND sprint in openSprints() AND assignee is EMPTY" \
--fields "key,summary,priority,status"
Output Tips
- Use
--jsonwhen you need to parse output or pass to other commands - Use
--csvfor tabular data / reports - Use
--yesto skip confirmation prompts in bulk operations - Use
--ignore-errorsin bulk ops so one failure doesn't stop the rest - Use
--paginatewhen expecting more results than the default limit
More from witooh/skills
brainstorm
>-
45improve
Iteratively improve any output until measurable criteria are met. Use when the user wants to refine existing work against specific standards — whether it's code, prose, data, config, or any other artifact. Triggers on phrases like "improve this", "make it better", "iterate", "refine", "keep improving", "not good enough yet", "optimize this", "polish this", "tighten this up", "ปรับปรุง", "ทำให้ดีขึ้น", "ยังไม่ดี", "แก้ให้ดีกว่านี้", "iterate ต่อ", or when the user provides criteria and wants repeated improvement until they're satisfied. Also use when the user gives feedback on output and expects you to keep refining, even if they don't say "improve" explicitly.
41neo-team-claude
>
33confluence-api-doc
>
26neo-team-copilot
>
15gitlab-copilot
>
14