agent-rules/skills/jira/SKILL.md
Use when performing any Jira operation - creating, editing, searching, viewing, or transitioning issues. Prefers Atlassian MCP server, falls back to acli.
npx skillsauth add ktdreyer/dotfiles jiraInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Execute the acli utility to look up tickets. For example:
acli jira workitem view AIPCC-1
Look at comments on tickets: acli jira workitem comment list --key AIPCC-1
Add a comment: acli jira workitem comment create --key AIPCC-1 --body "text"
Discover more with this:
acli jira workitem --help
For the AIPCC project: do not use the Atlassian MCP server. It cannot create or edit tickets in that project because it is open to the internet.
Use the Atlassian MCP server with contentFormat: "markdown" when possible. Fall back to acli when MCP returns permission project errors (ECO-1358).
With acli, descriptions must be plain text or ADF JSON. Jira does not render Markdown and wiki markup when using the CLI. Write ADF JSON to a temp file and use --description-file <file>:
acli jira workitem create --project <PROJ> --type <Type> --summary "..." --description-file <file>acli jira workitem edit --key <KEY> --description-file <file> --yesacli supports custom fields via additionalAttributes in --from-json at
create time only. The acli jira workitem edit command rejects
additionalAttributes with json: unknown field.
To set custom fields on an existing issue, use the Jira REST API directly.
Do not use @me with acli — it resolves to the wrong account. Always use
the explicit email address (e.g., [email protected]).
On Linux, acli stores its API token in gnome-keyring, not in config files.
Extract all credentials from acli's config and keyring:
PROFILE=$(yq '.current_profile' ~/.config/acli/jira_config.yaml)
JIRA_TOKEN=$(secret-tool lookup service acli username "jira:${PROFILE}")
JIRA_EMAIL=$(yq '.profiles[0].email' ~/.config/acli/jira_config.yaml)
JIRA_SITE=$(yq '.profiles[0].site' ~/.config/acli/jira_config.yaml)
curl -s -X PUT \
-u "${JIRA_EMAIL}:${JIRA_TOKEN}" \
-H "Content-Type: application/json" \
"https://${JIRA_SITE}/rest/api/3/issue/<KEY>" \
-d '{"fields":{"customfield_10001":"<team-uuid>","components":[{"name":"<component>"}]}}'
acli has no sprint-assignment subcommand. Use the Agile REST API:
curl -s -X POST \
-u "${JIRA_EMAIL}:${JIRA_TOKEN}" \
-H "Content-Type: application/json" \
"https://${JIRA_SITE}/rest/agile/1.0/sprint/<SPRINT_ID>/issue" \
-d '{"issues":["KEY-1","KEY-2"]}'
A 204 response means success.
development
Audit existing Claude config, research the repo via code and Jira, and produce a plan for writing or updating CLAUDE.md
development
Use this skill to confirm that this project's README matches the code.
testing
Use this skill to clarify text in documents. This applies kdreyer's personal writing style focused on simplicity, precision, and pragmatism.
development
--- name: request-adr-reviews description: Review this task: $1 version: 1.0.0 --- Review this task: $1 Create the sub-tasks under this ticket to review the ADR document. Assign each of the sub-tasks to the members who are part of my current sprint `MidstreamIntegration Sprint 11` - Keep the review sub-task free of clutter. It should be brief and clear. Every ticket should have a one-sentence "Goal" statement at the top: `As a ___, I want to ____, so that ____.` Every ticket must have a bull