← QuoCONTENT HISTORY

Update to Quo

Snapshot Sep 30, 2026 · 23:18 UTC · version 8.0.0

Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Supporting file metadata differs

Newly listed paths: agents/openai.yaml, output-template.md, prioritization.md. This compares saved file lists, not package contents; a different collection source can change the list.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Supporting files

Before

[]

After

[{"relative_path":"agents/openai.yaml","size_in_bytes":270},{"relative_path":"output-template.md","size_in_bytes":1807},{"relative_path":"prioritization.md","size_in_bytes":2026}]

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /included_files

BEFORE
[]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 270
  },
  {
    "relative_path": "output-template.md",
    "size_in_bytes": 1807
  },
  {
    "relative_path": "prioritization.md",
    "size_in_bytes": 2026
  }
]
Full snapshot data
{
  "name": "quo-conversation-insight-log",
  "description": "Create a bounded, passive, prioritized insight log from recent Quo messages, transcribed calls, missed calls, and voicemail transcripts through the Quo MCP. Use for call-log templates, recent customer-conversation reviews, daily or weekly communication digests, and finding important requests, risks, opportunities, commitments, or follow-ups in Quo with ChatGPT or Claude. Do not use it to claim complete call analytics, call volumes, or coverage of answered calls without transcripts.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 270
    },
    {
      "relative_path": "output-template.md",
      "size_in_bytes": 1807
    },
    {
      "relative_path": "prioritization.md",
      "size_in_bytes": 2026
    }
  ],
  "skill_md_contents": "---\nname: quo-conversation-insight-log\ndescription: Create a bounded, passive, prioritized insight log from recent Quo messages, transcribed calls, missed calls, and voicemail transcripts through the Quo MCP. Use for call-log templates, recent customer-conversation reviews, daily or weekly communication digests, and finding important requests, risks, opportunities, commitments, or follow-ups in Quo with ChatGPT or Claude. Do not use it to claim complete call analytics, call volumes, or coverage of answered calls without transcripts.\n---\n\n# Quo Conversation Insight Log\n\nBuild a decision-useful log of recent customer conversations. Treat this as qualitative conversation review, not an analytics export.\n\nBefore running, read [prioritization.md](prioritization.md) and [output-template.md](output-template.md).\n\n## Set the window\n\n1. Use the user's explicit start and end when provided.\n2. Otherwise, set `since` to 00:00 seven calendar days before the run in the user's timezone and set `through` to the current time.\n3. If the user asks for changes since a previous run, use the previous log's exact `through` timestamp. If it is unavailable, use the seven-day default and disclose the fallback.\n4. State the human-readable window, timezone, and exact ISO-8601 boundaries at the top of the result.\n5. Never silently query all history. Do not default to more than seven days.\n\nExample default for a run on July 24, 2026 in America/Toronto:\n\n```text\nSince: 2026-07-17T00:00:00-04:00\nThrough: <current time in America/Toronto>\n```\n\n## Read Quo safely\n\nUse the Quo MCP tools by capability; exact tool prefixes may differ between ChatGPT and Claude.\n\n**Run every Quo fetch sequentially. Never issue parallel, concurrent, batched, or `Promise.all`-style MCP requests. Only one inbox and one fetch operation may be active at a time.**\n\n1. Call `list-inboxes` to discover accessible inboxes. Respect an inbox or owner filter from the user; otherwise review all accessible inboxes.\n2. Choose the first inbox. Do not start work on any other inbox yet.\n3. Call `fetch-messages` for that inbox with `createdAfter` and `createdBefore`. When `participantPhoneNumber` is omitted, do not rely on `maxResults`: the whole-inbox handler ignores it. Review and normalize the result before making another MCP call.\n4. Interpret whole-inbox message coverage signals exactly:\n   - `[next_conversations: TOKEN]`: continue sequentially with `conversationPageToken: TOKEN`.\n   - `[incomplete: N more participant(s) ...]`: there is no pagination token for the omitted participants. Narrow the time window or query a known high-priority contact with `participantPhoneNumber`; otherwise disclose incomplete participant coverage.\n5. Finish or stop the inbox's message stream before proceeding. Do not treat `[incomplete]` as a `conversationPageToken` signal.\n6. Call `fetch-call-transcripts` for the same inbox and window with `maxResults: 100`. Review and normalize the result before making another MCP call. Follow `conversationPageToken` for older discovery batches; use `participantPhoneNumber` with `pageToken` only for a requested or high-priority contact drill-down.\n7. Call `fetch-missed-calls` for the same inbox and window as a third sequential stream when the tool is available. Include useful voicemail transcripts and preserve returned recording URLs as sources. Pass only arguments supported by the active tool schema and follow its returned pagination or coverage signals exactly. If the tool is unavailable, state that missed calls and voicemails were not reviewed.\n8. Finalize and compact that inbox's candidates. Discard full raw transcript and message text that is no longer needed.\n9. Only then move to the next inbox and repeat steps 3–8. Do not prefetch, overlap, or queue calls for later inboxes.\n10. Default to at most three tokenized pages per stream and inbox; stop earlier once the boundary is covered. If the window is still incomplete, disclose the cap and offer a narrower inbox, owner, contact, or date window.\n\nRecover from weight or response-size limits without parallelism:\n\n- For whole-inbox `fetch-messages`, do not lower `maxResults`; it has no effect. Split the date range into smaller, non-overlapping intervals and process those intervals sequentially, newest first. If `[incomplete]` persists, narrow again or query a known contact.\n- For `fetch-call-transcripts`, retry only the failing inbox and stream with `maxResults: 25`, then paginate sequentially.\n- For `fetch-missed-calls`, use only the active tool's documented volume controls. If necessary, split the date window sequentially.\n\nDo not send messages, alter contacts, or perform any other write. This is a passive, read-only skill.\n\n## Normalize and deduplicate\n\nRepresent each candidate with:\n\n- channel: message, transcribed call, missed call, or voicemail\n- date and time in the user's timezone\n- contact or recognizable participant; omit full phone numbers by default\n- inbox and team member when available\n- one-sentence outcome or issue\n- explicit ask, commitment, deadline, risk, or opportunity\n- source conversation/call identifier when returned by Quo\n\nMerge messages and calls that concern the same contact and topic into one item. Keep the newest state, while preserving an earlier unfulfilled commitment or deadline. Do not create separate entries for greetings, confirmations, or repeated fragments of one exchange.\n\nPrefer a contact name already returned by Quo. For a high-priority candidate with a returned contact ID, call `get-contact` sequentially to enrich the label. If only a phone number is available, keep it masked by default. Do not enumerate the entire contacts directory merely to replace every phone number. When the user explicitly requests full contact naming, use `list-contacts` and `get-contact` sequentially and stop after the needed matches are found.\n\n## Prioritize the log\n\nApply the rubric in [prioritization.md](prioritization.md). Use three approximate bands:\n\n- **P1 — act now:** time-sensitive request, escalation, churn or safety risk, high-value blocker, missed commitment, or customer waiting on a decision.\n- **P2 — follow up:** concrete opportunity, request, unresolved question, promised action, or meaningful product/service friction without immediate urgency.\n- **P3 — keep in view:** useful relationship context, early signal, repeated theme, or non-urgent insight worth retaining.\n\nOrder within each band by urgency, then business/customer impact, then recency. Do not invent numeric scores or imply scientific precision.\n\n## Produce the insight log\n\nUse [output-template.md](output-template.md). Keep entries concise and evidence-based. For each P1 or P2 item, make the next step explicit; label it as a recommendation unless the conversation contains a real commitment.\n\nAdd a short patterns section only when at least two independent conversations support the pattern. Distinguish direct evidence from inference. Never infer sentiment, intent, or an owner from weak evidence.\n\n## Preserve the product boundary\n\nThe Quo MCP is not a complete analytics source:\n\n- `fetch-call-transcripts` covers completed calls with usable dialogue, not every answered or untranscribed call.\n- `fetch-missed-calls` adds missed-call and voicemail evidence when available, but it still does not make the result a complete call ledger.\n- Cross-participant retrieval and message results are bounded and may be paginated or capped.\n- Absence from the returned data does not prove that an event did not occur.\n- Counts from returned records describe records reviewed, not total workspace activity.\n\nDo not calculate or claim total call volume, answer rates, missed-call rates, conversion rates, complete agent performance, or exhaustive contact coverage. When the user needs those metrics, recommend a Quo Analytics CSV export and keep that workflow separate from this insight log.\n\n## Cross-platform behavior\n\nKeep the skill portable between ChatGPT and Claude:\n\n- depend only on the Quo MCP and Markdown output\n- identify tools by capability when platform-specific names differ\n- avoid platform-specific filesystem, code execution, memory, or UI assumptions\n- preserve the same window, coverage caveats, priority bands, and output schema on both platforms\n"
}

SHA-256: c441bffa83b7df19ea32b25edfe0189b89fec984b572314af6b08b02aeaed599