data-commons-researcher — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited data-commons-researcher (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Data Commons organizes data into two main structural hierarchies. Understanding these is key to choosing your place names and variables:
Health -> Clinical Data -> Medical Conditions). Topics contain sub-topics and individual variables.World -> Continent -> Country -> State -> County).When researching statistics, always separate your work into three distinct phases to avoid context bloat:
get_variable_metadata to verify dataset facets (source, dates, coverage) before retrieving heavy observation arrays.To ensure focused and accurate candidate retrieval when calling discovery tools:
query="health and unemployment rate" (Causes search index confusion).search_indicators(query="health", ...)search_indicators(query="unemployment rate", ...)include_topics=true (Default) when the user's request is exploratory (e.g., "What health data do you have?"). Use the returned topics to map the category hierarchy.include_topics=false when targeting a specific dataset or observation (e.g., "Find the diabetes rate for California"). This reduces the return payload size.10 to keep payloads small.Data Commons requires qualified geographic names to avoid database name conflicts.
places or parent_place in discovery tools (e.g., use "California", not "geoId/06")."New York City, USA" and "New York State, USA"."Washington, DC, USA" and "Washington State, USA"."Madrid, Spain" (city) and "Community of Madrid, Spain" (autonomous community)."London, UK" and "London, Ontario, Canada"."Scotland, UK" and "Scotland County, USA".search_child_indicators, passing the parent place name in parent_place and a diverse sample of 5-6 of its child places in the sample_child_places list.search_indicators(query="", places=["World"], include_topics=true).search_indicators with explicit parent parameters (e.g., set places=["Scotland, UK"]).search_indicators(query="population", places=["France"])get_variable_metadata(variable_dcids=["Count_Person"], entity_dcids=["country/FRA"])get_observations(variable_dcid="Count_Person", place_dcid="country/FRA")search_child_indicators using a diverse sample of child places to verify variable availability:search_child_indicators(query="unemployment", parent_place="India", sample_child_places=["Uttar Pradesh, India", "Maharashtra, India", "Tripura, India", "Bihar, India", "Kerala, India"])search_child_indicators(query="GDP", parent_place="World", sample_child_places=["USA", "China", "Germany", "Nigeria", "Brazil"])placesWithData for a variable, assume that variable is available across all child places of that type.search_child_indicators are absolute and definitive for the targeted child places. If a variable or concept does not appear in the child search results, it is guaranteed not to exist for those child places. Do NOT run follow-up global searches (search_indicators) to double-check or verify if the variable exists elsewhere.search_child_indicators or has child place coverage, proceed directly to get_child_observations (using latest or a narrow range). Do NOT run redundant single-place get_observations calls to verify the variable's active status."State" or "Country") from the returned dcidPlaceTypeMappings.get_variable_metadata(variable_dcids=["unemployment_rate_dcid"], entity_dcids=["resolved_child_dcid_1", "resolved_child_dcid_2", "..."])get_child_observations(variable_dcid="unemployment_rate_dcid", parent_place_dcid="country/IND", child_place_type="State")Before calling get_child_observations, inspect the dcidPlaceTypeMappings returned by search_child_indicators to determine the value for the child_place_type parameter:
"County" over "AdministrativeArea2").get_observations calls for each child place.To prevent payload saturation and context window exhaustion when fetching time-series observations:
get_child_observations, never set date="all".date="latest" to retrieve only the most recent data point for each child place.date_range_start and date_range_end (e.g., 2020 to 2023).When date="range" is used, the date ranges are evaluated as follows:
date_range_start is specified, the response will contain all observations starting at and after that date (inclusive).date_range_end is specified, the response will contain all observations before and up to that date (inclusive).'latest' observation.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.