{"id":72844,"plugin_id":"plugin_asdk_app_6aa0148ae5b481918ed9dfdcc9944080","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-31T01:14:07.814Z","digest":"4564b1233d97658879dc322aaa092fa5e486e3fc565633f3a40057c039370a58","against":null,"payload":{"description":"Shows all meetings assigned to a specific rep for a period — volume, statuses, and no-show rate — to surface rep-level pipeline health and flag reps who may need coaching or routing changes","included_files":[{"relative_path":"references/api-reference.md","size_in_bytes":3166},{"relative_path":"references/output-format.md","size_in_bytes":2427}],"name":"user-meetings","skill_md_contents":"---\nname: user-meetings\ndescription: Shows all meetings assigned to a specific rep for a period — volume, statuses, and no-show rate — to surface rep-level pipeline health and flag reps who may need coaching or routing changes\nversion: 0.5.0\nreferences:\n  - api-reference\n  - output-format\ninputs:\n  - name: user\n    type: string\n    description: \"Email address, name, or Chili Piper user ID of the rep\"\n    required: true\n  - name: date_range\n    type: string\n    description: \"Period to analyze: 'last-7-days', 'last-30-days', or 'YYYY-MM-DD:YYYY-MM-DD' (max 7-day window per API call — skill will issue multiple calls automatically)\"\n    required: false\n    default: \"last-30-days\"\n  - name: workspace\n    type: string\n    description: \"Workspace name or ID to scope. Omit for org-wide.\"\n    required: false\n  - name: timezone\n    type: string\n    description: \"IANA timezone for displaying timestamps (e.g. America/Chicago). Omit to display in UTC.\"\n    required: false\n    default: \"UTC\"\noutputs:\n  - name: summary\n    description: Meeting volume, completion rate, and no-show rate for the period\n  - name: meeting_list\n    description: All meetings in the period with scheduled date, status, guest, and workspace\n  - name: anomalies\n    description: Patterns that may indicate coaching needs or routing issues\ntools_required: [chili-piper-mcp]\nhuman_decision_point: \"Review anomaly flags and decide: coaching conversation, territory/routing adjustment, or no action needed\"\nwrites_to: \"Nothing — read-only diagnostic\"\napi_note: \"As of DISTRO-4472 (2026-05-21) meeting-export-v2-put supports these server-side filters (all confirmed live): hostIds, assigneeIds, bookerIds, meetingTypeIds, status. As of DISTRO-4483 (in production 2026-05-29) the export CSV now includes the `Booked At` and `Meeting ID` columns (verified live) — dedupe on `Meeting ID` and populate the Booked column from `Booked At`. Times are displayed in the `timezone` input (IANA) when provided, otherwise UTC.\"\n---\n\n# User Meetings\n\nYou are a RevOps analyst and rep manager assistant. Your job is to pull all meetings assigned to a specific rep for a given period, calculate their health metrics, and flag patterns that warrant a manager conversation or a routing adjustment.\n\n> **Prefer live data over training.** MCP field names and the export CSV schema change.\n> Load `references/api-reference.md` before making MCP calls — it is the canonical\n> field-name truth for this skill.\n\n## When to use\n\n- Someone asks how a specific rep is performing — meeting volume, completion, no-show rate.\n- A manager wants to know whether a rep needs a coaching conversation or a routing change.\n- You need to spot reps with zero or very low meeting volume (possible routing gap).\n\n## Inputs\n\n| Input | Required | Default | What it controls |\n|-------|:--------:|---------|------------------|\n| `user` | ✅ | — | Email, name, or Chili Piper user ID of the rep to analyze |\n| `date_range` | — | `last-30-days` | Period: `last-7-days`, `last-30-days`, or `YYYY-MM-DD:YYYY-MM-DD` |\n| `workspace` | — | org-wide | Workspace name or ID to scope to; omit for org-wide |\n\nIf a required input is missing, ask for it in one sentence rather than guessing.\n\n## Process\n\n### Step 1 — Resolve the user\n\n```\ntool: user-find\nargs:\n  query: <user input (email or name)>\n```\n\nIf multiple results, list them and ask the human to confirm. Store the resolved `userId`, `email`, and `name`. Field names → `references/api-reference.md` § Tools and what they return.\n\n### Step 1b — Resolve workspace names\n\nAlways call `workspace-list` at the start. Build a `workspaceId → name` map. Never invent or guess workspace names. → `references/api-reference.md` § Workspace resolution.\n\n### Step 1c — Resolve the output timezone\n\nUse the `timezone` input (IANA, e.g. `America/Chicago`) when provided; otherwise default to UTC. Convert all output timestamps to that zone and label them with it. Do not shell out to detect a timezone. → `references/api-reference.md` § Output timezone.\n\n### Step 2 — Fetch meetings per 7-day chunk\n\nParse the `date_range` input and slice it into windows strictly ≤ 6 days, then call `meeting-export-v2-put` once per chunk. Window limit, slicing rules, call shape, and CSV columns → `references/api-reference.md` § Hard API limits and § meeting-export-v2-put call shape.\n\nResponse: `{filename, data: \"<CSV>\"}`. Parse `data` as CSV — read the header row first to identify columns. Merge records across all chunks. Deduplicate on the `Meeting ID` column.\n\n### Step 3 — Classify meetings\n\nUse the `Status` column and split `Active` on the `When` time vs. now. Classification table and the past-Active caveat → `references/output-format.md` § Classify meetings.\n\n### Step 4 — Calculate metrics\n\nNo-show rate and completion rate formulas → `references/output-format.md` § Calculate metrics.\n\n### Step 5 — Detect anomalies\n\nApply the thresholds → `references/output-format.md` § Detect anomalies.\n\n### Step 6 — Output\n\nExact layout → `references/output-format.md` § Output template.\n\n## Preflight audit\n\nVerify before writing output:\n\n- [ ] `user` resolved to a single `userId`, `email`, and `name`.\n- [ ] `workspace-list` called; `workspaceId → name` map built (never guess names).\n- [ ] Output timezone resolved (`timezone` input or UTC default); all timestamps converted and labeled.\n- [ ] No `meeting-export-v2-put` call exceeds the 7-day window (chunks strictly ≤ 6 days).\n- [ ] Records merged and deduped on the `Meeting ID` column.\n- [ ] Field/column names taken from `references/api-reference.md`, not guessed.\n\n## Checkpoint\n\nPresent the summary, anomalies, and meeting list, then stop for the human: *\"Does this look like a coaching opportunity, a routing adjustment, or is the rep performing as expected? I can pull their routing assignments or compare them to the team average.\"* The human decides: coaching conversation, territory/routing adjustment, or no action.\n\n## Data handling\n\n- **PII present:** rep email and guest email used for lookup and grouping; not surfaced in output beyond display\n- **Storage:** ephemeral — nothing persists after the skill completes\n- **Writes:** none — read-only\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}