.claude/skills/voc-opvarenden/SKILL.md
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.
npx skillsauth add rdeknijf/ai-genealogy-kit voc-opvarendenInstall 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.
Search crew records of the VOC. 853,785 entries covering qualified muster rolls (gekwalificeerde monsterrollen) from 1699-1794.
Pure JSON API, no browser needed. This is a different API from the
OpenArchieven/GAF endpoints in the nationaal-archief skill.
curl -s "https://service.archief.nl/hub3/api/nt/nt00444?q=SURNAME" \
-H "User-Agent: Mozilla/5.0" -H "Accept: application/json"
The response contains two groups:
NT00444_Opvarenden — crew members (primary)NT00444_Begunstigden — beneficiaries (who received the sailor's pay)Each group has rows[] with recordID (UUID) and inline fields.
| Field | Description |
|-------|-------------|
| prs_voornamen | First name |
| prs_patroniem | Patronym (e.g., Jansz) |
| prs_tussenvoegsels | Prefix (de, van der, etc.) |
| prs_achternaam | Surname |
| pla_naam_herkomst | Place of origin |
# Search for Knijf (returns 13 crew + 1 beneficiary)
curl -s "https://service.archief.nl/hub3/api/nt/nt00444?q=Knijf" \
-H "User-Agent: Mozilla/5.0" -H "Accept: application/json"
# Search Knijff (different people! 33 crew + 1 beneficiary)
curl -s "https://service.archief.nl/hub3/api/nt/nt00444?q=Knijff" \
-H "User-Agent: Mozilla/5.0" -H "Accept: application/json"
Always search both Knijf and Knijff — different spelling variants
appear as different individuals in the index.
curl -s "https://service.archief.nl/hub3/api/nt/nt00444/RECORD_UUID" \
-H "User-Agent: Mozilla/5.0" -H "Accept: application/json"
| Field name | Label | Example |
|-----------|-------|---------|
| prs_voornamen | First name | Aart |
| prs_patroniem | Patronym | Jansz |
| prs_tussenvoegsels | Prefix | van der |
| prs_achternaam | Surname | Knijff |
| pla_naam_herkomst | Origin | Delft |
| prs_datum_indiensttreding | Entry date | 1725-04-25 |
| rol_naam_functie_NL | Rank/function | Matroos |
| rol_naam_functie_uitleg_NL | Function description | (full text) |
| sch_naam_uitgevaren | Outbound ship | Spiering |
| prs_datum_uitdiensttreding | Discharge date | 1732-00-00 |
| ove_tekst_lokatie_uitdiensttreding_NL | Discharge location | Batavia |
| ove_tekst_reden_uitdiensttreding_NL | Fate | Overleden / Gerepatrieerd |
| ove_tekst_opmerking_uitdiensttreding_NL | Discharge notes | (full text) |
| sch_naam_terugreis | Return ship | NOORDWADDINXVEEN |
| ove_datum_terugreis_vertrek | Return departure | 1732-01-01 |
| ove_datum_terugreis_aankomst | Return arrival NL | 1732-09-07 |
| handle | Scan handle URL | http://hdl.handle.net/10648/... |
| vwz_archivelink | Archive reference | NL-HaNA/1.04.02/13932//100// |
Plus linked NT00444_Soldijboeken sub-record with: ship name, VOC
chamber (Amsterdam/Delft/Rotterdam/etc.), destination, departure date.
The handle field resolves to the NA scan viewer:
https://www.nationaalarchief.nl/onderzoeken/archief/1.04.02/invnr/{invnr}/file/NL-HaNA_1.04.02_{invnr}_{folio}
curl -s "https://service.archief.nl/hub3/api/nt/search?q=SURNAME" \
-H "User-Agent: Mozilla/5.0" -H "Accept: application/json"
Returns counts across 15+ NA name indexes including VOC, KNIL, Landmacht, Marine, emigration. Useful for a broad initial sweep.
1732-00-00 means year only.nationaal-archief skill
(archive_code=ghn) returns zero VOC crew results. This is a separate API.## VOC Opvarende
**Name:** [voornaam] [patroniem] [tussenvoegsels] [achternaam]
**Origin:** [herkomst]
**Rank:** [functie]
**Ship:** [outbound ship] ([chamber])
**Service:** [entry date] - [discharge date]
**Fate:** [reden uitdiensttreding] at [location]
**Return:** [return ship], arrived [date]
**Archive ref:** [archivelink]
**Scan:** [handle URL]
**Confidence:** Tier B — Nationaal Archief VOC indexed record with scan
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.
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.
testing
Create annotated genealogy narrative PDFs with Typst — engaging family stories with academic footnotes, historical images, and beautiful typography. Use this skill when: "write a story about the X line", "create a story for Y", "make a PDF about this family", "/story", "story for my parents", or any request to produce a narrative document about a family line or ancestor. Also trigger when the user wants to turn research findings into a presentable document for family members. Language defaults to Dutch unless specified otherwise.