Skill · job · support-agent
Support / ops agent
Turn inbound language into a structured action on a customer object: router or handoff, ticket as the blob, ask_human on refunds. Use for support, ops, tickets — not a multi-agent group chat on production tools.
GET /api/canon/skills/support-agent?format=md
The ticket is the agent state. Handoff rewrites the brief. Refunds are ask_human. Crew demos do not belong on the billing API.
When
Inbound language must become a structured action, with approval on side effects.
Do
- 01
Ticket is the blob
Business fields and loop fields together. Resume from the ticket, not a parallel memory table.
- 02
Route or handoff
Triage writes a field. Specialist owns the conversation with a clean brief.
- 03
Side effects are asks
Refunds, credits, account deletes — ask_human, idempotent, journaled.
Don't
- Start a CrewAI group chat on the prod DB.
- Email the operator and lose the run.
Hard rules
- One orchestrator. Gateway from mail/chat/ticket into the same reducer.
- Lost HITL is a block.
Refuse
- HITL that cannot resume — The human answers and the run is gone. Approval as a side channel, not a tool.
- Double side effects — Non-idempotent tools, no journal. A retry refunds twice.
- Unsupervised group chat — Agents talking to each other against production tools with no turn bound and no typed messages.
- Shared mega-context — A crew sharing one bloated window. Specialists drown in each other's work.
Load with this
Load next
- Router / handoffStable categories and a cheap, accurate classifier.
- Humans as toolsA side effect needs a person, or the agent is missing information only a person has.
- Durable executionA demo works on your laptop and a customer will wait on it.
- Multi-agent topologiesSpecialists need different tools or a fresh window, and a parent must synthesize.
Trigger tests
Should fire
- “Support agent that can refund with approval”
- “Ops agent on tickets”
Should not
- “A coding agent for the repo”