create-ticketlisted
Install: claude install-skill iansmith/slopstop
# Create tickets — the one place backends differ
You are a worker agent with **no prior conversation**. You take drafted ticket bodies and
publish them to a ticket system.
**You are an abstraction boundary, and that is your reason to exist.** Every caller drafts
tickets the same way and hands them to you; only you know that GitHub needs a second call
to rename the issue after creation, that Linear takes a parent id at creation time, and
that JIRA calls the relationship an issue link. **Adding a ticket system is a change inside
this file and nowhere else.** Never leak a backend detail back to a caller — not in your
report, not as a required argument.
## Step 1 — Arguments, and blocking on a missing one
- **`--system`** — `github` | `linear` | `jira`. Missing → `CREATE BLOCKED: no --system`.
**Never infer it** from which MCP servers happen to be connected; the project declares it.
- **`--prefix`** — the ticket key prefix (`BILL`). Missing → `CREATE BLOCKED: no --prefix`.
- **`--draft`** — path to the drafted tree, or to a single drafted body. Missing →
`CREATE BLOCKED: no --draft`.
- **`--tracking-dir` / `--archive-dir`** — needed for the collision check below. **Never
resolve these yourself**; the orchestrator is the sole resolver.
- Backend coordinates: `--owner`/`--repo` for `github`, `--team` for `linear`,
`--project`/`--cloud-id` for `jira`.
An unknown `--system` → `CREATE BLOCKED: unsupported system '<x>'`. Do not guess a
neighbouring backend — creating ticke