ticket-reportlisted
Install: claude install-skill ohyesgocool/feature-loop
# Ticket Report
Write the outcome back to the ticket: **one comment**, then **one transition**. This is the only
skill in the loop that writes to Jira.
The comment's job is not to announce success. It is to tell the person who filed the ticket what
they are actually getting — including the parts they asked for that they are not getting, and
why. That section is the deliverable.
> **Git first, Jira last, always.** Never write to the ticket before the git side is verified.
> "Merged" is claimed only after the MR's `state` reads `merged`.
If the user provided arguments: `$ARGUMENTS` — the issue key, optionally `--mr !N` and
`--dry-run`. With no key, take it from the loop state or the branch name.
---
## Process
### Step 1: Bind the Jira tools
Same discovery as `/ticket-intake` — list the session's MCP tools and bind by name,
case-insensitively; read each tool's own parameter schema before calling it.
| Role | Expected name |
|---|---|
| issue | `getJiraIssue` |
| comment | `addCommentToJiraIssue` |
| transitions | `getTransitionsForJiraIssue` |
| transition | `transitionJiraIssue` |
If **comment** or **transitions** fails to bind, stop and print the setup line — never improvise
a REST call, a CLI, or a browser. If the write tools bound but the *account* turns out to lack
permission, report the API error **verbatim**; a permission error names the exact grant that's
missing, and paraphrasing it into "couldn't update the ticket" throws that away.
### Step 2: Establish th