.claude/skills/regionaal-archief-dordrecht/SKILL.md
Search person records, population registers, civil records, church records, and notarial archives at Regionaal Archief Dordrecht (RAD) via HTTP GET on the MAIS-Flexis platform. No browser automation needed — plain curl requests. Covers Dordrecht, Zwijndrecht, Dubbeldam, Papendrecht, Sliedrecht, and the wider Drechtsteden area. 3+ million indexed persons. Use this skill whenever researching family lines from the Dordrecht/Zwijndrecht area, looking up records that OpenArchieven doesn't have (especially bevolkingsregister entries and older DTB records), or when you need scans of population register pages. Triggers on: "search Dordrecht archive", "check RAD", "Regionaal Archief Dordrecht", "Dordrecht bevolkingsregister", "Zwijndrecht records", "/regionaal-archief-dordrecht", or any genealogy research in the Drechtsteden area. Key families: van Leeuwen (Dordrecht), Los (Zwijndrecht/Dubbeldam), van der Ven (Zwijndrecht). No login required. Parallelizable.
npx skillsauth add rdeknijf/ai-genealogy-kit regionaal-archief-dordrechtInstall 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 3+ million indexed person records covering Dordrecht, Zwijndrecht, Dubbeldam, Papendrecht, Sliedrecht, and surrounding Drechtsteden via plain HTTP GET requests. No browser automation or API key needed.
OpenArchieven indexes some RAD records (archive code rad) but misses many
population register entries and older records. This skill searches the RAD
directly for what OpenArchieven doesn't have.
curl -s "https://www.regionaalarchiefdordrecht.nl/archief/?mivast=46&miadt=46&mizig=100&miview=tbl&milang=nl&micols=1&mip1=SURNAME&mip3=FIRSTNAME"
| Parameter | Field | Example |
|-----------|-------|---------|
| mip1 | Achternaam (surname) | Los, van+Leeuwen |
| mip2 | Tussenvoegsel (prefix) | van, de, van+der |
| mip3 | Voornaam (first name) | Bertus, Herman |
| mip4 | Rol (role in document) | Overledene, Bruid |
| mip5 | Plaats (place) | Dordrecht, Zwijndrecht |
| mibj | Begin datum (start date) | 1900 or 01-01-1900 |
| miej | Eind datum (end date) | 1950 or 31-12-1950 |
| mivast | Always 46 | 46 |
| miadt | Always 46 | 46 |
| mizig | Search type, always 100 for persons | 100 |
| miview | tbl for table view | tbl |
| milang | Language | nl |
| micols | Columns | 1 |
* matches any string (e.g., Le* matches Leeuwen, Lebbing)? matches single character$ exact match only"van Leeuwen"Results are HTML table rows. Extract data from <tr> elements with class
mi_odd or mi_even:
import re
def parse_rad_results(html):
"""Parse MAIS-Flexis person search results."""
rows = re.findall(
r'<tr[^>]*class="mi_(odd|even) rowlink"[^>]*>(.*?)</tr>',
html, re.DOTALL
)
results = []
for _, row in rows:
cells = re.findall(r'<td class="mi_value">(.*?)</td>', row, re.DOTALL)
if len(cells) >= 6:
# Strip HTML tags from cells
clean = lambda s: re.sub(r'<[^>]+>', '', s).strip()
results.append({
'type': clean(cells[0]), # Record type (e.g., "Persoon in bevolkingsregister")
'voornaam': clean(cells[1]),
'achternaam': clean(cells[2]),
'rol': clean(cells[3]),
'plaats': clean(cells[4]),
'datum': clean(cells[5]),
})
return results
Also extract the total result count:
total = re.search(r'(\d+)\s*resultaten', html)
count = int(total.group(1)) if total else 0
To view a full record, use the detail URL from the search result's data-qr
attribute, switching miview to ldt:
curl -s "https://www.regionaalarchiefdordrecht.nl/archief/?mivast=46&mizig=100&miadt=46&miview=ldt&milang=nl&mip1=SURNAME&mip3=FIRSTNAME&micode=ARCHIVE_CODE&minr=RECORD_NR&miaet=54"
The micode and minr values come from the search result row's data-qr
attribute. Parse them:
qr = row_element.get('data-qr', '')
micode = re.search(r'micode=([^&]+)', qr).group(1)
minr = re.search(r'minr=([^&]+)', qr).group(1)
Detail pages contain labeled fields like:
Extract with: re.findall(r'<th[^>]*>(.*?)</th>.*?<td[^>]*>(.*?)</td>', html)
Population register scans are linked from detail pages. Look for links
containing /scans/ or image URLs. The RAD has digitized most population
registers (bevolkingsregister) from 1850-1937.
Common micode prefixes:
| Code | Collection |
|------|-----------|
| 627.* | Burgerlijke Stand en Bevolking Zwijndrecht |
| 256.* | Burgerlijke Stand Dordrecht |
| 11.* | DTB Dordrecht (Hervormde Kerk) |
| 150.* | Notarieel Archief Dordrecht |
| What | RAD direct | OpenArchieven (rad) | |------|-----------|-------------------| | BS (civil records) | Yes | Yes (mostly) | | Bevolkingsregister | Yes — with scans | Partial (index only) | | DTB (church records) | Yes | Partial | | Notarial records | Yes | Some | | Person search | 3M+ indexed | Subset |
Use RAD directly when:
Use OpenArchieven when:
curl -s "https://www.regionaalarchiefdordrecht.nl/archief/?mivast=46&miadt=46&mizig=100&miview=tbl&milang=nl&micols=1&mip1=van+Leeuwen&mip3=Herman&mip5=Dordrecht"
curl -s "https://www.regionaalarchiefdordrecht.nl/archief/?mivast=46&miadt=46&mizig=100&miview=tbl&milang=nl&micols=1&mip1=Los&mip3=Bertus&mip5=Zwijndrecht&mibj=1920&miej=1950"
curl -s "https://www.regionaalarchiefdordrecht.nl/archief/?mivast=46&miadt=46&mizig=100&miview=tbl&milang=nl&micols=1&mip1=Los&mip4=Bruidegom"
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.