| name | jira |
| description | Use when the user mentions Jira, issues, tickets, sprints, work items, or any project management task involving Atlassian. Routes to workflow skills or delegates to jira-agent subagent.
|
Jira CLI Plugin (ACLI)
Prereq Check (First Use Per Session)
Skip this check if the SessionStart hook already confirmed ACLI is installed and authenticated (look for "✅ Jira Plugin: ACLI installed and authenticated" in the session context).
If no session-start confirmation is present, verify manually:
acli jira auth status
Interpreting the output:
- Exit code 0 + output shows a site/user → ACLI is installed and authenticated. Proceed.
- Exit code non-zero + "authentication" in output → Installed but auth expired. Tell the user:
acli jira auth login --web --site <site>.atlassian.net
- "command not found: acli" → Not installed. Tell the user:
brew tap atlassian/homebrew-acli && brew install acli
Do NOT guess the installation status. If the command runs at all, ACLI is installed.
Do NOT automate auth — just check and inform.
Ticket Key Resolution
When the user provides bare numbers (e.g., "3529" instead of "UX-3529"):
- Read
config/workflows.json and get the list of configured project keys
- If exactly one project is configured → prefix automatically (e.g., "3529" → "UX-3529")
- If a
default_project is set → use it as the prefix
- If multiple projects, no default → ask: "Which project? [UX, PL, ...]"
- If no projects configured → ask: "What's the project key? (e.g., UX, PROJ)"
Also infer from context: if the user says "set UX-3529 to done and 2692 to in progress", infer "2692" → "UX-2692" from the explicit key in the same message.
Mode Selection (First Jira Invocation Per Session)
Present two options to the user:
- Direct mode: "I'll run ACLI commands directly. Faster per-operation but output accumulates in our conversation. Best for a few quick operations."
- Subagent mode: "I'll delegate to a Jira specialist agent in a separate context. Slightly slower per-operation but keeps our conversation clean. Best for bulk work or many operations."
Remember the user's choice for the rest of the session. The user can say "switch to direct/subagent" to change mid-session.
Workflow Routing
| User intent | Skill |
|---|
| "Show me ticket X", "pull context for X", "what's in X" | jira-context |
| "Start working on X", "mark X as done", "X is blocked", "send for review" | jira-progress |
| "Break this spec into tickets", "create tickets from this plan" | jira-decompose |
| "Work on X", "pick up X", "agent handle X" | jira-work |
| "Configure workflow for X", "set up statuses", "refresh workflow" | jira-workflow |
| Ad-hoc ACLI operations (create, search, bulk, sprint, board) | acli |
Ad-hoc Operations
For intents that don't match a workflow (create, search, bulk update, sprint queries, board queries), load the acli skill for the comprehensive command reference, then execute directly.
Quick-reference:
- Create:
acli jira workitem create --summary "..." --project "PROJ" --type "Task" --yes
- Search:
acli jira workitem search --jql "..." --fields "key,summary,status,assignee" --csv
- Edit:
acli jira workitem edit --key "KEY-123" --summary "..." --yes
- Delete:
acli jira workitem delete --key "KEY-123" --yes
Always use --yes to skip confirmations and --fields to control output size.
Direct Mode
- Invoke the relevant workflow skill or run ad-hoc ACLI commands
- Present results to the user
Subagent Mode
- Spawn
jira-agent via the Task tool with the user's request
- The agent loads workflow skills and executes ACLI commands
- Present the agent's compact summary to the user