.claude/skills/fan-chart/SKILL.md
Generate a fan chart SVG of the ancestor tree, colorized by research verification tier (A/B/C/D/unresearched/unknown). Use when: (1) user asks for a "fan chart", "ancestor chart", "pedigree chart", or visual overview of the tree, (2) user wants to see research coverage or verification status visually, (3) user asks "what have we verified?" or "show me what's been researched", (4) /fan-chart command. The chart shows at a glance which ancestors have been verified against primary sources and which still need research.
npx skillsauth add rdeknijf/ai-genealogy-kit fan-chartInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generates a fan chart (semicircular ancestor diagram) as an SVG file, with each ancestor colored by their research verification tier from FINDINGS.md. This gives a visual overview of both tree completeness and research coverage.
python scripts/fan_chart.py [GENERATIONS]
GENERATIONS — number of generations to include (default: 7, which shows root
plus 6 generations of ancestors = up to 126 ancestor slots)private/fan_chart.svg (configurable with --output)GEDCOM_ROOT_ID env var (default: I0000)# Default: 7 generations
python scripts/fan_chart.py
# Compact 5-generation chart
python scripts/fan_chart.py 5
# Full 10-generation chart (up to 1022 ancestors)
python scripts/fan_chart.py 10
# Custom output path
python scripts/fan_chart.py 7 --output private/fan_chart_full.svg
After generating, open the SVG in a browser for the user:
xdg-open private/fan_chart.svg
| Color | Meaning | |-------|---------| | Purple | Root person | | Green | Tier A — Primary source (scan/church book) verified by user | | Blue | Tier B — Indexed civil record from official archive | | Amber | Tier C — Multiple independent secondary sources agree | | Red | Tier D — Single secondary source or AI inference | | Gray | Known ancestor, not yet researched (no FINDINGS.md entry) | | Light gray | Unknown ancestor (brick wall) |
Tiers are derived in two layers:
GEDCOM source citations (base layer) — every person's SOUR references are classified by source ID convention:
S600xxx (archive research), S_PLxxx (Playwright/web), S00xx (manual) → Tier BS500xxx (MyHeritage user trees) → Tier DFINDINGS.md (override layer) — private/research/FINDINGS.md entries
override the GEDCOM-derived tier. This is where Tier A (primary source
personally verified) and Tier C (multiple secondary sources) come from.
This means the chart works with just the GEDCOM file — FINDINGS.md is optional but adds finer-grained classification.
tools
Search Dutch civil registry records (births, marriages, deaths) on WieWasWie.nl via direct JSON API calls, with Open Archives API as a secondary source and Playwright browser automation as fallback. Use this skill whenever you need to look up or verify a person in Dutch civil records, check a birth/marriage/death date against official archives, or find parents/spouses from indexed Burgerlijke Stand records. Triggers on: "look up on wiewaswie", "check the birth record", "find the marriage certificate", "verify this date in the civil registry", "/wiewaswie", or any request to search Dutch genealogical records for a specific person. Also use when comparing GEDCOM data against official sources or when a Tier B verification is needed.
development
Search the VOC Opvarenden database for Dutch East India Company crew records (1699-1794). Uses the Nationaal Archief HUB3 API — 853,785 indexed entries with rich detail: name, origin, rank, ship, fate (died/returned/deserted), service dates, VOC chamber, and links to original scans. Use this skill when: "search VOC records", "VOC crew", "VOC opvarenden", "sailed to Batavia", "Dutch East India Company", "VOC soldier", "VOC sailor", "/voc-opvarenden", or when looking for ancestors who may have sailed with the VOC. Also use when checking Daniel Pieterse Knijf (1704, Woerden) or any Knijf/Knijff VOC connections. No login required.
tools
Generate a scan verification page for the user to review AI-extracted genealogy findings against actual document scans. The user clicks through records, confirms or rejects each one, and confirmed records become Tier A evidence in FINDINGS.md. Use this skill when: "verify scans", "show me what needs verifying", "review pending scans", "scan verification", "/verify-scans", or when the user wants to upgrade research findings from Tier C/D to Tier A by visually confirming document scans. Also use after a research session that produced scan-backed findings that need human confirmation.
tools
Search indexed person records at Streekarchief Midden-Holland (samh.nl) via the Memorix Genealogy REST API. No browser automation needed — returns structured JSON in ~50ms per query. Based in Gouda, covers municipalities: Gouda, Haastrecht, Schoonhoven, Waddinxveen, Noord-Waddinxveen, Moerkapelle, Moordrecht, Ammerstol, Broek, Vlist, and surrounding areas in the Midden-Holland region of South Holland. 3M+ person records with DTB (doop/trouw/begraven), BS (geboorte/huwelijk/overlijden), and Inschrijvingaktes. 36 Knijf results found, including Gijsbert de Knijf records in Gouda and van der Knijf in Waddinxveen. Scans available for most records. Triggers on: "search Gouda archive", "Streekarchief Midden-Holland", "SAMH", "Haastrecht records", "Schoonhoven records", "/streekarchief-midden-holland", or any genealogy research in the Gouda/Midden-Holland area. No login required. Parallelizable — run multiple queries simultaneously.