ticket-intakelisted
Install: claude install-skill ohyesgocool/feature-loop
# Ticket Intake
Turn a Jira issue into two things the rest of the loop can be held to: a **brief** (what the
reporter actually wants) and a **numbered requirements list** (what "done" means, line by line,
each traceable to the text it came from).
This skill is **read-only against Jira**. It never comments, never transitions, never edits an
issue. `/ticket-report` is the only skill that writes. Splitting them is what makes "exactly one
Jira comment per run" enforceable.
If the user provided arguments: `$ARGUMENTS` — the issue key. With no arguments, look for a key
in the conversation; if there isn't one, ask for it.
---
## Process
### Step 1: Bind the Jira tools — discover, never assume
Jira access in this loop is the **Atlassian MCP server**. Do not hardcode tool names: list the
MCP tools available in this session and bind these roles, matching case-insensitively.
| Role | Expected name | Fallback match |
|---|---|---|
| sites | `getAccessibleAtlassianResources` | name contains `accessible` + `resources` |
| issue | `getJiraIssue` | contains `jira` + `issue`, not `search`/`create`/`edit`/`comment` |
| transitions | `getTransitionsForJiraIssue` | contains `transitions` + `jira` |
| remote links | `getJiraIssueRemoteIssueLinks` | contains `remote` + `links` |
| search (optional) | `searchJiraIssuesUsingJql` | contains `jql` |
Read each bound tool's **own parameter schema** before the first call and use *its* argument
names — never a remembered shape. If the **sites** o