ex-ussr-kinship-research
Исследует родственные связи и семейную историю по персональным данным и документам с фокусом на бывший СССР, СССР и Российскую империю. Использовать для генеалогического поиска, сопоставления однофамильцев, архивных, метрических, военных, миграционных и репрессивных записей, построения доказательной цепочки и итогового отчёта. Не использовать для слежки за живыми людьми, поиска их текущих контактов или адресов, доступа к закрытым данным, обхода защиты и утверждения биологического родства без независимого подтверждения. EN — evidence-first genealogy and family-history research for the former USSR, the USSR and the Russian Empire (church/metric books, civil registration, military, migration, deportation and repression records, unindexed archive scans, namesake disambiguation, evidence chains, final report). Replies in the user's language. Not for tracking living people.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法包含的文件(31)
- SKILL.md37.8 KB
- .gitignore148 B
- assets/artifact-register.csv323 B
- assets/case-intake.template.yaml2.1 KB
- assets/claims-register.csv161 B
- assets/final-report.template.md4.2 KB
- assets/person-register.csv291 B
- assets/photos-readme.template.md1.4 KB
- assets/relationship-register.csv194 B
- assets/report-pdf.template.html18.4 KB
- assets/search-log.csv161 B
- docs/cover.jpg203.8 KB
- evals/discovery-and-logic.yaml27.0 KB
- LICENSE1.0 KB
- README.md7.5 KB
- references/browser-and-captcha.md8.0 KB
- references/changelog.md9.4 KB
- references/evidence-protocol.md14.8 KB
- references/ex-ussr-locale-guide.md12.6 KB
- references/field-lessons.md29.0 KB
- references/habsburg-galicia-bukovina.md16.2 KB
- references/photo-search.md10.8 KB
- references/privacy-and-safety.md7.4 KB
- references/seed-sources.md47.4 KB
- references/source-strategy.md23.8 KB
- scripts/audit_evidence.py18.8 KB
- scripts/build_pdf.py13.1 KB
- scripts/hash_artifact.py1.7 KB
- scripts/init_case.py4.5 KB
- tests/test_audit_evidence.py13.4 KB
- tests/test_build_pdf.py2.3 KB
SKILL.md(原文)
安装前可以查看交给 AI 代理的指令内容。
Назначение
Установить или опровергнуть родственные связи через воспроизводимое исследование. Сохранять происхождение каждого артефакта, отделять запись от её интерпретации, учитывать исторические границы и варианты имён, а выводы ранжировать по силе доказательств.
Язык общения / Language
Always reply in the user's language. This file is written in Russian, but that does not mean replies should be in Russian.
- Общаться с пользователем на языке его последнего сообщения: английском, украинском, русском, польском, немецком и т. д. Если пользователь прямо просит другой язык — использовать его.
- Цитаты из источников приводить в оригинальном написании (кириллица, латиница, старая орфография). Рядом давать перевод на язык пользователя, если он нужен для понимания.
- Шаблоны из
assets/(отчёт, реестры) заполнять на языке пользователя: заголовки и пояснения переводить. Имена столбцов CSV, идентификаторы (person_id,claim_id,artifact_id) и статусы (single-source,corroboratedи т. д.) не переводить. - Поисковые запросы составлять на языке источника (русском, украинском, польском, румынском, немецком, идиш и т. д.), а не на языке общения.
- Язык общения фиксировать в
case-intake.yamlв полеrequested_output_language. По умолчаниюauto— язык пользователя.
Обновления навыка
В начале исследования один раз проверить новые изменения в каноническом репозитории. Если есть обновление, уведомить пользователя и спросить: «Вышло обновление навыка. Обновить?» Агент пользователя выполнит обновление обычными доступными ему средствами после согласия. Пока ответа нет или пользователь отказался, продолжать исследование текущей версией без повторных предложений в каждом цикле.
Автономное исследование
По умолчанию вести исследование самостоятельно в длительном, при необходимости многочасовом цикле. Не завершать работу после каждого этапа вопросом «продолжать?».
- Уточнения задавать один раз сообщением или неблокирующим инструментом, не переходя в ожидание ответа. Сразу работать с известными фактами; неизвестное отмечать как неизвестное, предположения — как гипотезы. Отсутствие ответа не блокирует исследование.
- Повторять цикл: выбрать следующую проверку из очереди → найти и прочитать источник → сохранить артефакт и происхождение → обновить утверждения и журнал → выбрать следующий полезный шаг. Проверенные поиски не повторять без новых оснований.
- Вход, CAPTCHA или действие с отдельным разрешением оставлять в очереди для пользователя; блокируется только этот шаг. Продолжать другие источники, варианты имени, семейные ветви и разбор уже полученных материалов.
- Сохранять находки в реестрах, а оставшиеся проверки и блокировки — в рабочем плане дела, например
research-state.md. Использовать уже имеющийся план и не переписывать в него содержимое реестров. После перерыва продолжать с очередного полезного шага. - Продолжать, пока остаются полезные доступные проверки в рамках задачи. Завершать при выполнении задачи и покрытии объёма, исчерпании доступных маршрутов, явной остановке пользователем или лимите среды. Перед вынужденным завершением сохранять состояние и достигнутый результат; один вопрос без ответа или один недоступный сайт не являются завершением всей работы.
Неподлежащие нарушению правила
- Считать любой новый материал артефактом, а не фактом. Не переносить утверждение из артефакта в вывод без оценки происхождения, читаемости, прямоты и независимости.
- Не считать копии, зеркала, индексы и пересказы одной записи независимыми подтверждениями. Назначать им общий
independence_group. - Не присваивать связи статус
corroboratedбез как минимум двух независимых доказательных цепочек. Даже сильный первичный документ до кроссподтверждения помечатьsingle-source. - Не сливать двух одноимённых людей только по ФИО, возрасту или населённому пункту. До разрешения личности вести отдельные
person_id. - Сохранять исходное написание имён, дат и мест. Нормализованные варианты хранить отдельно и явно помечать как исследовательскую форму.
- Не скрывать противоречия. Фиксировать их рядом с выводом и сохранять альтернативные гипотезы.
- Для живых людей минимизировать данные. Не искать и не публиковать текущие адреса, телефоны, личные аккаунты, документы-идентификаторы, сведения о несовершеннолетних или иные данные, не необходимые для семейно-исторической задачи.
- Не загружать пользовательские документы, ДНК-данные или фотографии в сторонние сервисы без явного разрешения пользователя.
- Не обходить ограничения доступа и лимиты. Вход и CAPTCHA передавать пользователю, записывать точный заблокированный шаг и продолжать другие маршруты; подробности —
references/browser-and-captcha.md. - Не выдавать отсутствие результата поиска за доказательство отсутствия человека или события.
- Не выдумывать недостающие сведения и не повышать семейную память до документального факта. При исчерпании полезных доступных проверок сохранить результат и оставшиеся вопросы; не повторять без новых оснований одни и те же поиски.
Рабочий процесс
Это опорный маршрут: возвращаться к нужным шагам по мере находок, а не ждать полного заполнения предыдущего этапа. Скрипты помогают вести дело; если инструмент недоступен, выполнить доступную часть работы средствами агента.
Шаг 1. Зафиксировать задачу и допустимый объём
- Сформулировать рабочую цель из запроса. При широкой задаче начать с наиболее надёжно известной ветви и расширять поиск по находкам.
- Зафиксировать известные имена, варианты написания, примерные даты, населённые пункты, конфессию или общину только если это релевантно архивному поиску, занятия, родственников и миграции.
- Отметить, какие лица могут быть живы. Для них записать заявленную пользователем связь, согласие или иную законную и неинтрузивную основу исследования.
- Учитывать уже указанные ограничения. Не превращать пустые поля шаблона в дополнительный опрос; обычный поиск, чтение, локальный анализ и сохранение доступных исторических материалов по задаче выполнять самостоятельно. Уже полученные разрешения не переспрашивать.
- При наличии входных файлов сохранить оригиналы без изменений и работать с копиями.
- Один раз уточнить имеющиеся материалы: «Какие материалы по этой семье у вас уже есть?» Если они уже описаны или приложены, не переспрашивать. Ответ учесть в
input_materialsи, если он касается прежних исследований, вprior_family_research. Пока ответа нет, отметить это вnotesи сразу продолжить поиск по известным данным.
Использовать структуру assets/case-intake.template.yaml. Подробные ограничения читать в references/privacy-and-safety.md.
Шаг 2. Инициализировать дело и реестры
Продолжить существующее дело или самостоятельно выбрать отдельную папку вне навыка, например в ~/kinship-cases/. Повторно инициализировать уже созданное дело не нужно. Для нового дела:
python scripts/init_case.py --case-dir <путь> --research-question "<вопрос>" --subject-label "<основной человек>"
Заполнять по мере работы, сохраняя неизвестные сведения как неизвестные:
case-intake.yaml— задача, рамки, исходные данные и ограничения;person-register.csv— отдельные кандидаты на личность;artifact-register.csv— каждый документ, веб-результат, изображение или запись;claims-register.csv— проверяемые утверждения, извлечённые из артефактов;relationship-register.csv— гипотезы о связях междуperson_id;search-log.csv— запросы, фильтры, неудачи, CAPTCHA и следующие шаги;- рабочий план, например
research-state.md, — оставшиеся проверки и блокировки; final-report.md— итоговое исследование по шаблону;photos/— найденные фотографии иREADME.mdс их описанием (шаг 6а);pdf-source/— исходник читаемой PDF-версии (шаг 12), создаётся в конце.
Для локального файла вычислить контрольную сумму:
python scripts/hash_artifact.py <путь-к-файлу>
Шаг 3. Разобрать материалы пользователя
- Извлечь текст, таблицы, подписи, штампы, номера актов, архивные шифры и оборотные пометы.
- Для сканов указать страницу, область и качество чтения. Нечитаемые места обозначать
[неразборчиво]; предположения —[предположительно: ...]. - Не исправлять молча фамилии, даты и географию. Сохранять
names_as_written,place_as_writtenи исходную дату. - Для каждого материала создать
artifact_idи записать происхождение, дату получения, локальный путь или URL, тип оригинала/копии, читаемость иindependence_group. - Существенные для ответа утверждения оформить отдельными
claim_id, чтобы их источники и противоречия можно было проверить.
Подробную схему оценки читать в references/evidence-protocol.md.
Шаг 4. Построить историко-географическую модель
- Для каждого события определить юрисдикцию на дату события, а не только современную страну.
- Установить нужные для поиска уровни юрисдикции и архив-преемник. При неоднозначности вести несколько вариантов и проверять их по каталогам и документам.
- Составить варианты старых и новых топонимов, языков и письменностей.
- Записать исходный календарь; не выполнять скрытую конвертацию дат.
- Построить матрицу вариантов имени: исходное написание, дореформенная форма, местный язык, кириллица/латиница, патроним, фамильное окончание, возможная русификация и бытовые формы.
- Не считать переводные или созвучные имена эквивалентными без дополнительных признаков.
- Выбирать существенные варианты под язык, место и период; расширять их при пробелах и новых находках. Например:
- е/ё и окончания -ев/-ов/-ёв, полное и сокращённое отчество («Данилович»/«Даниилович»), записи без отчества;
- женские формы (-ова/-ов, -ская/-ский, -ина/-ин) и для женщин — девичью и все брачные фамилии;
- польское, идишское, немецкое, румынское и латинское написание (
references/ex-ussr-locale-guide.md); - церковную форму имени и бытовую (Евдокия/Авдотья, Иоанн/Иван, Мордух/Мордко/Марк).
Читать references/ex-ussr-locale-guide.md только когда появляются исторические границы, смена языка/письменности или неоднозначные топонимы. Для дел, связанных с Галицией или Буковиной, читать references/habsburg-galicia-bukovina.md.
Шаг 5. Составить план поиска
- Начать с наиболее позднего надёжно установленного события и двигаться назад по одной связи за раз. Место захоронения не доказывает место происхождения; исходную гипотезу о происхождении проверять по документам. Для городской биографии XX века известный работодатель или место проживания могут дать следующий маршрут поиска.
- Для каждого пробела определить подходящий тип записи: акт ЗАГС, метрическая книга, исповедная ведомость, ревизская сказка, посемейный/домовой список, перепись, военная запись, эвакуация, репрессия, миграция, адрес-календарь, некролог, кладбищенская запись и т. п.
- Выбирать источник по вопросу, покрытию и доступности. От индекса или семейной страницы переходить к указанному оригиналу; наводки помогают продолжать поиск, но не заменяют проверку доказательств.
- По мере появления записывать существенные гипотезы и различающие их проверки.
- Составить запросы по вариантам имени, месту, диапазону лет, родственникам, профессии, воинской части и архивному шифру.
- Намечать проверки по вопросу, месту и периоду, используя
references/source-strategy.md, раздел 12, и подходящие источники каталога. В журнале отражать фактически выполненные поиски и ограничения, а оставшиеся полезные шаги держать в плане. - В биографическом и семейном исследовании проверять семейные публикации и фотографии, если они могут помочь задаче; для короткого точечного вопроса выбирать относящиеся к нему проверки.
- Если женская линия упирается в смену фамилии, проверить маршрут «надгробие → кандидат в родственники → военная запись» (
references/field-lessons.md, раздел 4). Для советской гражданской биографии использовать документы о работе, наградах и эвакуации по месту события (references/field-lessons.md, раздел 9); региональные примеры не ограничивают охват бывшего СССР.
Подробную тактику и приоритеты источников читать в references/source-strategy.md. Каталог стартовых ресурсов, поддерживаемый автором навыка, находится в references/seed-sources.md и не заменяет проверку актуальности и происхождения. Просмотреть структуру всего каталога и изучить подходящие разделы, в том числе в конце файла; первые строки каталога не определяют его полное покрытие.
Практические приёмы для неиндексированных сканов (FamilySearch, архивные порталы), документов о репрессиях и депортациях, военных баз, исчезнувших хуторов, оккупированных территорий и ситуации «открытые источники исчерпаны» читать в references/field-lessons.md.
Шаг 6. Искать доступными инструментами
Использовать веб-поиск, каталоги/API и браузер по возможностям источника:
- Использовать поиск, переходы, фильтры каталогов и просмотр документов последовательно; не отправлять массовые запросы.
- Для каждого поиска сразу записывать точный запрос, локаль/язык, фильтры, URL, дату доступа и результат в
search-log.csv. - При обнаружении записи сохранить устойчивый идентификатор, архивный шифр, номер страницы/кадра и прямую ссылку, если она существует.
- Для сканированных PDF и изображений просматривать саму страницу, а не полагаться только на OCR или сниппет.
- Не использовать фрагмент поисковой выдачи как конечный источник, если доступна исходная страница.
- При недоступности браузера использовать другие доступные средства поиска и чтения, а также предоставленные материалы. Указывать фактические ограничения, не заявляя невыполненные проверки.
- После находки вернуться к оставшимся существенным вопросам и выбрать следующий полезный источник. Найденное можно сообщать сразу, явно указывая покрытие и незавершённые проверки.
- Мемориальные и семейные сайты проверять их собственным поиском, когда он доступен. Пустая внешняя веб-выдача не подтверждает отсутствие записи во внутренней базе. Форматы поисковых ссылок — в
references/source-strategy.md, раздел 12.
6а. Фотографии человека
Искать фотографии в том же проходе, что и документы, а не после отдельной просьбы:
- Выбор источников, опознание, датировку и хранение вести по
references/photo-search.md. Не применять распознавание лиц; сомнительные подписи не считать доказанным опознанием. - Сохранять доступные исторические снимки по задаче без отдельного вопроса о каждом файле, соблюдая ограничения источника. Учитывать их как артефакты и описывать в
photos/README.md. - Записать покрытие поиска.
not-foundозначает «не найдено в проверенных источниках», а не доказательство, что фотографий никогда не существовало.
При входе, CAPTCHA и ошибках доступа использовать references/browser-and-captcha.md: недоступный маршрут отметить и продолжить другие проверки.
Шаг 7. Оценить артефакты и извлечь утверждения
Для каждого артефакта отдельно оценить:
- происхождение и архивную ссылку;
- оригинал, изображение оригинала, индекс, копию или пересказ;
- современность событию;
- информанта и его возможную осведомлённость;
- прямое или косвенное отношение к утверждению;
- читаемость и полноту;
- независимость от других артефактов;
- признаки ошибки, позднего исправления или заимствования.
Не использовать числовой «процент истины». Присваивать утверждениям только объяснимые статусы:
hypothesis— рабочая гипотеза;single-source— поддержана одной доказательной цепочкой;corroborated— поддержана минимум двумя независимыми цепочками без неразрешённого существенного конфликта;strongly-corroborated— несколько независимых цепочек, включая хотя бы одну прямую запись с установленным происхождением;contradicted— сильное противоречащее свидетельство;unresolved— данных недостаточно или конфликт не разрешён.
Шаг 8. Разрешить личности
- Сопоставлять не только имя, но и совокупность дат, мест, родственников, профессии, адреса, сословия/статуса, конфессии, свидетелей, воинской части и миграционного маршрута.
- Вести конкурирующих кандидатов раздельно до появления различающих признаков.
- Зафиксировать причины каждого слияния или разделения
person_id. - Проверить круг семьи: супругов, родителей, детей, братьев/сестёр, восприемников, свидетелей и соседей, если это помогает идентификации.
- Не трактовать проживание в одном хозяйстве как биологическое родство.
Шаг 9. Проверить родственную цепочку
- Строить сложную связь из отдельных рёбер: например, дед/внук требует двух независимо проверенных связей родитель–ребёнок.
- Различать биологическую, юридическую, приёмную, опекунскую, сводную и хозяйственную связь.
- Для каждого ребра перечислить поддерживающие и противоречащие
artifact_id/claim_id. - Не выводить родство из общей фамилии, ДНК-совпадения без контекста, семейного дерева пользователя или сообщения на форуме.
- Чувствительные открытия — усыновление, возможное несоответствие отцовства, репрессии, этничность, религия — формулировать нейтрально, только в объёме, необходимом для ответа, и с явной ссылкой на источник.
- Оценивать принадлежность записи человеку и доказанность каждого родственного ребра отдельно: установленная личность не повышает статус связи. Отчество само по себе не доказывает отцовство (
references/evidence-protocol.md, раздел «Разрешение личности»).
Шаг 10. Провести аудит доказательств
Запустить:
python scripts/audit_evidence.py --case-dir <путь>
Проверить ссылки между реестрами и отчётом, независимость источников и обоснования статусов. Ошибки ссылочной целостности исправить; предупреждения разобрать по источникам, сохранив нерешённые вопросы. Не повышать статус ради прохождения проверки. single-source, hypothesis и unresolved — допустимые рабочие результаты.
Перед выдачей убедиться, что существенные выводы имеют источники, противоречия видимы, покрытие описано честно, а лишние данные живых людей исключены. Неполное покрытие явно обозначить; оно не мешает сообщить уже установленное и продолжать поиск.
Шаг 11. Подготовить итоговое исследование
Использовать assets/final-report.template.md как ориентир под задачу. Краткий ответ должен содержать вывод, источники, неопределённость и следующий полезный шаг; для подробного исследования добавить хронологию, проверку родственных связей, противоречия и покрытие поиска. Неприменимые разделы пропускать, неизвестные сведения не выдумывать.
Фактические выводы сопровождать ссылками на артефакты [A-0001; A-0007]. Обновлять отчёт по мере находок, не ждать исчерпания всех направлений ради промежуточного результата.
Шаг 12. Подготовить удобную версию отчёта
Для короткого ответа достаточно текста или Markdown. Если PDF запрошен или полезен для передачи семье, самостоятельно использовать assets/report-pdf.template.html, адаптировав разделы под задачу.
- Объяснять надёжность понятными словами, сохраняя различие между подтверждением, гипотезой, нехваткой данных и противоречием. Архивные шифры и ссылки оставить.
- Фотографии, военную службу, репрессии и другие тематические блоки включать по содержанию дела. Отсутствие фото или полного ответа не мешает подготовить отчёт.
- Оригиналы изображений сохранять; рабочие копии обрезать или уменьшать только по потребности, сохраняя читаемость.
python scripts/build_pdf.py --html <дело>/pdf-source/report.html --out <дело>/report.pdf
Проверить читаемость и вёрстку готового PDF. Если этот способ сборки недоступен, использовать другой доступный инструмент или сохранить результат в доступном формате, продолжая исследование.
Обработка ошибок
- Если документ не читается, сохранить его как артефакт, описать дефект и при необходимости запросить лучшую копию; до ответа работать с другими материалами и источниками.
- Если источник исчез, проверить официальный каталог, веб-архив только в допустимых пределах и зеркала; зеркала не считать независимыми.
- Если архивная юрисдикция неясна, проверить правдоподобные места, приходы и архивы параллельно; до разрешения не объединять кандидатов.
- Если результаты дают несколько однофамильцев, расширить семейный кластер и не выбирать кандидата по интуиции.
- Если источники противоречат друг другу, сохранить обе версии, оценить информанта и искать третий независимый источник.
- Если поиск затрагивает явно живого человека без достаточной семейно-исторической основы, сузить исследование до предоставленных пользователем материалов или прекратить интрузивную часть.
- Если документ и семейная память расходятся (например, место рождения в паспорте и в рассказе), сохранить обе версии как отдельные утверждения со своими источниками. Не подгонять документ под рассказ и не наоборот. Различать «родился» и «вырос».
- Если в одной базе найдено много документов, вернуться к оставшимся существенным вопросам и выбрать следующую полезную проверку.
- Если все полезные доступные маршруты в рамках задачи исчерпаны, один раз перечислить установленное, неустановленное и покрытие. Сохранить рабочий план, вопросы родственникам и проекты архивных запросов (
references/field-lessons.md, раздел 8); продолжить с этого состояния при появлении новых данных или доступа.
评价
还没有评价。欢迎分享你的使用感受。
评论
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。