Loading...
Loading...
Structured prompts, vault templates, and autonomous research workflows for AI-assisted genealogy using Claude Code.
npx skill4agent add aradotso/trending-skills autoresearch-genealogySkill by ara.so — Daily 2026 Skills collection.
/autoresearch# Clone the repository
git clone https://github.com/mattprusak/autoresearch-genealogy.git
cd autoresearch-genealogy
# Copy vault template into your Obsidian vault
cp -r vault-template/ ~/path/to/your/ObsidianVault/genealogy/
# Or copy to any markdown editor folder
cp -r vault-template/ ~/Documents/my-genealogy/autoresearch-genealogy/
├── prompts/ # 12 autoresearch prompt files for Claude Code
├── vault-template/ # 19-file Obsidian vault starter kit
│ ├── Family_Tree.md
│ ├── Research_Log.md
│ ├── Open_Questions.md
│ ├── templates/ # Person, certificate, postcard, region, etc.
│ └── ...
├── archives/ # 24 country/region research guides
├── reference/ # 9 methodology documents
├── workflows/ # 7 step-by-step process guides
└── examples/ # 6 anonymized worked examplesvault-template/Family_Tree.md---
title: Family Tree
last_updated: 2026-03-19
generations_documented: 3
lines_active: 2
---
# Family Tree
## Generation 1 (Self)
- **Name**: Jane Smith (b. 1985, Chicago, IL)
## Generation 2 (Parents)
- **Father**: John Smith (b. 1955, Detroit, MI)
- **Mother**: Mary O'Brien (b. 1958, Boston, MA)
## Generation 3 (Grandparents)
- **Paternal Grandfather**: Robert Smith (b. ~1920, unknown)
- **Paternal Grandmother**: Helen Kowalski (b. ~1925, Poland?)See: workflows/ocr-pipeline.md/autoresearch prompts/01-tree-expansion.md/autoresearch prompts/02-cross-reference-audit.mdprompts/## Goal
[What this iteration should accomplish]
## Metric
[Measurable success condition — e.g., "increase sourced person files from N to N+10"]
## Direction
[Step-by-step instructions for the AI]
## Verify
[Cross-check to run after each iteration]
## Guard Rails
[What NOT to do — prevent hallucination, preserve source rigor]
## Iterations
[How many loops to run before stopping for human review]
## Protocol
[Output format, file naming, YAML fields to populate]| File | Purpose |
|---|---|
| Push every branch back using web research |
| Find and fix discrepancies between tree and sources |
| Locate Find a Grave memorials for deceased ancestors |
| Sync GEDCOM file with vault data |
| Verify every person has ≥2 independent sources |
| Identify and resolve unnamed people in documents |
| Find life events where records should exist but don't |
| Systematically attack every open research question |
| Extract data from digitized local history books |
| Search pre-1800 colonial American records |
| Locate passenger manifests and naturalization records |
| Analyze per-chromosome ancestry data |
# In Claude Code terminal or chat:
/autoresearch prompts/08-open-question-resolution.md
# With a specific vault path context:
/autoresearch prompts/03-findagrave-sweep.md --context vault-template/Family_Tree.mdvault-template/templates/person.md---
full_name: ""
birth_date: ""
birth_place: ""
death_date: ""
death_place: ""
father: ""
mother: ""
spouse: ""
children: []
confidence: "Moderate Signal" # Strong Signal | Moderate Signal | Speculative
sources: []
open_questions: []
last_updated: ""
---
# [Full Name]
## Life Events
| Event | Date | Place | Source |
|-------|------|-------|--------|
| Birth | | | |
| Marriage | | | |
| Death | | | |
## Sources
1. [Source 1 — type, repository, date accessed]
2. [Source 2 — type, repository, date accessed]
## Open Questions
- [ ] Question 1
- [ ] Question 2
## Notes
[Narrative summary, naming variant notes, contextual history]vault-template/templates/certificate.md---
document_type: "" # birth | death | marriage | baptism
document_date: ""
repository: ""
file_reference: ""
transcribed_by: ""
transcription_date: ""
confidence: ""
---
# Certificate: [Type] — [Name] — [Year]
## Transcription
[Verbatim transcription of the document]
## Key Data Extracted
- **Subject**:
- **Date**:
- **Place**:
- **Witnesses/Informants**:
- **Officiant**:
## Discrepancies
[Note any conflicts with other sources]
## Image
![[filename.jpg]]vault-template/Research_Log.md## 2026-03-19 — Tree Expansion Session
**Prompt run**: 01-tree-expansion.md
**Iterations**: 5
**Metric start**: 42 sourced person files
**Metric end**: 51 sourced person files
### Searches Performed
- FamilySearch: "Kowalski Poznan 1880–1920" — 3 results, 2 useful
- Ancestry: "Smith Michigan census 1920" — found Robert Smith (b. 1919)
- FindAGrave: "Helen Kowalski Detroit" — memorial #12345678
### Negative Results (Important)
- No passenger manifest found for Stanislaw Kowalski, searched 1890–1910
- No church records found for O'Brien line in Cork pre-1850
### New Open Questions
- [ ] Was Robert Smith born in Michigan or Ohio? 1920 census says MI, 1930 says OH.reference/confidence-tiers.mdStrong Signal — Two or more independent primary sources agree
Moderate Signal — One primary source, or two secondary sources agree
Speculative — Logical inference, DNA suggestion, or single secondary source---
confidence: "Moderate Signal"
---archives/archives/
├── ireland.md
├── england-wales.md
├── scotland.md
├── norway.md
├── sweden.md
├── poland.md
├── germany.md
├── italy.md
├── france.md
├── spain-portugal.md
├── netherlands.md
├── austria.md
├── hungary.md
├── russia-ukraine.md
├── usa-colonial.md
├── usa-immigration.md
├── usa-census.md
├── usa-vital-records.md
├── african-american.md
├── canada.md
├── mexico-latin-america.md
├── australia-new-zealand.md
├── jewish-genealogy.md
└── ...# In prompts/09-bygdebok-extraction.md
## Direction
Consult archives/norway.md for Digitalarkivet access patterns.
Search Bygdebok collections for the Rogaland region, 1750–1900.1. Create person file from vault-template/templates/person.md
2. Set confidence based on source count
3. Add to Family_Tree.md under correct generation
4. Log the discovery in Research_Log.md
5. Add unresolved questions to Open_Questions.md
6. Run 02-cross-reference-audit.md to check for conflicts# Open_Questions.md entry
## Q-042: Robert Smith birth state conflict
- 1920 census: born Michigan
- 1930 census: born Ohio
- Status: Unresolved
- Next step: Run 07-timeline-gap-analysis.md targeting Robert Smith/autoresearch prompts/07-timeline-gap-analysis.md
# Focus: Robert Smith, b. ~1919, discrepancy Q-042# In vault-template/Genetic_Profile.md
---
test_company: AncestryDNA
test_date: 2024-11-01
ethnicity_summary:
- region: Eastern Europe
percentage: 38
- region: Ireland/Scotland
percentage: 31
---
# Then run:
/autoresearch prompts/12-dna-chromosome-analysis.md# Run immigration search prompt
/autoresearch prompts/11-immigration-search.md
# Prompt will:
# 1. Pull all foreign-born ancestors from Family_Tree.md
# 2. Search passenger manifests (Ellis Island, Ancestry, FamilySearch)
# 3. Search naturalization records (NARA, Ancestry)
# 4. Update person files with ship name, arrival date, port
# 5. Log negative results for each unresolved ancestor| File | Contents |
|---|---|
| Strong / Moderate / Speculative definitions |
| Primary vs secondary vs derivative sources |
| What DNA can and cannot prove; centimorgan thresholds |
| Patronymics, farm names, Polish przydomki |
| GEDCOM field reference and export instructions |
| AI hallucination patterns in genealogy, date traps |
| Record type definitions, Latin terms, abbreviations |
| What AI can access directly vs what requires human |
| Methodology rationale |
## Guard Rails (add to any prompt)
- Do NOT fabricate census record URLs or Ancestry record IDs
- If a source cannot be directly linked, mark as "reported" not "confirmed"
- All new claims require a real URL or repository reference
- When uncertain, add to Open_Questions.md — do not guess/autoresearch prompts/04-gedcom-completeness.mdreference/naming-conventions.md---
full_name: "Stanisław Kowalski"
name_variants:
- "Stanislaus Kowalski"
- "Stanley Kowalski"
- "S. Kowalski"
---## Iterations## Iterations
Run 3 iterations maximum, then stop and output a summary for human review.workflows/ocr-pipeline.mdvault-template/templates/transcription.md