/ticket

Customer Ticket to Fix and Reply

Repro, minimal fix, regression test, human reply.

/ticket User: Safari login spins forever after Google OAuth

Where it installs

# .claude/commands/ticket.md
---
description: ...
argument-hint: [pasted customer complaint]
allowed-tools: Read, Grep, Glob, Skill, TodoWrite, Edit, ...
---

What it does

/ticket is a Cursor slash command. Type it in chat to run a saved workflow: Customer Ticket to Fix and Reply.

Takes a user complaint, reproduces it, patches the smallest surface, adds a test, and drafts the reply.

Repro, minimal fix, regression test, human reply. Unlike a skill, a command is something you invoke on purpose. The agent does not decide to run /ticket for you.

Why it exists

Founders retype the same multi-step prompt until it rots. /ticket exists so the pipeline, all 4 steps of it, is a file in .cursor/commands, versioned with the repo.

It ships in the Engineering Kit. It is wired to Customer Ticket Engineer (support-engineer), Root Cause Debugger (debugger), and Test Automation Engineer (test-automator). Required skills: Customer Ticket Triage & Reply; Resilient Error Handling & Fault Tolerance; Vitest Unit & Integration Testing.

When to use it

  • Use when a user wrote in. Not for a raw stack trace with no customer (use /fix).
  • Use /ticket when you want that pipeline, not a freeform chat. If you only need one step, use a narrower command or a single agent.
  • Start a new chat. Do not run this command in a thread that just wrote marketing copy.

When not to use it

  • Do not run /ticket as a substitute for reading the diff. The command produces files; you still gate them.
  • Do not chain it into a 40-turn chat. Fresh context is part of the design.
  • Do not run it if you have not filled CURSOR.md. The pipeline will invent a stack.

Example workflow

  1. support-engineer captures repro and severity
  2. debugger or specialist applies a minimal fix
  3. test-automator adds a regression test
  4. Draft customer reply without stack traces

Example usage

Type this in Cursor chat: /ticket User: Safari login spins forever after Google OAuth

The command file tells the session which agents to adopt and which skills to read. You should see phase headers, not a single dump of code.

If a phase fails its gate, stop. Do not add 'just continue'.

Example output

  • Expected artifact: docs/support/ticket-....md
  • Expected artifact: Relevant source + tests

Best practices

  • Keep the prompt specific. /ticket User: Safari login spins forever after Google OAuth is the shape: object, constraint, and outcome.
  • Let the listed agents work in order: support-engineer → debugger → test-automator.
  • Save outputs in the repo. Chat-only answers evaporate.
  • Engineering commands should leave tests or an audit note, not only implementation files.

Common mistakes

  • Typing /ticket with no object ('do the thing'). The pipeline will guess.
  • Re-running the command in the same chat after a failed gate instead of fixing the failing file.
  • Editing the command file to skip review so it 'goes faster'.
  • Skipping the Customer Ticket Triage & Reply skill that the command depends on.

Frequently asked questions

  • What does /ticket do in Cursor?
    Takes a user complaint, reproduces it, patches the smallest surface, adds a test, and drafts the reply.
  • When should I run /ticket?
    Use when a user wrote in. Not for a raw stack trace with no customer (use /fix).
  • What is an example /ticket prompt?
    /ticket User: Safari login spins forever after Google OAuth
  • Which skills does /ticket load?
    Customer Ticket Triage & Reply; Resilient Error Handling & Fault Tolerance; Vitest Unit & Integration Testing
  • Is /ticket a Cursor skill?
    No. /ticket is a slash command you type. Skills are playbooks the agent may load. Use both: the command runs the workflow, the skills constrain how it writes.

Run /ticket from your own repo

AgenticKit installs 47 slash commands, 46 agents, and 61 skills. One command installation.