Issue tracker: Jira
Issues and specs for this repo live in the Jira project AXC (keysAXC-####). Use the mcp__atlassian__* MCP tools; resolve cloudId once per session with getAccessibleAtlassianResources. GitHub Issues are not used.
Conventions
- Create an issue:
createJiraIssuewithprojectKey: "AXC", an issue type fromgetJiraProjectIssueTypesMetadata, summary and markdown description. - Read an issue:
getJiraIssuewith the key (e.g.AXC-4806), including comments. - List issues:
searchJiraIssuesUsingJql, e.g.project = AXC AND labels = ready-for-agent AND statusCategory != Done. - Make an issue a child of a parent: set
parentto the parent’s key (Epic → Story/Task, or Story → Sub-task). - Comment on an issue:
addCommentToJiraIssue. - Apply / remove labels:
editJiraIssuewith the full updatedlabelsarray (read current labels first; the field is replaced, not merged). - Close: comment with the reason, then
transitionJiraIssueto a Done-category transition fromgetTransitionsForJiraIssue.
AXC-####-slug; Husky prefixes commits with [AXC-####]), so a ticket mentioned without a key can usually be recovered from the current branch name.
When a skill says “publish to the issue tracker”
Create a Jira issue inAXC.
When a skill says “fetch the relevant ticket”
getJiraIssue with the key; fall back to the key in the current branch name.
Specs
Used by/spec and /build.
- Story: the description is the whole spec (format:
.claude/skills/spec/JIRA-FORMAT.md): problem, goal, numbered acceptance criteriaAK1…, edge cases, out of scope, prototype link, assumptions. No spec file or branch exists in the repo. - Epic: a change too big for one PR; each child Story carries its own complete spec and ships as its own PR. Order is native
Blockslinks. /speclabels what it publishesready-for-agent./buildposts its plan as a comment, opens one draft PR per Story, comments the PR link and addsneeds-infowhen the PR is unfinished or has unresolved findings.