← ZoomInfoCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to ZoomInfo
Snapshot Sep 30, 2026 · 22:44 UTC · version 6.1.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "competitor-analysis",
"description": "Produce a fact-led competitive intel brief on one or more competitors — firmographics, recent strategic moves, product positioning, ICP overlap, and discovery questions. Defaults to your configured competitors from GTM context if none specified. Combines ZoomInfo data (account_research, scoops, intent, exec teams, similar companies) with web search for product/pricing/customer-sentiment intelligence. Identify competitors by ZoomInfo account/company ID (preferred) or name; include rich context on why the brief is being pulled and what decision it supports.",
"included_files": [],
"skill_md_contents": "---\nname: competitor-analysis\ndescription: Produce a fact-led competitive intel brief on one or more competitors — firmographics, recent strategic moves, product positioning, ICP overlap, and discovery questions. Defaults to your configured competitors from GTM context if none specified. Combines ZoomInfo data (account_research, scoops, intent, exec teams, similar companies) with web search for product/pricing/customer-sentiment intelligence. Identify competitors by ZoomInfo account/company ID (preferred) or name; include rich context on why the brief is being pulled and what decision it supports.\n---\n\n# Competitor Analysis\n\nProduce a fact-led competitive intel brief. Lead with an executive comparison across competitors, then a per-competitor section. Pull positioning verbatim from the GTM context — don't invent your own opinions about who wins or who's the biggest threat.\n\n## Input\n\nThe user will provide via `$ARGUMENTS`:\n\n- **Competitor identifiers (optional)** — zero or more of:\n - **Preferred**: ZoomInfo account/company IDs (numeric). Use directly as `companyId`; skip the search step for that competitor.\n - **Fallback**: competitor names. Resolve via `search_companies` (use `companyWebsite` from GTM context's `url` field if present; otherwise `companyName`).\n - If omitted entirely, default to all competitors configured in your GTM context.\n - For named competitors NOT in GTM context, flag as \"uncovered\" — research proceeds, but pre-built positioning is missing.\n- **Research context (strongly recommended)** — a free-form description of *why* this brief is being pulled and what decision it supports. Richer is better — flat depth enums and deal one-liners produce flat briefs. Capture as much as is true: the deal or situation in play, what you're losing or winning on, the offering or product line under pressure, the audience for the brief (AE prep / leadership review / enablement), how exhaustive the analysis needs to be, and any specific angles or hypotheses to test. Examples:\n - *\"Losing the mid-market segment to Clay on data orchestration. Need to understand their recent product moves, pricing, and where their customer reviews show cracks. AE-facing — concrete discovery questions matter most.\"*\n - *\"Quarterly competitive review for leadership. All configured competitors. Want a scannable Executive Comparison plus 90-day strategic moves. Depth on each is light.\"*\n - *\"Deep dive on Acme before a head-to-head bake-off next month. Their security platform vs ours. Want G2/TrustRadius sentiment themes, recent CISO commentary, and the exact products they'd field against our SKUs.\"*\n\nThis context drives depth allocation (deep vs scan), the `account_research` query framing, scoops/news triage, web-search angles, and the discovery-question slant.\n\n## Workflow\n\nParallelize aggressively — once each competitor's company ID is resolved, all per-competitor calls can fan out in parallel. When briefing multiple competitors, run all competitors' fan-outs in the same parallel batch.\n\n1. **Anchor on purpose.** Read the research context from `$ARGUMENTS`.\n - If supplied, restate it in 1-2 sentences as the *brief purpose* and keep it as the framing lens for every downstream step.\n - If missing, ask the user once. If they decline or say \"just general competitive intel\", default to **general competitive scan across configured competitors** and state that assumption at the top.\n - From the context, derive: a **brief purpose** (1 line), **depth allocation** (which competitors get deep treatment vs lighter coverage), **priority angles** (3-5 — e.g., pricing, data orchestration, CISO-level positioning, G2 sentiment), and any **named hypotheses** to test (e.g., \"test whether Clay's mid-market push is sustainable\"). These drive the `account_research` query, scoops triage, and web-search angles.\n\n2. **Get GTM context** — call `get_gtm_context` with `detailed: true`. This is the **anchor source**: it contains your defined competitors with `products`, `reasonsTheyWin`, `reasonsTheyLose`, `customersWeWon`, and `competitiveProducts`. Quote these verbatim in the output — they're pre-built positioning content, not your interpretation.\n\n3. **Determine the competitor set** — match user-named competitors (or IDs) against the GTM-context list. If user named none, brief all configured. Flag uncovered competitors as noted in Input.\n\n4. **For each competitor, fan out in parallel (retrieval, not filtering).** Treat each tool call as a context-retrieval step. Pull broadly now; decide what's relevant during synthesis.\n - **Resolve company ID** — if the user supplied a ZoomInfo ID, use directly; otherwise `search_companies` (use `companyWebsite` from GTM context's `url` field if present; fall back to `companyName`).\n - **Firmographics** via `enrich_companies` (full field set including `employeeCountByDepartment`, `companyFunding`, `recentFundingDate`, `totalFundingAmount`).\n - **Strategic narrative** via `account_research` — inject the brief purpose, priority angles, and named hypotheses into the query. Ask for go-to-market motion, recent moves, customer wins/losses, leadership changes, direct overlap with your products, and anything that bears on the specific angles named in the context.\n - **Recent scoops and intent** via `enrich_company_signals` (`signalTypes: [\"SCOOP\", \"INTENT\"]`) — one call returns their recent scoops and intent topics, with no role or topic pre-filtering. Triage in step 7. Intent for competitors often returns sparse — note as a confidence indicator if so.\n - **Their executive team** via `search_contacts` (`managementLevel: \"C Level Exec,VP Level Exec\"`, sort by `-contactAccuracyScore`, `pageSize: 15`).\n - **Their similar companies** via `find_similar_companies` — apply the cohort-consistency check; if the top peers span inconsistent industries vs the target, flag as directional only.\n\n5. **Web search per competitor** — `WebSearch` targeted to the priority angles from step 1. At minimum: G2 reviews / TrustRadius sentiment, head-to-head comparisons (`\"[Competitor] vs [Your Org]\"`), recent product launches, public earnings/CEO statements (if public). For deep targets, add angle-specific queries (e.g., pricing, specific product lines, customer churn stories). Capture verifiable quotes with URLs. **Cross-check exec data**: if `account_research` named a CEO, verify against web — stale CEO records have been observed.\n\n6. **Date and currency checks** — if `account_research` surfaces dates in the past (renewal, contract end, exec tenure end, last activity), retain but flag for verification. If a CEO or other top exec named in `account_research` is contradicted by web search, lead with the corrected fact and note the source disagreement.\n\n7. **Synthesize.** Each retrieval is raw context — now decide what makes the brief, framed by the brief purpose and priority angles. Apply these principles:\n - **Intent triage**: from the `enrich_company_signals` intent topics, keep those that map to the brief purpose, priority angles, or non-obvious competitive signals worth flagging. Drop noise. If nothing meaningful remains, say so explicitly — don't infer roadmap from absence.\n - **Scoops triage**: keep product launches, exec moves at VP+, partnerships, M&A, hiring patterns relevant to the priority angles. Drop generic press releases.\n - **Verbatim positioning**: pull `reasonsTheyWin`, `reasonsTheyLose`, `customersWeWon` **verbatim** from GTM context. Do not paraphrase or add your own opinions.\n - **Recent moves**: dated, sourced, described without interpretation (\"Acquired Pocus on Mar 19\" — not \"Aggressive M&A signals confidence\").\n - **ICP overlap**: classify each of your defined ICPs against the competitor's apparent reach (High / Partial / None) using firmographics and `customersWeWon` evidence.\n - **Discovery questions**: 3 per competitor (more for deep targets), anchored in a specific gap, priority angle, or surfaced fact. Not generic.\n - **Hypothesis check**: explicitly address each named hypothesis from step 1 — confirmed / contradicted / unresolved. Surface in the Executive Comparison preamble.\n - **Avoid** threat ranking, \"biggest threat\" calls, or whitespace synthesis — these require win-rate and pipeline data the skill doesn't have.\n\n## Output Format\n\n### Executive Comparison\n\n*Brief purpose: [restate the user's research context in one line, or \"general competitive scan (no context supplied)\" if defaulted].*\n\n**Hypothesis check** (one line per named hypothesis from the input): confirmed / contradicted / unresolved.\n\nA single side-by-side table covering all competitors:\n\n| | Competitor 1 | Competitor 2 | Competitor 3 |\n|---|---|---|---|\n| HQ / Founded | | | |\n| Type / Funding | total raised + most recent round + date | | |\n| Revenue (range) | | | |\n| Employees (Eng / Sales / Mktg) | | | |\n| CEO | | | |\n| Most recent strategic move | one-line + date | | |\n| Public G2 rating (if pulled) | | | |\n| Defined by [Your Org] as primary competitor for | from GTM context `competitiveProducts` | | |\n\nBelow the table, a short **Recent product/strategy moves (last 90 days, all competitors)** bulleted list — one to three bullets per competitor, with `[scoops]` / `[web]` / `[CRM]` source tags.\n\nThen a **⚠️ Data quality flags** block listing any failures or uncertain data — failed intent calls, weak similarity cohorts, stale exec records caught by web cross-check, framework errors. Be specific.\n\n---\n\n### [Competitor Name]\n\n**Snapshot.** One-paragraph context — what they do, key exec team (CEO / CTO / CMO / CRO / CPO), department headcount weights from `employeeCountByDepartment`.\n\n**Recent moves (last 90 days)** with `[source]` tags — bulleted, dated, no interpretation. Lead with M&A and exec moves; then product launches; then hiring patterns. Include URLs for web-sourced items.\n\n**Product positioning (per [Your Org]'s defined competitive matrix):**\n\n| Their product | Your product (per GTM context) |\n|---|---|\n| | |\n\nMap their products to the items in GTM context's `competitiveProducts` field for this competitor.\n\n**Per GTM context** `[GTM]`:\n- *reasonsTheyWin*: [verbatim from GTM context — bulleted]\n- *reasonsTheyLose*: [verbatim from GTM context — bulleted]\n- *customersWeWon*: [verbatim from GTM context — bulleted]\n\n**ICP overlap with [Your Org]'s defined ICPs:**\n- High: [ICP names where the competitor competes hard]\n- Partial: [ICP names where they touch but it's not their focus]\n- None: [ICPs they don't compete in]\n\n(Use firmographics + `customersWeWon` as evidence. If unclear, mark as \"Partial\".)\n\n**G2 / web sentiment** `[web]` (if pulled): rating + N reviews. 1-2 themes from praise, 1-2 themes from criticism. Source URLs.\n\n**Intent signal** `[intent]` (if returned): 1-line note. If 0 signals returned, say so explicitly — don't infer roadmap from absence.\n\n**Discovery questions to ask in deal:**\n\n1. [Question rooted in a specific `reasonsTheyLose` weakness or a verified gap]\n2. [Question that surfaces a feature/capability they're missing]\n3. [Question grounded in a recent move or specific deal-stage friction]\n\n---\n\n### [Next Competitor Name]\n\n(Repeat the structure above per competitor.)\n\n---\n\n### Skill Issues to Fold Back\n\nIf anything failed or returned unreliable data during the run, list it here so the next iteration can pick it up:\n- Tool errors (parameter type bugs, 400s)\n- Weak `find_similar_companies` cohorts\n- Stale `account_research` records caught by web search\n- Empty `enrich_company_signals` intent results\n\nThis section can be omitted if everything ran cleanly.\n\n## Notes on what NOT to do\n\n- **Don't invent threat rankings** (\"top threat\", \"fastest mover\", \"most displaceable\"). The skill doesn't have win-rate or pipeline data to back these calls.\n- **Don't paraphrase** `reasonsTheyWin` / `reasonsTheyLose` / `customersWeWon` — quote them verbatim. They're pre-built positioning your org has approved.\n- **Don't interpret roadmap from absence of intent signals** — competitors often return sparse intent.\n- **Don't synthesize a cross-competitor whitespace section** — that requires win/loss data this skill doesn't pull.\n- **Don't pad** — if a section has thin data, say so explicitly rather than filling with interpretation.\n"
}SHA-256: a9b386a08390388591ece5f6b1827d3343e736fba9450b8175352c419c493bca