# Send Familysearch to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "familysearch",
    "name": "Familysearch",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/keylimesoda/familysearch",
    "canonicalUrl": "https://clawhub.ai/keylimesoda/familysearch",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/familysearch",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=familysearch",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "references/gedcom-format.md",
      "scripts/familysearch.py",
      "scripts/gedcom_query.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/familysearch"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/familysearch",
    "downloadUrl": "https://openagent3.xyz/downloads/familysearch",
    "agentUrl": "https://openagent3.xyz/skills/familysearch/agent",
    "manifestUrl": "https://openagent3.xyz/skills/familysearch/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/familysearch/agent.md"
  }
}
```
## Documentation

### FamilySearch Genealogy Skill

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

### Prerequisites

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.

### Authentication

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

### API Usage

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.

### Mode 2: Offline GEDCOM Files

For exported .ged files from FamilySearch, Ancestry, MyHeritage, etc. No API key needed — pure offline.

### Getting a GEDCOM File

FamilySearch: familysearch.org → Family Tree → Tools → Export GEDCOM

### Usage

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).

### Narrative Genealogy

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

### Agent Workflow

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

### Rate Limits & Best Practices

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
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: keylimesoda
- Version: 1.0.3
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/familysearch)
- [Send to Agent page](https://openagent3.xyz/skills/familysearch/agent)
- [JSON manifest](https://openagent3.xyz/skills/familysearch/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/familysearch/agent.md)
- [Download page](https://openagent3.xyz/downloads/familysearch)