← CrunchbaseCONTENT HISTORY

Update to Crunchbase

Snapshot Nov 11, 2026 · 00:08 UTC · version 1.1.0

Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED

Payment or plan references changed

Full description — Now says: Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request...

Observed in published text. Live prices and checkout terms have not been verified by this change.

Save Crunchbase and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Full description

Before

Sep 30, 2026 · 22:50 UTC

company watchlists stored as Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase watchlist or saved-list request omits them. Use when the user explici...

After

Nov 11, 2026 · 00:08 UTC

Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase saved l...

Skill instructions

Before

Sep 30, 2026 · 22:50 UTC

company watchlists stored as Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase watchlist or saved-list request omits them. Use when the user explici...

After

Nov 11, 2026 · 00:08 UTC

Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase saved l...

Supporting files

Before

Sep 30, 2026 · 22:50 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":236},{"relative_path":"assets/crunchbase-icon-blue.png","size_in_bytes":25215},{"relative_path":"references/calculation-spec.md","size_in_bytes":1985},{"relative_path":"references/en...

After

Nov 11, 2026 · 00:08 UTC

[{"relative_path":"LICENSE","size_in_bytes":1067},{"relative_path":"NOTICE","size_in_bytes":239},{"relative_path":"agents/openai.yaml","size_in_bytes":552},{"relative_path":"assets/crunchbase-icon-blue.png","size_in_bytes":25215},{"relat...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -1,32 +1,35 @@
 ---
 name: crunchbase-watchlists-manager
-description: Inspect, monitor, create, append, replace, or reconcile company watchlists stored as Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase watchlist or saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase watchlist or saved list, selects Crunchbase for a saved-list task, or follows up on an active watchlist or saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase.
+description: Inspect, monitor, create, append, replace, or reconcile Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase saved list, selects Crunchbase for a saved-list task, or follows up on an active saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase.
+license: MIT
 ---
 
-# Crunchbase Watchlists Manager
+# Watchlists Manager
 
 Treat saved lists as persistent company universes. Keep membership operations distinct from analysis of organization fields over time.
 
 ## Clarification contract
 
-1. Before acting, require the requested operation and its essential identifiers: an existing-list identity for inspect, monitor, append, remove, or replace; a list name for create; and a list name plus company set for save. Require explicit write intent before any membership change.
-2. When a required input is absent, make no Crunchbase call. Bundle all blocking inputs into one concise question, ask no more than three items, and offer a recommended assumption or default the user can accept in one reply. Do not drip questions across turns or attribute the question to Crunchbase coverage.
-3. Do not ask for optional preferences. If the user says “just run it” or “use the defaults,” proceed with disclosed assumptions only for read-only work; never infer a list identity, company identity, membership operation, replacement authorization, or write intent.
-4. When an approximate list or company identity is supplied, make only the minimum list-query or entity-resolution call needed to expose credible choices, then ask once. Ask again only when the user's answer introduces a new blocking ambiguity.
+1. Reuse the requested operation, identifiers, company set, and authorization from the conversation. Require an existing-list identity for inspect, monitor, append, remove, or replace; a list name for create; and a list name plus company set for save. Require explicit write intent before any membership change.
+2. When an essential input is absent, make no Crunchbase call. Bundle the blocking inputs into one concise question; offer candidate names or operations as proposals requiring acceptance. Never infer a list identity, company identity, membership operation, replacement authorization, or write intent.
+3. Do not ask for irrelevant preferences, re-ask answered questions, or seek authorization already given. “Use the defaults” accepts only a previously disclosed proposal and does not create write authorization. Ask about monitoring periods or comparison criteria only when the requested result depends on them.
+4. When an approximate list or company identity is supplied, make only the minimum list-query or entity-resolution call needed to expose credible choices, then ask once. Ask again only if the answer introduces a new blocking ambiguity.
 
 ## Operating contract
 
+Tool names below are Crunchbase basenames. Resolve them to the actual fully qualified names exposed by the connected Crunchbase server before calling them; do not guess a host prefix. If a required capability is unavailable, report the missing connection or tool and stop the dependent work.
+
 1. Use `cb_list_query` to identify a list and `cb_list_get` to retrieve or reconcile membership. If similar list names remain credible, show candidates and ask the user to choose.
 2. Monitoring, current-state review, comparison, and proposing changes are read-only. Write only when the user explicitly asks to create a list, save a supplied set, append resolved entities, or update membership.
-3. Resolve every named company first with `cb_expert_resolve_entity`. It is the only allowed expert tool; never call another tool whose basename contains `expert`. Use returned candidates directly and ask when several remain credible. Use `cb_entity_autocomplete` for a named company only after the resolver errors or returns no usable match or candidates.
+3. Resolve every named company first with `cb_expert_resolve_entity`. It is the only allowed expert tool; never call another tool whose basename contains `expert`. Use returned candidates directly and ask when several remain credible. Use `cb_entity_autocomplete` for a named company only after the resolver has a recoverable outage or returns no usable match or candidates.
 4. Use only domains supplied by the user or returned by a resolved record. Never invent or infer a domain from model memory.
 5. Before the first write, preview the intended operation, collision-free list name when creating, canonical linked companies, and confirmed/ambiguous/unresolved counts.
 6. After create, add confirmed organization UUIDs and call `cb_list_get`. After append, call `cb_list_get`. Once reconciliation succeeds, make no further tool calls and render the final result immediately.
 7. A remove request does not authorize a replacement list. If in-place removal is unavailable, preview the retained set and versioned replacement, then wait for explicit approval in a later user turn before any write.
-8. Use `cb_reference` before any structured organization search. Use explicit profile fields and cards; never request default organization cards.
-9. Use neutral record language everywhere. Show `—` for a null and explain it only as “— indicates no value was returned for that field.” For an empty search, say “No records matched the stated filters.” Never characterize source coverage, completeness, ingestion behavior, fields, or records as missing or stale.
+8. Before a structured search, resolve the required predicate and order contracts through `cb_reference` unless a successful resolution is already available in the current session. Reuse valid contracts and refresh only the affected metadata once after a validation error, as specified in `references/query-core.md`. Do not resolve projection-only fields. Use explicit profile fields and cards; never request default organization cards.
+9. Use neutral record language. Show `—` for a null; the legend is “— indicates no value was returned for that field.” For an empty search, say “No records matched the stated filters.” Disclose observed, decision-relevant limitations as specified in `references/output-contract.md`; never infer that an event did not occur from an absent record.
 10. Link company names to organization profile URLs. Include the as-of date, list ID/name, requested and persisted counts, and any outcome requiring attention. Resolve every bundled `references/...` or `scripts/...` path relative to the directory containing this `SKILL.md`. Never mention skill folders, skill or reference files, instruction loading, plugin or package paths, caches, or attempts to locate bundled resources in any user-visible message.
-11. On authentication, permission, metering, or service errors, report the state neutrally and stop. Do not substitute another data source unless requested.
+11. Stop on authentication, permission, or metering errors. A resolver-only outage permits the bounded same-provider fallback; other service failures require an accurate limitation. For an uncertain authorized write, reconcile persisted membership before considering a retry, as specified in the saved-list reference. Do not substitute another data source unless requested.
 
 ## Procedure
 
Full technical diff · 3 changed fields

changed /description

BEFORE
"Inspect, monitor, create, append, replace, or reconcile company watchlists stored as Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase watchlist or saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase watchlist or saved list, selects Crunchbase for a saved-list task, or follows up on an active watchlist or saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase."
AFTER
"Inspect, monitor, create, append, replace, or reconcile Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase saved list, selects Crunchbase for a saved-list task, or follows up on an active saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase."

changed /included_files

BEFORE
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 236
  },
  {
    "relative_path": "assets/crunchbase-icon-blue.png",
    "size_in_bytes": 25215
  },
  {
    "relative_path": "references/calculation-spec.md",
    "size_in_bytes": 1985
  },
  {
    "relative_path": "references/entity-resolution.md",
    "size_in_bytes": 2897
  },
  {
    "relative_path": "references/organization-search.md",
    "size_in_bytes": 1965
  },
  {
    "relative_path": "references/output-contract.md",
    "size_in_bytes": 2139
  },
  {
    "relative_path": "references/pipeline-monitoring.md",
    "size_in_bytes": 2955
  },
  {
    "relative_path": "references/query-core.md",
    "size_in_bytes": 3385
  },
  {
    "relative_path": "references/saved-lists.md",
    "size_in_bytes": 3340
  },
  {
    "relative_path": "scripts/derive_metrics.py",
    "size_in_bytes": 7924
  }
]
AFTER
[
  {
    "relative_path": "LICENSE",
    "size_in_bytes": 1067
  },
  {
    "relative_path": "NOTICE",
    "size_in_bytes": 239
  },
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 552
  },
  {
    "relative_path": "assets/crunchbase-icon-blue.png",
    "size_in_bytes": 25215
  },
  {
    "relative_path": "references/calculation-spec.md",
    "size_in_bytes": 5044
  },
  {
    "relative_path": "references/entity-resolution.md",
    "size_in_bytes": 3487
  },
  {
    "relative_path": "references/organization-search.md",
    "size_in_bytes": 2927
  },
  {
    "relative_path": "references/output-contract.md",
    "size_in_bytes": 4407
  },
  {
    "relative_path": "references/pipeline-monitoring.md",
    "size_in_bytes": 3531
  },
  {
    "relative_path": "references/query-core.md",
    "size_in_bytes": 4503
  },
  {
    "relative_path": "references/saved-lists.md",
    "size_in_bytes": 3575
  },
  {
    "relative_path": "scripts/derive_metrics.py",
    "size_in_bytes": 8129
  }
]

changed /skill_md_contents

BEFORE
"---\nname: crunchbase-watchlists-manager\ndescription: Inspect, monitor, create, append, replace, or reconcile company watchlists stored as Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase watchlist or saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase watchlist or saved list, selects Crunchbase for a saved-list task, or follows up on an active watchlist or saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase.\n---\n\n# Crunchbase Watchlists Manager\n\nTreat saved lists as persistent company universes. Keep membership operations distinct from analysis of organization fields over time.\n\n## Clarification contract\n\n1. Before acting, require the requested operation and its essential identifiers: an existing-list identity for inspect, monitor, append, remove, or replace; a list name for create; and a list name plus company set for save. Require explicit write intent before any membership change.\n2. When a required input is absent, make no Crunchbase call. Bundle all blocking inputs into one concise question, ask no more than three items, and offer a recommended assumption or default the user can accept in one reply. Do not drip questions across turns or attribute the question to Crunchbase coverage.\n3. Do not ask for optional preferences. If the user says “just run it” or “use the defaults,” proceed with disclosed assumptions only for read-only work; never infer a list identity, company identity, membership operation, replacement authorization, or write intent.\n4. When an approximate list or company identity is supplied, make only the minimum list-query or entity-resolution call needed to expose credible choices, then ask once. Ask again only when the user's answer introduces a new blocking ambiguity.\n\n## Operating contract\n\n1. Use `cb_list_query` to identify a list and `cb_list_get` to retrieve or reconcile membership. If similar list names remain credible, show candidates and ask the user to choose.\n2. Monitoring, current-state review, comparison, and proposing changes are read-only. Write only when the user explicitly asks to create a list, save a supplied set, append resolved entities, or update membership.\n3. Resolve every named company first with `cb_expert_resolve_entity`. It is the only allowed expert tool; never call another tool whose basename contains `expert`. Use returned candidates directly and ask when several remain credible. Use `cb_entity_autocomplete` for a named company only after the resolver errors or returns no usable match or candidates.\n4. Use only domains supplied by the user or returned by a resolved record. Never invent or infer a domain from model memory.\n5. Before the first write, preview the intended operation, collision-free list name when creating, canonical linked companies, and confirmed/ambiguous/unresolved counts.\n6. After create, add confirmed organization UUIDs and call `cb_list_get`. After append, call `cb_list_get`. Once reconciliation succeeds, make no further tool calls and render the final result immediately.\n7. A remove request does not authorize a replacement list. If in-place removal is unavailable, preview the retained set and versioned replacement, then wait for explicit approval in a later user turn before any write.\n8. Use `cb_reference` before any structured organization search. Use explicit profile fields and cards; never request default organization cards.\n9. Use neutral record language everywhere. Show `—` for a null and explain it only as “— indicates no value was returned for that field.” For an empty search, say “No records matched the stated filters.” Never characterize source coverage, completeness, ingestion behavior, fields, or records as missing or stale.\n10. Link company names to organization profile URLs. Include the as-of date, list ID/name, requested and persisted counts, and any outcome requiring attention. Resolve every bundled `references/...` or `scripts/...` path relative to the directory containing this `SKILL.md`. Never mention skill folders, skill or reference files, instruction loading, plugin or package paths, caches, or attempts to locate bundled resources in any user-visible message.\n11. On authentication, permission, metering, or service errors, report the state neutrally and stop. Do not substitute another data source unless requested.\n\n## Procedure\n\n1. Read `references/pipeline-monitoring.md`, `references/saved-lists.md`, and `references/output-contract.md`.\n2. Read `references/entity-resolution.md` when company identities must be resolved.\n3. Read `references/query-core.md` and `references/organization-search.md` before a structured organization query.\n4. Read `references/calculation-spec.md` and use `scripts/derive_metrics.py` only when monitoring calculations are requested.\n5. Preserve the requested operation exactly: inspect, monitor, create, append, or propose a replacement. Do not silently substitute one operation for another.\n"
AFTER
"---\nname: crunchbase-watchlists-manager\ndescription: Inspect, monitor, create, append, replace, or reconcile Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase saved list, selects Crunchbase for a saved-list task, or follows up on an active saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase.\nlicense: MIT\n---\n\n# Watchlists Manager\n\nTreat saved lists as persistent company universes. Keep membership operations distinct from analysis of organization fields over time.\n\n## Clarification contract\n\n1. Reuse the requested operation, identifiers, company set, and authorization from the conversation. Require an existing-list identity for inspect, monitor, append, remove, or replace; a list name for create; and a list name plus company set for save. Require explicit write intent before any membership change.\n2. When an essential input is absent, make no Crunchbase call. Bundle the blocking inputs into one concise question; offer candidate names or operations as proposals requiring acceptance. Never infer a list identity, company identity, membership operation, replacement authorization, or write intent.\n3. Do not ask for irrelevant preferences, re-ask answered questions, or seek authorization already given. “Use the defaults” accepts only a previously disclosed proposal and does not create write authorization. Ask about monitoring periods or comparison criteria only when the requested result depends on them.\n4. When an approximate list or company identity is supplied, make only the minimum list-query or entity-resolution call needed to expose credible choices, then ask once. Ask again only if the answer introduces a new blocking ambiguity.\n\n## Operating contract\n\nTool names below are Crunchbase basenames. Resolve them to the actual fully qualified names exposed by the connected Crunchbase server before calling them; do not guess a host prefix. If a required capability is unavailable, report the missing connection or tool and stop the dependent work.\n\n1. Use `cb_list_query` to identify a list and `cb_list_get` to retrieve or reconcile membership. If similar list names remain credible, show candidates and ask the user to choose.\n2. Monitoring, current-state review, comparison, and proposing changes are read-only. Write only when the user explicitly asks to create a list, save a supplied set, append resolved entities, or update membership.\n3. Resolve every named company first with `cb_expert_resolve_entity`. It is the only allowed expert tool; never call another tool whose basename contains `expert`. Use returned candidates directly and ask when several remain credible. Use `cb_entity_autocomplete` for a named company only after the resolver has a recoverable outage or returns no usable match or candidates.\n4. Use only domains supplied by the user or returned by a resolved record. Never invent or infer a domain from model memory.\n5. Before the first write, preview the intended operation, collision-free list name when creating, canonical linked companies, and confirmed/ambiguous/unresolved counts.\n6. After create, add confirmed organization UUIDs and call `cb_list_get`. After append, call `cb_list_get`. Once reconciliation succeeds, make no further tool calls and render the final result immediately.\n7. A remove request does not authorize a replacement list. If in-place removal is unavailable, preview the retained set and versioned replacement, then wait for explicit approval in a later user turn before any write.\n8. Before a structured search, resolve the required predicate and order contracts through `cb_reference` unless a successful resolution is already available in the current session. Reuse valid contracts and refresh only the affected metadata once after a validation error, as specified in `references/query-core.md`. Do not resolve projection-only fields. Use explicit profile fields and cards; never request default organization cards.\n9. Use neutral record language. Show `—` for a null; the legend is “— indicates no value was returned for that field.” For an empty search, say “No records matched the stated filters.” Disclose observed, decision-relevant limitations as specified in `references/output-contract.md`; never infer that an event did not occur from an absent record.\n10. Link company names to organization profile URLs. Include the as-of date, list ID/name, requested and persisted counts, and any outcome requiring attention. Resolve every bundled `references/...` or `scripts/...` path relative to the directory containing this `SKILL.md`. Never mention skill folders, skill or reference files, instruction loading, plugin or package paths, caches, or attempts to locate bundled resources in any user-visible message.\n11. Stop on authentication, permission, or metering errors. A resolver-only outage permits the bounded same-provider fallback; other service failures require an accurate limitation. For an uncertain authorized write, reconcile persisted membership before considering a retry, as specified in the saved-list reference. Do not substitute another data source unless requested.\n\n## Procedure\n\n1. Read `references/pipeline-monitoring.md`, `references/saved-lists.md`, and `references/output-contract.md`.\n2. Read `references/entity-resolution.md` when company identities must be resolved.\n3. Read `references/query-core.md` and `references/organization-search.md` before a structured organization query.\n4. Read `references/calculation-spec.md` and use `scripts/derive_metrics.py` only when monitoring calculations are requested.\n5. Preserve the requested operation exactly: inspect, monitor, create, append, or propose a replacement. Do not silently substitute one operation for another.\n"
Full snapshot data
{
  "description": "Inspect, monitor, create, append, replace, or reconcile Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase saved list, selects Crunchbase for a saved-list task, or follows up on an active saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase.",
  "included_files": [
    {
      "relative_path": "LICENSE",
      "size_in_bytes": 1067
    },
    {
      "relative_path": "NOTICE",
      "size_in_bytes": 239
    },
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 552
    },
    {
      "relative_path": "assets/crunchbase-icon-blue.png",
      "size_in_bytes": 25215
    },
    {
      "relative_path": "references/calculation-spec.md",
      "size_in_bytes": 5044
    },
    {
      "relative_path": "references/entity-resolution.md",
      "size_in_bytes": 3487
    },
    {
      "relative_path": "references/organization-search.md",
      "size_in_bytes": 2927
    },
    {
      "relative_path": "references/output-contract.md",
      "size_in_bytes": 4407
    },
    {
      "relative_path": "references/pipeline-monitoring.md",
      "size_in_bytes": 3531
    },
    {
      "relative_path": "references/query-core.md",
      "size_in_bytes": 4503
    },
    {
      "relative_path": "references/saved-lists.md",
      "size_in_bytes": 3575
    },
    {
      "relative_path": "scripts/derive_metrics.py",
      "size_in_bytes": 8129
    }
  ],
  "name": "crunchbase-watchlists-manager",
  "skill_md_contents": "---\nname: crunchbase-watchlists-manager\ndescription: Inspect, monitor, create, append, replace, or reconcile Crunchbase saved lists and their private-company membership, including asking for the operation or identifiers when an explicit Crunchbase saved-list request omits them. Use when the user explicitly asks to work with a Crunchbase saved list, selects Crunchbase for a saved-list task, or follows up on an active saved-list workflow. Do not use for creating a list as part of a new thesis landscape, capital analysis that merely reads a list as its confirmed universe, recent-round sourcing, single-company briefs, public-equity research, Crunchbase pricing or account support, or generic CRM/list work outside Crunchbase.\nlicense: MIT\n---\n\n# Watchlists Manager\n\nTreat saved lists as persistent company universes. Keep membership operations distinct from analysis of organization fields over time.\n\n## Clarification contract\n\n1. Reuse the requested operation, identifiers, company set, and authorization from the conversation. Require an existing-list identity for inspect, monitor, append, remove, or replace; a list name for create; and a list name plus company set for save. Require explicit write intent before any membership change.\n2. When an essential input is absent, make no Crunchbase call. Bundle the blocking inputs into one concise question; offer candidate names or operations as proposals requiring acceptance. Never infer a list identity, company identity, membership operation, replacement authorization, or write intent.\n3. Do not ask for irrelevant preferences, re-ask answered questions, or seek authorization already given. “Use the defaults” accepts only a previously disclosed proposal and does not create write authorization. Ask about monitoring periods or comparison criteria only when the requested result depends on them.\n4. When an approximate list or company identity is supplied, make only the minimum list-query or entity-resolution call needed to expose credible choices, then ask once. Ask again only if the answer introduces a new blocking ambiguity.\n\n## Operating contract\n\nTool names below are Crunchbase basenames. Resolve them to the actual fully qualified names exposed by the connected Crunchbase server before calling them; do not guess a host prefix. If a required capability is unavailable, report the missing connection or tool and stop the dependent work.\n\n1. Use `cb_list_query` to identify a list and `cb_list_get` to retrieve or reconcile membership. If similar list names remain credible, show candidates and ask the user to choose.\n2. Monitoring, current-state review, comparison, and proposing changes are read-only. Write only when the user explicitly asks to create a list, save a supplied set, append resolved entities, or update membership.\n3. Resolve every named company first with `cb_expert_resolve_entity`. It is the only allowed expert tool; never call another tool whose basename contains `expert`. Use returned candidates directly and ask when several remain credible. Use `cb_entity_autocomplete` for a named company only after the resolver has a recoverable outage or returns no usable match or candidates.\n4. Use only domains supplied by the user or returned by a resolved record. Never invent or infer a domain from model memory.\n5. Before the first write, preview the intended operation, collision-free list name when creating, canonical linked companies, and confirmed/ambiguous/unresolved counts.\n6. After create, add confirmed organization UUIDs and call `cb_list_get`. After append, call `cb_list_get`. Once reconciliation succeeds, make no further tool calls and render the final result immediately.\n7. A remove request does not authorize a replacement list. If in-place removal is unavailable, preview the retained set and versioned replacement, then wait for explicit approval in a later user turn before any write.\n8. Before a structured search, resolve the required predicate and order contracts through `cb_reference` unless a successful resolution is already available in the current session. Reuse valid contracts and refresh only the affected metadata once after a validation error, as specified in `references/query-core.md`. Do not resolve projection-only fields. Use explicit profile fields and cards; never request default organization cards.\n9. Use neutral record language. Show `—` for a null; the legend is “— indicates no value was returned for that field.” For an empty search, say “No records matched the stated filters.” Disclose observed, decision-relevant limitations as specified in `references/output-contract.md`; never infer that an event did not occur from an absent record.\n10. Link company names to organization profile URLs. Include the as-of date, list ID/name, requested and persisted counts, and any outcome requiring attention. Resolve every bundled `references/...` or `scripts/...` path relative to the directory containing this `SKILL.md`. Never mention skill folders, skill or reference files, instruction loading, plugin or package paths, caches, or attempts to locate bundled resources in any user-visible message.\n11. Stop on authentication, permission, or metering errors. A resolver-only outage permits the bounded same-provider fallback; other service failures require an accurate limitation. For an uncertain authorized write, reconcile persisted membership before considering a retry, as specified in the saved-list reference. Do not substitute another data source unless requested.\n\n## Procedure\n\n1. Read `references/pipeline-monitoring.md`, `references/saved-lists.md`, and `references/output-contract.md`.\n2. Read `references/entity-resolution.md` when company identities must be resolved.\n3. Read `references/query-core.md` and `references/organization-search.md` before a structured organization query.\n4. Read `references/calculation-spec.md` and use `scripts/derive_metrics.py` only when monitoring calculations are requested.\n5. Preserve the requested operation exactly: inspect, monitor, create, append, or propose a replacement. Do not silently substitute one operation for another.\n"
}

SHA-256 of public snapshot: d5f5df83fae7dd10dfebc09bcb841d0acf11512516d7441d296507679dbd95bd