Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Search and analyze family history using the FamilySearch API or offline GEDCOM files for genealogy, ancestors, family trees, and historical records.
Search and analyze family history using the FamilySearch API or offline GEDCOM files for genealogy, ancestors, family trees, and historical records.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Two modes of operation: Live API (primary) โ Query FamilySearch directly for person search, pedigree, descendants, historical records Offline GEDCOM โ Parse exported .ged files for local exploration, narratives, and statistics
FamilySearch Account โ Free at https://www.familysearch.org Developer App Key โ Register at https://www.familysearch.org/developers/ OAuth 2.0 Access Token โ Via authentication flow below Store credentials: Option A โ Environment variable (all platforms): export FAMILYSEARCH_TOKEN="<TOKEN>" Option B โ macOS Keychain: security add-generic-password -a "familysearch-app-key" -s "openclaw-familysearch" -w "<APP_KEY>" security add-generic-password -a "familysearch-token" -s "openclaw-familysearch-token" -w "<TOKEN>" The script checks FAMILYSEARCH_TOKEN env var first, then falls back to macOS Keychain.
OAuth 2.0 Authorization Code flow: Direct user to: https://ident.familysearch.org/cis-web/oauth2/v3/authorization?response_type=code&client_id={APP_KEY}&redirect_uri={REDIRECT_URI} User logs in, grants access Exchange code for token: curl -X POST "https://ident.familysearch.org/cis-web/oauth2/v3/token" \ -d "grant_type=authorization_code&code={AUTH_CODE}&client_id={APP_KEY}" Store returned access_token in Keychain Sandbox for testing: https://integration.familysearch.org / https://api-integ.familysearch.org
python scripts/familysearch.py <command> [args] CommandDescriptionsearch --given John --surname Lewis --birth-place OregonSearch persons in Family Treeperson <PID>Get person detailsancestry <PID> --generations 4Ascending pedigree (1-8 generations)descendants <PID> --generations 2Descending treeparents <PID>Get parentsspouses <PID>Get spouseschildren <PID>Get children Search parameters: --given, --surname, --birth-date, --birth-place, --death-date, --death-place, --sex Results use GEDCOM X format (JSON). Key fields: persons[].id, persons[].display.name, .birthDate, .birthPlace, .deathDate, .deathPlace. Ahnentafel numbering in ancestry: 1=subject, 2=father, 3=mother, 4=paternal grandfather, etc.
For exported .ged files from FamilySearch, Ancestry, MyHeritage, etc. No API key needed โ pure offline.
FamilySearch: familysearch.org โ Family Tree โ Tools โ Export GEDCOM
python scripts/gedcom_query.py <gedcom_file> <command> [args...] CommandDescriptionsearch <name>Fuzzy name search โ returns matches with IDsperson <id_or_name>Full profile: birth, death, parents, spouses, childrenancestors <id_or_name> [depth]Pedigree chart up (default: 4 generations)descendants <id_or_name> [depth]Pedigree chart down (default: 3 generations)story <id_or_name>Narrative biography paragraphtimeline <id_or_name>Chronological life eventsstatsTree summary: counts, surnames, birth decades, completenessfind-date <year>Find people born/died in a given yearcommon-ancestor <name1> <name2>Find closest common ancestor id_or_name: GEDCOM ID (e.g., I001) or partial name (fuzzy, case-insensitive).
Beyond data retrieval, this skill supports narrative genealogy โ connecting facts to stories: Note occupations, migrations, life events when exploring a tree Cross-reference API/GEDCOM data with stories the user shares conversationally Build family narratives that explain why โ not just dates and names Flag research opportunities: missing records, undocumented branches, conflicting dates Use story command (GEDCOM mode) for auto-generated biographical narratives
User asks about family history โ Check if they have a FamilySearch account (API) or GEDCOM file (offline) API mode: Search by name โ get person ID โ explore ancestry/descendants/relationships GEDCOM mode: Load file โ search โ explore Either mode: Combine structured data with user's oral history for richer narratives Cross-reference: Use API to find records that fill gaps in GEDCOM data
FamilySearch API is free but rate-limited โ cache results locally Never store FamilySearch usernames/passwords โ OAuth tokens only Tokens expire; re-authenticate on 401 responses GEDCOM parser handles files up to ~100K individuals File encoding: auto-detects UTF-8 (with BOM), UTF-8, latin-1
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.