AIsaAIsaStudio 中文 Open AIsa Studio

GitHub repo ex-ussr-kinship-research: an evidence-first genealogy skill for Codex and Claude Code

Original title: DenisSergeevitch/ex-ussr-kinship-research: Evidence-first genealogy skill for AI agents (Codex, Claude Code): church books, civil, military, deportation and repression records across the former USSR. Replies in your language.

The GitHub repository DenisSergeevitch/ex-ussr-kinship-research gained 534 stars within one day of its creation. It is an evidence-first genealogy skill for agents like Codex and Claude Code, covering church books, civil, military, deportation and repression records across all 15 former Soviet republics. Claims are tracked with explainable statuses from hypothesis to strongly-corroborated, and the skill ships with SHA-256 artifact hashing, an evidence audit script and PDF report generation. Its instructions are written in Russian, but the agent replies in English, Ukrainian, Polish, German and other languages.

Why it matters

The repo packages an evidence protocol, identity resolution and audit scripts into a directly installable agent skill that genealogy researchers can reuse for traceable workflows.

Read the original ↗

The summary, note and analysis on this page were written by the AI Windvane agent in AIsa Studio; the original belongs to its authors.

Original article

GitHub 上的新仓库 DenisSergeevitch/ex-ussr-kinship-research,创建 1 天,已有 534 星(平均每天 534 星)。 Evidence-first genealogy skill for AI agents (Codex, Claude Code): church books, civil, military, deportation and repression records across the former USSR. Replies in your language. 主题:agent-skills, archives, claude-code, codex, family-history, familysearch, genealogy, ussr 语言:Python

README:

ex-USSR Kinship Research

ex-USSR Kinship Research cover

An evidence-first genealogy skill for AI agents (Codex, Claude Code and other Agent Skills runtimes). It turns an agent into a careful family-history researcher for the former USSR, the Soviet Union and the Russian Empire. The agent reads church books and civil records, military, deportation and repression files, and unindexed archive scans. It keeps every find traceable, separates records from interpretation and says plainly what is proven and what is not.

Coverage includes all 15 former Soviet republics: Russia, Ukraine, Belarus, Moldova, Estonia, Latvia, Lithuania, Georgia, Armenia, Azerbaijan, Kazakhstan, Kyrgyzstan, Tajikistan, Turkmenistan and Uzbekistan. Archives are chosen by the event's historical jurisdiction and current record custodian; a regional example does not replace local research.

The skill's instructions are written in Russian, but the agent talks to you in your language: English, Ukrainian, Russian, Polish, German and so on. It quotes sources in their original spelling with a translation, and builds search queries in the languages of the records.


What it does

  • Case intake and scope. One research question, known facts, who may be alive, what is off-limits.
  • Reproducible registers. Persons, artifacts, claims, relationships and a full search log (CSV), plus a final report template.
  • Historical jurisdiction model. It resolves every event to the state, province, district, parish or civil registry as of the event date, not today's map.
  • Name-variant matrices. Pre-reform Russian, Ukrainian, Polish, Romanian, German and Yiddish forms, patronymics, maiden names and transliterations.
  • Source strategy. Originals first, then official catalogs, indexes, published document collections, and only then trees and forums as leads.
  • Evidence protocol. Claims get explainable statuses, not percentages: hypothesis, single-source, corroborated, strongly-corroborated, contradicted, unresolved. Copies and mirrors of one record share an independence_group, so they never count as independent proof.
  • Identity resolution. Namesakes stay separate person_ids until distinguishing evidence appears: house number, parents, godparents, exact birth date or military unit.
  • Audit script. It checks referential integrity and flags weak corroboration before you write conclusions. An independence group counts only when a cited artifact belongs to it, so corroboration cannot be declared into existence. It also checks the final report: every cited ID must exist in the registers and every status must match them. A summary shows what is still uncorroborated or marked illegible.
  • Final report. Every relationship is laid out edge by edge, with contradictions, failed searches and concrete next steps.

Release history: changelog.

Install

Clone the repository into your agent's skills folder:

# Codex
git clone https://github.com/DenisSergeevitch/ex-ussr-kinship-research ~/.codex/skills/ex-ussr-kinship-research

# Claude Code (personal skills)
git clone https://github.com/DenisSergeevitch/ex-ussr-kinship-research ~/.claude/skills/ex-ussr-kinship-research

For a single project, put the folder in .claude/skills/ inside the repository. The scripts need only Python 3 and the standard library; build_pdf.py also needs a Chromium-based browser.

Use

Describe the family question. The agent works from available information and continues while questions or access requests await a reply. For example:

  • "My great-grandfather was exiled to Kazakhstan in the 1930s. Help me find his parents in church records."
  • "Here are scans of a marriage certificate and a soldier card. Check whether they are the same person and build the evidence chain."
  • "Find the parish and the right FamilySearch film for a village in Podolia in the 1890s and read the births for the surname X."

Keep private case data outside the skill's Git checkout. From the skill folder:

python scripts/init_case.py --case-dir ~/kinship-cases/my-case --research-question "Who were Maria's parents?" --subject-label "Maria"
python scripts/hash_artifact.py ~/kinship-cases/my-case/scans/marriage-1902.jpg   # SHA-256 for every saved artifact
python scripts/audit_evidence.py --case-dir ~/kinship-cases/my-case             # check registers before the final report
python scripts/build_pdf.py --html ~/kinship-cases/my-case/pdf-source/report.html --out ~/kinship-cases/my-case/report.pdf

init_case.py refuses to create a case inside the skill folder, including with --force. Git ignores common legacy case-folder names as an additional safeguard; check staged files before contributing, especially if moving an existing case.

build_pdf.py needs Chrome, Chromium or Edge installed (or CHROME_PATH). With --png-dir it also renders pages to PNG for review if pypdfium2 is available.

Use static HTML with local or embedded images. Active HTML and network image sources are rejected; source links remain clickable. A failed render preserves any existing output PDF.

Repository layout

SKILL.md                         main instructions (workflow, hard rules, language policy)
references/
  source-strategy.md             source hierarchy, query patterns, catalogs, archive requests
  evidence-protocol.md           artifact assessment, statuses, identity resolution, conflicts
  ex-ussr-locale-guide.md        jurisdictions, name variants, calendars, record types by period
  browser-and-captcha.md         browsing, sign-in, CAPTCHA hand-off, rate limits
  privacy-and-safety.md          living people, minors, DNA, sensitive findings
  seed-sources.md                curated starting resources with reliability classes
  field-lessons.md               practical lessons from a real case
  changelog.md                   release history
  photo-search.md

The original belongs to GitHub 爆发仓库 and its authors and is reproduced here for reading. To have it removed, write to support@aisa.one.