create-ticketlisted
Install: claude install-skill aimsise/simple-workflow
# /create-ticket
Ticket description / findings path: $ARGUMENTS
UTC time: !`date -u +%Y-%m-%dT%H:%M:%SZ`
## Pre-computed Context
Available user skills: !`( ls -1 ~/.claude/skills 2>/dev/null ; ls -1 .claude/skills 2>/dev/null ) | sort -u | grep . | tr "\n" "," | sed "s/,$//" | grep . || echo "(none)"`
Available MCP servers: !`( jq -r '.mcpServers // {} | keys[]' .mcp.json 2>/dev/null ; jq -r '.mcpServers // {} | keys[]' ~/.claude.json 2>/dev/null ) | sort -u | grep . | tr "\n" "," | sed "s/,$//" | grep . || echo "(none)"`
## phase-state.yaml write ownership
Writes the **whole** `phase-state.yaml` template at creation, transitions `phases.create_ticket: in-progress -> completed` in the same invocation. Never writes other phase sections. Top-level `current_phase` / `last_completed_phase` / `overall_status` are owned on initial write; later writers update them. **Do NOT serialize a top-level `ticket_dir:` field** — path encodes location. Schema: [references/phase-state-schema.md](references/phase-state-schema.md).
## Mandatory Skill Invocations
`/create-ticket` MUST delegate to each agent below via the Agent tool. Direct model output bypasses the independent layers — contract violation detected by skill invocation audit.
| Invocation Target | When | Skip consequence |
|---|---|---|
| `researcher` agent (Agent tool) | Phase 1 — bare always; brief unless a freshness-validated `{ticket-dir}/investigation.md` is reused per [references/agent-spawn-prompts.md](references/age