DenisSergeevitch/ex-ussr-kinship-research
Productivity & UtilitiesTurns a coding agent into a traceable family-history researcher for Soviet and Russian Empire archives.
A domain-specific agent skill for people tracing ancestors in former-USSR territory. It is most useful if you already have a concrete family question and are prepared to read archival records, not just hand over a surname and wait.
The problem
Family research in the former USSR usually starts with a name, a village and a half-remembered year, then stalls at the archive: church books and civil registers use jurisdictions that no longer exist, names appear in several alphabets and spellings, and the same record turns up in three copies that look like independent proof. A general-purpose chat assistant will happily produce plausible parent names without showing which edition of which record supports them. The skill changes the unit of work: the agent builds a case folder with persons, artifacts, claims and a search log, resolves each event to the jurisdiction in force at the event date, and ends with a report that separates what the documents prove from what remains a lead.
What's different
The main mechanism is not a search engine but an evidence protocol. Claims carry statuses such as hypothesis, single-source, corroborated or contradicted rather than percentages, and copies of one record share an independence group so they cannot be counted twice. Namesakes stay separate until distinguishing details, such as house number, godparents or military unit, connect them. An audit script then checks that every cited ID exists and that stated conclusions match the registers before the report is written.
That design fits a field where the temptation to guess is high and the cost of a wrong branch is months of archive requests. It also means the agent does real bookkeeping. You will be asked for research scope, facts you already have, living-person limits and what is off-limits. The instructions are written in Russian, while the agent replies in your language and quotes records in their original spelling with a translation, so the skill is usable without Russian fluency, though the underlying documents still are not.
A second practical difference is the historical jurisdiction and name-variant material: pre-reform Russian, Ukrainian, Polish, Romanian, German and Yiddish forms, plus calendars and record types by period. This is where most casual genealogy help falls apart, but it trades breadth for depth. The skill is explicitly scoped to the former USSR, Russian Empire and Habsburg Galicia and Bukovina, not to family history anywhere.
Who should try it
Good fit: someone with a specific question, such as a great-grandfather exiled in the 1930s whose parents may appear in church records, who is willing to gather scans and wait on archive replies. Also a researcher holding a marriage certificate and a soldier card who needs to know whether they describe the same person. The audit step and edge-by-edge report give that work a structure.
Poor fit: anyone hoping for a quick surname lookup with an answer at the end, or anyone researching families outside the covered regions. People who will not keep case data outside the skill checkout should also stay away, because the README requires private case folders to live elsewhere; init_case.py refuses to create a case inside the skill folder and hash artifacts are expected per scan.
Requirements and limitations
Setup is a clone into ~/.codex/skills/ or ~/.claude/skills/ (or .claude/skills/ for one project), plus Python 3 with only the standard library for the main scripts; see the install and usage instructions. PDF export is the exception: build_pdf.py needs a Chromium-based browser, and optional PNG page review needs pypdfium2 as well. No API key or paid service is documented.
The ongoing workload is the real constraint. Sign-ins, CAPTCHAs and archive correspondence are the user's job, and the skill only drafts requests. Archive access rules change, so the official procedure must be checked each time; the skill's responsibility ends at preparation. Source coverage is curated in a seed list and is not exhaustive. The README does not state how comprehensive the seed sources are or how well they cover any given province, so verify your region before assuming the agent can go deep.
HotRepo's take
The repository appears in HotRepo's 2026-10-25 sample with 448 total stars, ranked #12 on the NEW-REPOSITORY board (not the overall board); that single dated board observation is not daily growth data, and with only one recorded date the persistence of interest cannot be judged. A new repository plus one snapshot establishes age and a snapshot, nothing more. The concrete point to check before adopting is regional coverage in the seed-source list for your specific province, since the broader evidence workflow is only as useful as the records it can point to.
Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.