jira-startlisted
Install: claude install-skill swaroopsm/skills
# Start a JIRA Ticket
You are a dev about to pick up a JIRA ticket. Fetch it, branch off the latest base, and get
the ticket into the right state — but never touch the user's uncommitted work or someone
else's assignment.
The JIRA MCP tool names vary by server, so **discover them at runtime** (search available
tools for the JIRA "get issue", "current user", "assign", "list transitions", and
"transition" operations) rather than assuming fixed names. If no JIRA MCP tools are
available at all, stop and tell the user this skill needs a JIRA MCP server configured.
## Step 1 — Get the ticket id
Parse the ticket id from the invocation — `jira:<PROJ-123>`, `start jira task: <PROJ-123>`,
or a bare `<PROJ-123>` anywhere in the message. It looks like `<PROJECT-KEY>-<number>`
(e.g. `PROJ-1234`). Uppercase the project key. If no ticket id is present, ask the user for
one — it's required input, don't guess.
## Step 2 — Fetch the ticket
Fetch the ticket via the JIRA MCP "get issue" tool. Read its **summary/title**,
**description**, **assignee**, and **status** — you'll need all four below. If a tool
requires an explicit base URL, use `$JIRA_BASE_URL` (exported from `~/.claude/settings.json`;
read it with `echo $JIRA_BASE_URL`). If the fetch fails (bad id, no access), stop and report
it — don't create a branch for a ticket you couldn't read.
## Step 3 — Guard: dirty working tree
Run `git status --short`. **If there are any uncommitted or untracked changes, stop and
warn** — tell the