.claude/skills/improve-datasource/SKILL.md
Take an existing data source skill and make it faster and more reliable. Investigates whether the current access method (usually Playwright browser automation) can be replaced with a faster one (API, curl, direct HTTP). Use this skill when: "speed up X source", "improve the X skill", "make X faster", "/improve-datasource", "this is taking forever", "the lookups are so slow", or when a data source skill is too slow or unreliable. Also consider triggering after a hardening run where browser automation was a bottleneck.
npx skillsauth add rdeknijf/ai-genealogy-kit improve-datasourceInstall 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.
Take an existing .claude/skills/<source>.md and find a faster, more
reliable way to access the same data.
Playwright browser automation: 5-30 seconds per search, fragile (UI changes break it), sequential (one browser session), burns context with snapshot data.
A curl/API call: <1 second, structured data, parallelizable. For a hardening run of 30 lookups, that's 15 minutes vs 30 seconds.
Understand: access method, URL patterns, extracted data, known issues.
Follow the same access method priority from /onboard-datasource —
API > OAI-PMH/SRU > URL fetch > Playwright. The difference here is that
you already have a working skill, so you can use the browser to discover
the hidden API behind the UI:
a. Network analysis — navigate to the search page, monitor network
requests during a search (browser_network_requests), identify the
actual data call (JSON responses, API endpoints)
b. Replicate with curl — try to call that endpoint directly and check
if it works without cookies/auth
c. API documentation search — site:<domain> api, GitHub repos that
interact with the archive, platform vendor docs (Memorix Maior,
Picturae, MAIS Flexis, Axiell, etc.)
d. Alternative access — check if the same data is available via
A2A/OAI-PMH, open data dumps, or aggregators (OpenArchieven,
WieWasWie, FamilySearch may already index this archive)
| Metric | Current | Proposed | |--------|---------|----------| | Time per search | | | | Structured output | | | | Auth required | | | | Parallelizable | | |
For high-volume lookups:
## Data Source Improvement: <source name>
**Before:** <method>, ~X seconds per search
**After:** <method>, ~Y seconds per search
**Speedup:** Xz faster
**What changed:** <list>
**What was tried but didn't work:** <list with reasons>
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.