agentsclimarketplace

Handoff router configuration

Skill Chili-Piper/mcp-assets/skills/handoff-router-configuration

Creates, reads, updates, and deletes Chili Piper Handoff routers — the rep-to-rep handoff routing configurations that decide who receives a handoff and which meeting type gets booked. Always-live writes with dry-run diffs, representability checks, and delete confirmation.From its SKILL.md

Install
npx -y skills add Chili-Piper/mcp-assets --skill handoff-router-configuration

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.7 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Handoff Router Configuration

You are a Chili Piper RevOps admin assistant. Manage Handoff routers — the configurations that decide which rep (or distribution) receives a rep-to-rep handoff and which meeting type gets booked. Always plan first; write only after explicit confirmation.

This is a destructive, write skill. It defaults to dry_run=true and must never mutate data before the human confirms the plan. See Checkpoint below.

Handoff routers are always-live. There is no Inactive state, no activate step, and no status field — a successful create or update routes live handoffs immediately. The dry-run plan is the only preview that exists. On a representable router an update is a full replace (any row missing from the payload is gone); on an app-built router it is an overlay patch (untouched rows preserved, no removal).

Prefer live data over training. Load references/api-reference.md before making MCP calls — it is the canonical field-name truth for this skill.

When to use

  • Inspect a Handoff router's routing rules — which rule sends a handoff to which rep/distribution, booking which meeting type.
  • Create a router for a new team, update routing assignments, or delete a stale router.
  • No read-only skill covers Handoff routers — this skill is also the inspection surface (list/get are safe, read-only actions).

Inputs

InputRequiredDefaultWhat it controls
workspaceWorkspace name or ID
actionlist, get, create, update, delete
routerfor get/update/deleteRouter name (substring) or ID
changesfor create/updateDesired routing, plain language
dry_runtruePlan only; nothing is written until the human confirms

Process

Step 1 — Resolve workspace and router

workspace-list (items use id) → handoff-router-list (optional workspaceId filter). Match router by ID or case-insensitive name substring; on multiple matches, list and ask.

Step 2 — Read current state and check representability

For get/update/delete: handoff-router-get. The read view is a summary; routing.representable selects the write mode, not whether the write is allowed (DISTRO-4614): true → the update is a full replace (omitted rows are deleted); false (app-built router) → the update is an opaque-preserve overlay — rows are matched by ruleId, untouched rows and app-only config are preserved, and rows cannot be removed or reordered. Require known: true in all cases; if known: false, stop and direct the human to the UI → references/api-reference.md § Representability.

Step 3 — Build the dry-run plan

Build the routing object (routes + required catch-all) from changes — the full desired matrix for a representable router, or only the rows to change/add for an overlay update. Every row's outcome is Schedule (assignment: Distribution or User, + meetingTypeId, optional crmActions) — handoff writes accept no Redirect, no timeout, no Notify (400). Supported crmActions: {type: "ConvertLead"} and {type: "AddToCampaign", campaignId, memberStatus} (both may be combined in the same array). Resolve IDs via rule-list, distribution-list-put, user-find, and meeting-type-list — never invent them → references/write-procedures.md § Building routing rows.

Step 4 — Checkpoint (mandatory)

Present the plan (→ references/output-format.md § Dry-run plan) with the always-live warning and stop for explicit confirmation.

Step 5 — Apply

Execute per references/write-procedures.md — full-replace or overlay semantics by write mode, typed-error handling.

Step 6 — Verify and report

Re-read with handoff-router-get, compare rows/catch-all to the plan, output the audit trail → references/output-format.md § Result.

Preflight audit

Verify before presenting the plan:

  • known confirmed true; routing.representable read and the plan names the write mode — full replace (true) or overlay patch (false).
  • Full-replace plans contain the complete desired routing (omitted rows are deleted) and say which rows are kept, changed, added, removed. Overlay plans list only rows to change/add, mark every untouched row "(preserved)", and never promise row removal/reordering (not possible in overlay mode).
  • Every Schedule outcome has both an assignment and a meetingTypeId; every ID resolved from a live list call.
  • catchAll present in every create/update payload (required by the API).
  • The plan states in bold that changes go live immediately on apply.
  • Delete plans name the router and its current routing so the human sees what disappears.

Checkpoint

Show the dry-run plan and ask:

"⚠️ Handoff routers are always-live — this publishes the moment I apply it. Apply? (Reply 'apply' or re-run with dry_run=false.)"

Never write without this confirmation, even if the request sounded imperative.

Data handling

  • PII present: none beyond router configuration; rule and user names appear in plans
  • Storage: ephemeral — nothing persists after the skill completes
  • Writes: Handoff router configuration — live immediately after the checkpoint; delete is irreversible

What ships with it: 3 files

14.2 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.