← ClaudeAtlas

ticket-intakelisted

Read a Jira issue whole — description, acceptance criteria, every comment, subtasks, links, labels, status and available transitions — and turn it into a brief plus a numbered requirements list the rest of the loop is accountable to. Reconciles comments against the description chronologically, so a comment that changed the scope wins and the superseded requirement is shown struck through rather than silently dropped. Every requirement carries a verbatim quote and its source; every piece of ticket text that produced no requirement is listed in a mandatory residue block, because a requirement that was never extracted can never be reported as missing. Strictly read-only against Jira: it never comments, never transitions, never edits. Jira access is the Atlassian MCP server or nothing — if the tools aren't bound it stops with the setup command rather than guessing what the ticket said. Use when: starting work from a Jira ticket, "what does PROJ-123 actually ask for", auditing an MR against its ticket, or as Stage
ohyesgocool/feature-loop · ★ 0 · AI & Automation · score 70
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