← Maven BioCONTENT HISTORY

Update to Maven Bio

Snapshot Sep 30, 2026 · 23:11 UTC · version 2.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Build the scoped list of drugs, companies, trials, mechanisms, or targets matching a set of criteria, without analyzing each one. Use when the job is to define the right set first, for example 'list every Phase 3 KRAS G12C program'. This is a building block: use competitive-pipeline when the landscape should be analyzed rather than listed.",
  "included_files": [
    {
      "relative_path": "LICENSE",
      "size_in_bytes": 802
    },
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 325
    }
  ],
  "name": "enumerate-entities",
  "skill_md_contents": "---\nname: enumerate-entities\ndescription: \"Build the scoped list of drugs, companies, trials, mechanisms, or targets matching a set of criteria, without analyzing each one. Use when the job is to define the right set first, for example 'list every Phase 3 KRAS G12C program'. This is a building block: use competitive-pipeline when the landscape should be analyzed rather than listed.\"\n---\n\n# Enumerate Entities\n\n## Using this skill\n\nUse the connected Maven Bio MCP server at `https://mcp.mavenbio.com/`. Follow the user's explicit scope, depth, and output preferences; the workflow and output structure below are defaults. Report coverage limits instead of silently narrowing an explicitly requested set.\n\nHyphenated primitive names refer to other skills in this Maven Bio bundle. Consult the relevant skill when composing its workflow. Use the available MCP tool schemas for arguments; pass document identifiers to `read_document` through `ids`, and include a claim-specific `query` when using `format=\"citations\"`.\n\nThis primitive is for **scope definition**, not final deliverable formatting.\n\n## Use When\n\n- the user wants the universe of entities in a space\n- you need the candidate set before benchmarking or profiling\n- the first problem is recall and scoping, not narrative synthesis\n\n## Core Tools\n\n- `match_entity`\n- `search_entities`\n- `research_landscape`\n- `fetch_related`\n- `get_financings` for financing-criterion enumeration (e.g., recipients of recent Series B+ rounds in a space, or rounds led by a specific investor set)\n\n## Output Contract\n\nReturn a structured entity list with:\n\n- entity id\n- entity name\n- entity type\n- why it is in scope\n- evidence status for the inclusion decision\n- gaps or ambiguity notes\n\nThis primitive is allowed to return `citation_status: unresolved` when the output is still discovery scaffolding rather than document-backed evidence.\n\n## When Enumeration Is Not Enough\n\nEnumeration answers \"which entities are in scope\". It does not answer questions that\nrequire per-row evaluation against custom criteria rather than catalog metadata:\n\n- the user wants to filter the enumerated set by conditions that require LLM judgment (e.g., \"targets KRAS G12C specifically\", \"has an oral formulation\")\n- the user wants enrichment dimensions extracted per entity with evidence (e.g., \"lead indication\", \"differentiating feature\")\n- the evaluation criteria are custom to the question, not fixed catalog fields like phase or mechanism\n\n`enumerate-entities` defines the candidate universe; `synthesize-evidence` evaluates it. When the universe is larger than the evaluation budget, narrow the enumeration criteria rather than reducing the evidence gathered per entity.\n\n## Baseline, Not Completion\n\nEnumeration defines the **baseline universe**. It does not, by itself, complete a master analysis.\n\nFor broad analyses such as landscapes, pipelines, benchmark sets, or strategic maps:\n\n- use this primitive to establish the candidate set\n- then run a document augmentation pass with `search_documents`, `read_document`, and relevant event checks\n- reconcile newly surfaced entities, recent changes, or contradictory evidence before treating the set as final\n- run a scope-reconciliation gate before downstream finalization: compare the candidate count, class coverage, phase/status coverage, and known anchor entities against the requested scope\n- if the candidate set is suspiciously sparse, too broad, or missing expected anchors, treat that as a research gap and broaden/narrow the search before finalizing\n\nIf the entity list is still only discovery scaffolding, keep that explicit in the output.\n\n## Fallback Rules\n\n- If a resolver-backed tool fails on a composite name, retry with the raw entity name and move sponsor/company text into the optional context hint.\n- Use `match_entity` when the task starts from one known entity name and you need the canonical Maven entity.\n- When calling `match_entity`, keep the raw entity name in `name` and put sponsor/company/disambiguating text in `context`.\n- When calling `research_landscape`, keep the raw indication name in `indication` and put extra disambiguating text in `context`.\n- Use `search_entities` when the task is to discover or enumerate entities by criteria, filters, or market description.\n- For financing-criterion enumeration (recipients of rounds, investor-led sets, capital-flow scoping in a space), use `get_financings` directly when the question is structured (recipient / investor / type / value / date), or `search_entities(\"financing\", ...)` when the question is a natural-language phrasing. The recipient-side ontology axes (indication, modality, mechanism, target) are reachable through `search_entities(\"financing\", ...)` even when not exposed as typed `get_financings` params.\n- If the baseline set looks suspiciously sparse, follow with `search_entities` and a document augmentation pass.\n- If the baseline set looks noisy or over-broad, preserve a watchlist/exclusions tier rather than collapsing every candidate into the core set.\n- If document search surfaces new candidates not seen in the structured layer, preserve them explicitly for reconciliation.\n\n## Aggregation Shortcut\n\nOnce a universe is scoped, `aggregate_records(entity_type=X, query=\"...grouped by Y\")` answers \"how many in each bucket\" without paginating the full enumeration. Use it as a sanity check on the size and shape of the enumerated set before downstream skills consume it.\n\n## Quality Bar\n\n- use explicit scoping criteria\n- separate in-scope, borderline, and excluded entities when useful\n- do not present enumeration as proof of a downstream factual claim\n- do not treat structured enumeration as the final truth for a master analysis without a document augmentation pass\n- do not treat an entity set as complete until the scope-reconciliation gate has been run or the remaining uncertainty is stated explicitly\n- note ambiguity when the entity set may be incomplete\n"
}

SHA-256 of public snapshot: 7c6abadeb0d205865402a16ab2756e1c5f632fe27bb64a2dbfbcf48dd077df4b