Skip to content

Job pack · handoff

Support / ops agent

Router or handoff into specialists. Humans as tools. Durable state on the ticket. No group chat on prod.

When: Inbound language must become a structured action on a customer object, with approval on side effects.

Ticket is the blob. Handoff rewrites the brief. Refunds are ask_human. Do not start a crew.

GET /api/canon/jobs/support-agent?format=md

Matching skill · Support / ops agent

Playbooks

Doctrine to load

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.

Checklists

Ready to build

  • Named termination: done schema, max turns, token/money cap.
  • Sandbox / allowlist for every side effect. Secrets in the executor.
  • An explicit context builder: pinned, working, recalled, compacted.
  • A golden set of 20–50 real tasks, run in CI on prompt change.
  • Launch / pause / resume APIs. HITL is a tool that checkpoints.

ACI quality

  • One job per tool. No mega-tool JSON blob.
  • Verb names the model will say: read_file, apply_patch, ask_human.
  • Compact errors: the smallest string that enables the next correct action.
  • Capped results. Pagination or a file write instead of 200k-token dumps.
  • Idempotent or journaled. Retries do not double side effects.
  • Allow / ask / deny in code, logged, resumable.

Recipes

Default corpus

openai-agentslanggraphn8ninngest