{"id":71991,"plugin_id":"plugin_asdk_app_6ae1fbfde930819188d2ae80dcfc0bce","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-30T00:06:34.381Z","digest":"7be9f5c5b25e66e621421b04cfdd7762e7426c8ce102147060b0be1ecef68acf","against":null,"payload":{"description":"Shows open action items and commitments. Who promised what, and by when. Works for one call, one deal, or a whole account.","included_files":[],"name":"actions-commitments","skill_md_contents":"---\nname: actions-commitments\ndescription: \"Shows open action items and commitments. Who promised what, and by when. Works for one call, one deal, or a whole account.\"\nlicense: MIT\nmetadata:\n  zime:skill-id: 65cb2c4b-4d72-4393-81b5-7546750abae2\n  zime:tag: execution\n  zime:roles: ae,cs\n  zime:visibility: global\n  zime:skill-version: \"1\"\n  zime:marketplace-version: 0.1.20\n---\n\n# Actions & Commitments\n\nBefore anything else, call the Zime connector tool `skill_used` with skill_id `65cb2c4b-4d72-4393-81b5-7546750abae2`, skill_version `1` and skill_slug `actions-commitments`. It records which skill ran for Zime usage analytics. If the Zime connector is not available, skip this step and continue.\n\nAnswers \"what's still open?\" with commitments that were actually made — who\nowns each one and when it's due. The value here is that nothing is invented:\nan unclaimed action with no owner is reported as unowned, not assigned to\nwhoever seems likely.\n\n## How It Works\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│                    ACTIONS & COMMITMENTS                         │\n├─────────────────────────────────────────────────────────────────┤\n│  STEP 1 — RESOLVE SCOPE (this skill)                             │\n│  ✓ One call    → list_meetings  → call_id                        │\n│  ✓ One deal    → list_deals     → deal_id                        │\n│  ✓ An account  → list_deals / list_meetings for that account     │\n├─────────────────────────────────────────────────────────────────┤\n│  STEP 2 — DELEGATE (Zime agent)                                  │\n│  + ask_zime, naming the call, deal, or account in the question    │\n│  + Agent extracts commitments, owners, dates from real calls     │\n├─────────────────────────────────────────────────────────────────┤\n│  LOCAL FALLBACK (no zime-mcp)                                    │\n│  ~ Extract from a transcript file the user provides              │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n## Usage\n\n```\n@actions-commitments <call, deal, or account> [+ when]\n```\n\nIn the ChatGPT desktop app you can also type `/actions-commitments`.\n\nShow the open commitments for the call, deal or account the user named.\n\n## Routing\n\n- A full recap of one call, not just its actions → `review-call`.\n- The email that chases these items → `follow-up`.\n- Deal risk and strategy, or pipeline-wide status across many deals, rather\n  than open items → `review-account`.\n\n## What I Need From You\n\nThe scope — a call, a deal, or an account — and a time window if you want it\nbounded (\"this week\", \"since the QBR\"). If the scope is ambiguous I'll ask\nrather than guessing between a call and a deal.\n\n## MCP mode (required when zime-mcp is connected)\n\n**Required tools:** `list_meetings` and/or `list_deals` (resolve), plus\n`ask_zime` (extract).\n\n> `ask_zime` routes to Zime's global agent, with no separate id\n> argument — name the call, deal, or account in the question text. Extracting\n> commitments yourself from a fetched transcript while it's available is a\n> failure of this skill: the agent also sees extracted signals and CRM\n> linkage, and it distinguishes a firm commitment from an idea someone\n> floated.\n\n### Step 1 — resolve the scope\n\nPick the narrowest scope the request implies:\n\n| Request shape | Resolve with | Then |\n|---|---|---|\n| \"on the Acme call\" | `list_meetings` (`recorded: true`) | name the call in the question |\n| \"on the Northwind deal\" | `list_deals` | name the deal in the question |\n| \"what did I promise Globex\" | `list_deals` for that account | name the account in the question |\n\n`multiple_matches` → show candidates, ask, pin the id. Never guess.\n`no_match` → say the window or naming likely excludes it; offer to widen.\n\n### Step 2 — delegate the extraction\n\n```json\n{ \"question\": \"List every commitment and action item from the Acme call on Aug 12: what was promised, who owns it, and the due date if one was stated. Separate our commitments from the customer's.\" }\n```\n\nor, for a deal or account arc:\n\n```json\n{ \"question\": \"List the open action items and commitments across the Northwind deal: what was promised, by whom, when it was promised, and whether it has been closed out.\" }\n```\n\nResolve pronouns to real names — the agent has no memory of this\nconversation.\n\n### Outcomes\n\n- **A list of commitments** — deliver per Output below.\n- **Nothing open** — say that plainly. \"No open commitments found\" is a valid\n  and useful answer; don't pad it with maybes.\n- **An error** — `{\"error\": \"<CODE>\", \"message\": \"<sentence>\"}`. Show the user\n  the message. `INTERNAL_ERROR` retry once; `TIMEOUT` narrow the scope and\n  retry; `CREDIT_LIMIT` stop and relay the message; `UNAUTHORIZED` /\n  `FORBIDDEN` means reconnect or lack of access. If it fails twice, say so\n  and offer the local fallback.\n\n## Output\n\nGroup by owner, because that's how the rep acts on it.\n\n```markdown\n**Open commitments — [scope]** · [window]\n\n### Ours\n| Commitment | Owner | Due | Source |\n|---|---|---|---|\n| [what was promised] | [name] | [date, or \"not stated\"] | [call, date] |\n\n### Customer's\n| Commitment | Owner | Due | Source |\n|---|---|---|---|\n| [what they promised] | [name] | [date, or \"not stated\"] | [call, date] |\n\n### Unowned\n| Commitment | Raised on | Note |\n|---|---|---|\n| [item with no clear owner] | [call, date] | needs an owner |\n\n_Extracted from the workspace's calls via Zime._\n```\n\nRules:\n\n- **Never invent an owner.** If nobody claimed it, it goes under Unowned.\n  Guessing an owner creates a false accountability trail.\n- **Never invent a due date.** \"not stated\" is the correct value when no date\n  was agreed — a plausible date read as real causes missed commitments.\n- Keep the source (which call, what date) on every row; that's what makes an\n  item checkable.\n- Distinguish ours from the customer's. A rep chasing their own list is a\n  different action from chasing the customer's.\n- If the agent marked something already closed, either omit it or label it\n  closed — don't silently re-open it.\n\n## Tips\n\n1. **Narrow the scope** — one call is sharper than a whole account.\n2. **\"not stated\" is the honest answer** for a missing date; treat it as a\n   prompt to go confirm.\n3. **Unowned items are the real finding** — they're the ones that get dropped.\n4. **Chase them with `follow-up`** once you know what's open.\n\n## Local mode (only when no zime-mcp server is connected)\n\nIf the user provides a transcript, extract commitments from that file only,\nusing the same owner/date discipline. Open with one line saying the list\ncovers just that call, so items agreed elsewhere are missing by construction.\n\n## What this sends where\n\nMCP mode sends query words and dates (to `list_meetings`/`list_deals`), then\nthe extraction question naming the call, deal, or account (to `ask_zime`).\nLocal mode reads only the provided file. At the start, the skill calls the\nZime connector tool `skill_used`, which records the skill's id, version and\nname with your user and session in Zime's usage log.\n\n## Related Skills\n\n- **follow-up** — the email that chases these\n- **review-call** — the full picture of one call\n- **create-sales-to-cs-handover** — commitments carried into the handover doc\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}