search-records

Executes FamilySearch record searches, ranks matches, and logs results per GPS research plans.

3|3|Updated Apr 8, 2026
One-click install
npx skills add https://github.com/PioneerAIAcademy/cowork-genealogy --skill search-records-pioneeraiacademy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: search-records
Source: https://github.com/PioneerAIAcademy/cowork-genealogy/tree/main/packages/engine/plugin/skills/search-records
Command: npx skills add https://github.com/PioneerAIAcademy/cowork-genealogy --skill search-records-pioneeraiacademy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Genealogical research requires executing planned searches against FamilySearch historical records in a disciplined, auditable way. This Skill bridges research planning and record analysis by running the correct MCP search tool for each record type, triaging results with match scoring, and logging every search — including nil results — to satisfy the Genealogical Proof Standard's reasonably exhaustive research requirement. ## Core Features & Use Cases - Plan-driven search execution: Reads the next planned item from the active research plan in research.json, constructs a broad-to-narrow query with surname, place, and date anchors, and calls record_search with projectPath and subjectId for automatic staging and ranking. - Match triage and ranking: Uses rank_search_matches to score every staged candidate against the tree subject with FamilySearch's matcher, re-ordering by real match quality rather than unreliable search rank, with attachment checks and needs-review flagging for namesakes. - GPS-compliant logging: Logs every search — positive and negative — with staged results sidecars, and hands promising records off to record-extraction while honestly reporting un-indexed or browse-only collections. - Use Case: A researcher asks to "find Patrick Flynn in the 1850 census". The Skill routes to record_search with residence year and place anchors, ranks the staged candidates against the tree person, logs the search with its results handle, and passes the top confirmed match to record-extraction. ## Quick Start Ask the assistant to search FamilySearch for a specific person in a specific record type, such as "search for Anna Halsteinsdatter in Norway marriage records".

Frequently Asked Questions about search-records

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search FamilySearch historical records for a person?▼

Provide a surname, given name, and a place or date anchor, and the Skill calls record_search with those parameters. Every query must include a surname, recordCountry, or batchNumber anchor, and passing a subjectId ranks all results against that tree person automatically.

How are FamilySearch search results ranked for relevance?▼

Results are scored with rank_search_matches, which applies FamilySearch's own matcher to every staged candidate and re-orders them by matchScore rather than search rank. Each row also carries attachment status, so records already linked to the subject are visible during triage.

When should I use exact-match qualifiers in record searches?▼

Exact qualifiers like surnameExact or birthPlaceExact only narrow results and can drop records the fuzzy search would find, such as misspelled index entries. Use them to make a result count defensible for exhaustiveness claims, not to surface records you could not otherwise find.

Does this Skill search Ancestry, MyHeritage, or FindAGrave?▼

No. It executes indexed FamilySearch record searches only. Requests targeting Ancestry, MyHeritage, FindMyPast, FindAGrave, or Newspapers.com are routed to the search-external-sites Skill, and full-text page searches are reported as a finding rather than executed.

What does a zero-result FamilySearch search mean?▼

A zero-result search means the query ran successfully and matched nothing; it is a genuine nil finding, not an authentication failure. Authentication problems throw explicit errors, while an empty results array should be logged with the same detail as a positive search.

Why are negative search results logged in genealogy research?▼

Negative results are findings that narrow the space of possibilities and demonstrate reasonably exhaustive research under the Genealogical Proof Standard. Each nil search is logged with its parameters and an assessment of whether the absence is meaningful given collection coverage.