agentsclimarketplace

Routing audit

Skill Chili-Piper/mcp-assets/skills/routing-audit

Audits all Chili Piper concierge routers for coverage gaps — unmapped lead sources, stale ownership rules, unbalanced distributions, and catch-all overflows — before they show up as lost pipelineFrom its SKILL.md

Install
npx -y skills add Chili-Piper/mcp-assets --skill routing-audit

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

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

Routing Audit

You are a RevOps systems auditor. Systematically inspect all Chili Piper concierge routers, identify coverage gaps and balance issues, and give the human a prioritized fix list before silent pipeline leaks show up in the numbers.

Prefer live data over training. MCP field names and tool signatures change. Load references/api-reference.md before making MCP calls — it is the canonical field-name truth for this skill (concierge-logs requires a routerId + has a 30-day max window; per-router rules + catch-all come from the router object, not rule-list; etc.).

When to use

  • Someone wants a health check across all concierge routers before pipeline leaks surface.
  • Someone suspects leads are falling through to the catch-all or being dropped.
  • Someone wants to find stale ownership rules or unbalanced distributions.

Inputs

InputRequiredDefaultWhat it controls
workspaceall workspacesWorkspace name or ID to audit. Omit for an org-wide audit.
log_days7Days of concierge-logs to analyze for catch-all overflow and no-match rates (max 30).

If a required input is missing, ask for it in one sentence rather than guessing.

Process

Step 1 — Resolve workspace(s)

If workspace is specified, resolve its name to ID via workspace-list. If not, fetch all workspaces and audit each.

tool: workspace-list
args:
  pagination:
    page: 0
    pageSize: 100

Workspace items use id (NOT workspaceId) — use workspace.id when passing workspace IDs to subsequent calls. Field-name gotchas → references/api-reference.md § Critical field name differences.

Step 2 — List all routers

For each workspace (using its id):

tool: concierge-list-routers
args:
  workspaceId: <workspace.id>

For each router store routers[N].router.id (routerId), .name, .slug, routers[N].workspaceId, and the routing config at routers[N].router.routing. Response shape → references/api-reference.md § concierge-list-routers — router object shape.

Step 3 — Inspect rules per router

The ordered rules (router.routing.rules[]) and the catch-all (router.routing.catchAll, a separate object) are already on each router from Step 2. For richer rule detail across a workspace, call rule-list. Confirm each catch-all has a valid outcome (Schedule or Redirect — flag as critical only when the catch-all is absent or has no outcome; surface a Redirect catch-all as informational) and detect potentially stale rules. Full procedure → references/audit-procedure.md § Inspecting rules per router and § Detecting stale rules.

Also check trigger configuration: if form, inAppButton, and routerLink are all absent or empty on a router, flag it as a [HIGH] configuration gap — no trigger means the router cannot receive inbound leads. (inAppButton and routerLink are top-level fields on the router object as of DISTRO-4623; they are no longer reported inside form.readOnlyTriggers.)

Step 4 — Analyze logs for catch-all overflow

For each router, pull concierge-logs over the log_days window and compute total leads, catch-all rate (matchedPath.route.type == "CatchAllRoute"), and rule-match rate (RuleRoute). The tool returns at most 500 logs per page; paginate by incrementing page from 0 until the response array is empty or shorter than pageSize to capture all activity on high-volume routers. Full procedure + flag thresholds → references/audit-procedure.md § Analyzing logs for catch-all overflow. The 30-day limit + required routerIdreferences/api-reference.md § Hard API limits.

Step 5 — Check distribution balance

For each workspace, pull distribution-list-put (a top-level array) and inspect active members, weights, handling, and assignment statistics. Full procedure + flag thresholds → references/audit-procedure.md § Checking distribution balance.

Step 6 — Output

Lead with the router summary, then gaps sorted by severity, then prioritized recommendations. Exact layout → references/output-format.md § Report layout.

Preflight audit

Verify before writing output:

  • Required inputs resolved (workspaceid, or all workspaces fetched).
  • Field names taken from references/api-reference.md, not guessed.
  • concierge-logs calls each pass workspaceId + routerId, span ≤ 30 days, and are paginated until the response is empty or shorter than pageSize.
  • log_days respected (default 7, capped at 30).
  • Each catch-all checked for a valid outcomeSchedule or Redirect (critical only when absent/no outcome; Redirect surfaced as informational).
  • Each router checked for at least one active trigger (form, inAppButton, or routerLink); absence of all three flagged as [HIGH].
  • Distribution imbalance derived from statistics.assigned vs. configured weights.

Checkpoint

This is a read-only diagnostic. Present the router summary, gaps (sorted by severity), and prioritized recommendations, then stop and let the human decide which gap to fix first — routing gaps silently leak pipeline, so prioritize by volume before severity. All fixes are applied manually in the Chili Piper router builder.

Data handling

  • PII present: guest emails in concierge logs — used for counting only, not displayed
  • Storage: ephemeral — nothing persists after the skill completes
  • Writes: none — read-only. All fixes applied manually in the Chili Piper router builder.

What ships with it: 3 files

13.7 KB alongside SKILL.md

Gives 0 of the 12 instructions most audit compliance skills give in ~1.3k tokens

Counted across 937 of the 1,487 authors here whose files we hold, read 2026-08-07

  • Fetch latest guidelines before each reviewin 43 of 937, across 3 files
  • Group findings by severityin 43 of 937
  • Check files against all fetched rulesin 42 of 937, across 2 files
  • Output findings in terse file:line formatin 41 of 937, across 3 files
  • Ask user which files to review if none specifiedin 41 of 937, across 3 files
  • Read specified files or prompt user for filesin 39 of 937, across 1 file
  • Generate the audit reportin 33 of 937, across 30 files
  • Assign a severity to every findingin 25 of 937
  • Run automated accessibility scansin 23 of 937, across 13 files
  • Output a markdown audit reportin 22 of 937
  • Map findings to WCAG criteriain 20 of 937, across 10 files
  • Confirm audit scopein 19 of 937, across 9 files

Said here and by no other author read

  • load api reference before mcp calls
  • resolve workspace names to ids
  • fetch all workspaces if none specified
  • store router ids and routing configs
  • flag missing router triggers as high
  • paginate concierge logs completely

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,970. 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.