Biografía
La entrada describe la vida de una persona — la mayoría de las veces una hoja de cálculo cronológica (un evento por fila, recopilada a partir de libros métricos, listas de confesión, censos, archivos judiciales/administrativos), pero también puede ser notas, enlaces o documentos. La salida es una biografía legible más páginas de fuente. La precisión importa más que la prosa: los genealogistas verificarán cada afirmación contra los documentos.
Dónde va la salida. Todo se escribe dentro del proyecto del sitio
family_tree_github/ (MkDocs Material; véase su README.md):
| Qué | Dónde |
|---|---|
| Página de persona | family_tree_github/docs/people/P1000-<slug>.md |
| Registro de archivo | docs/sources/archives/A1000-<slug>.md |
| Libro / publicación | docs/sources/books/B1000-<slug>.md |
| Foto | docs/sources/photos/F1000-<slug>.md (imagen en docs/assets/images/people/) |
| Página web | docs/sources/websites/W1000-<slug>.md |
| Lugar (asentamiento) | docs/places/PLC1000-<slug>.md |
| Índice de lugares | docs/places/index.md |
| Índice de personas | docs/people/index.md |
| Índice de fuentes | docs/sources/index.md |
| Menú | nav: en family_tree_github/mkdocs.yml |
Los archivos raíz antiguos (sources.md con números 3000–3011, people.md,
*_biography.md) son heredados: no se escribe en ellos. Nunca se mencionan los números antiguos en ningún lugar
del sitio — ni legacy_id, ni columna o línea «Прежний №».
IDs. Un prefijo más un número de cuatro dígitos a partir de 1000, tomado del inicio del nombre del archivo. Un ID nunca cambia y nunca se reutiliza, incluso después de eliminar una página. Obtenga el siguiente libre y verifique duplicados con:
python3 .claude/skills/genealogy-biography/scripts/next_id.py next A A P # A1010, A1011, P1005
python3 .claude/skills/genealogy-biography/scripts/next_id.py find "23И, оп. 2, д. 24" # ¿ya está?
python3 .claude/skills/genealogy-biography/scripts/next_id.py list
Enlaces. Escriba solo el ID; el enlace del sitio (hooks/id_links.py) lo convierte en un enlace:
[A1006] → enlace etiquetado «A1006» a la página de fuente; [P1000] → enlace etiquetado con el nombre de la
persona; [жена](P1000) → enlace con su propio texto. Nunca escriba rutas de archivo o URL
a páginas internas. Un ID desconocido rompe la compilación.
1. Leer la entrada
Si la entrada es una hoja de cálculo cronológica (.ods, .xlsx, .csv), cargue primero la habilidad chronology-table y sígala: vuelca la tabla, mapea las columnas y devuelve una lista de hechos conciliados por fila con fuentes. No todas las biografías comienzan a partir de una tabla — si el usuario proporciona otro material (notas, enlaces, documentos), trabaje a partir de eso y omitir el paso de la tabla.
Compruebe si la persona ya tiene una página (next_id.py find "<apellido>", y la tabla
en la parte superior de docs/people/index.md). Una página marcada con !!! warning "Страница-заготовка" es
un marcador de posición: escriba la biografía dentro de ella, manteniendo su ID y nombre de archivo.
1a. Leer los escaneos en Yandex Archive
Para cada registro con un enlace yandex.ru/archive/catalog/..., obtenga el texto reconocido del
escaneo:
python3 .claude/skills/genealogy-biography/scripts/yandex_archive.py page "<url>"
Imprime el título del documento y la ruta del catálogo (archivo / фонд / опись / дело) y luego las líneas reconocidas de la página. Úselas para:
- encontrar el registro sobre la persona y citarlo (ver "Citar los registros" más abajo);
- recoger detalles que le faltan a la tabla: número de registro, fecha de bautismo vs. fecha de nacimiento, el nombre del niño y los padres, los padrinos, los garantes en una boda, el sacerdote, la causa de muerte, las edades;
- completar una referencia de archivo faltante (fond/opis/delo) a partir de la ruta del catálogo.
El texto es escritura manuscrita reconocida por máquina. Las columnas de la tabla aparecen como líneas separadas, así que
relacione fechas y edades con sus columnas por orden, y trate los números y los nombres raros con
precaución. Para buscar registros que no tienen enlace en la tabla (por ejemplo, un registro de defunción), intente
yandex_archive.py search "<formas de nombre, lugar>". Sus fragmentos provienen del marcado
estructurado y a veces se leen mejor que las líneas de la página (por ejemplo, una edad). Registre cada búsqueda
que haya intentado, para que se pueda informar un resultado negativo.
Registre cada revisión de archivo. Antes de revisar un delo o un conjunto de escaneos, verifique
family_tree_github/internal/checks/reviewed_documents.md (interno, no en el sitio) —
puede que ya haya sido buscado. Después de revisar uno — un libro métrico leído para esta
persona, una búsqueda en Yandex Archive, un delo navegado para un registro faltante — agregue o extienda su
entrada allí, incluyendo los resultados negativos: qué (archivo, fond, opis, delo o ruta de
escaneo), fecha, cómo (todas las hojas / muestra / solo búsqueda), qué se buscó (nombres, lugares) resultado (encontrado → [A…] o marcos; no encontrado → «искали …, не нашли»), qué queda sin leer.
Las colecciones grandes de escaneos se buscan con la habilidad archive-scan-search; los libros
métricos completos se indexan con la habilidad metric-book-index.
2. Extraer hechos y conciliarlos
Antes de escribir, tenga una lista de hechos por evento con su fuente de apoyo (de la
habilidad chronology-table cuando la entrada es una tabla), con edades, variantes de nombre, cambios
de estado, familia y lagunas conciliadas. Explique las transiciones de estado con claridad; véase
references/terms.md.
3. Escribir la biografía
La tabla de entrada no es una fuente — nunca la mencione. La tabla cronológica (y cualquier otra nota de trabajo que el usuario proporcione) es el archivo de investigación privado del usuario; los lectores del sitio no saben que existe y no saben nada sobre genealogía o búsqueda en archivos. Por lo tanto, en todo texto de salida:
- Nunca escriba "в таблице", "по таблице", "из таблицы", "в исходных данных", "столбец", "строка N" y similares. Cite solo fuentes reales: registros de archivo, escaneos, publicaciones, sitios web.
- Cuando no se sepa nada, dígalo en términos generales: "в имеющихся источниках об этом не сказано", "дословный текст записи недоступен", "архивный шифр неизвестен", "скан найти не удалось".
- Una transcripción de la columna de comentarios se llama simplemente "расшифровка" (el texto del registro), no "расшифровка из таблицы".
- Los errores y lagunas en la tabla misma (prefectura incorrecta, fecha de nacimiento dada en lugar de fecha de bautismo, filas sin un lugar, nombres mal escritos) no se discuten en la biografía: use el valor correcto en el texto e informe el problema de la tabla al usuario en el chat (paso 6). Mencione una ortografía variante en las notas solo si aparece en una fuente real.
- Explique todo para un lector lego: qué es un tipo de registro, qué significa una abreviatura o un estado.
Fundamente cada afirmación fáctica en los datos de entrada. Nunca invente fechas, lugares, familiares, ocupaciones, causas o motivos. Cuando los datos no dicen nada, o bien calle o diga claramente que los registros no lo muestran. Frases como "probablemente", "es posible" solo están permitidas para inferencias razonables respaldadas directamente por los datos (por ejemplo, una mudanza inferida a partir de registros en un nuevo lugar), y deben estar marcadas como inferencias. Una hipótesis de trabajo (por ejemplo, que dos registros son la misma persona) va bajo «Исследовательские заметки», comenzando con Предположение (не подтверждено документами).
Pruebe el vínculo de parentesco eslabón por eslabón. Cada vínculo padre–hijo y cónyuge es una afirmación separada con sus propias fuentes; un abuelo o un antepasado más lejano se prueba solo a través de una cadena de vínculos probados. Al escribir sobre un vínculo:
- Diga en qué se basa. Un vínculo nombrado en un registro se escribe como tal («по записи о рождении 1919 г.»), no como un hecho asentado de muchas fuentes. Se considera confirmado por varios documentos solo si son independientes: una copia, un extracto, un certificado o un recuento del mismo registro es la misma fuente.
- Un patronímico solo nombra al padre ("Яковлевич" = padre llamado Яков); no muestra qué Яков. El apellido compartido, la aldea o el hogar tampoco son evidencia de parentesco.
- Mantenga a los homónimos completos (mismo nombre y patronímico, misma aldea) como personas separadas hasta que los registros los distingan; un homónimo fuera del árbol recibe su propia página de comparación.
- Cuando los registros no coinciden (por ejemplo, el patronímico de una madre), dé ambas versiones una al lado de la otra con
quién proporcionó la información y cuándo: un registro hecho en el evento o por la persona
misma suele pesar más que uno posterior de otros. Regístrelo en
research_open_questions.md. - Una historia familiar o la nota del compilador es una pista, no un documento: atribúyala «по заметкам составителя» y nunca la presente como un registro.
El contexto histórico breve es bienvenido cuando ayuda al lector a comprender un registro (qué fue la colonia penal de Sajalín, qué fue el censo de Chéjov de 1890, qué significaba ser padrino, qué permitía el estatus de "ссыльнопоселенец"). Manténgalo breve, general y claramente sobre la época — nunca lo presente como un hecho sobre esta persona.
Describa siempre los lugares visitados. Siempre que la persona haya visitado un sitio específico — un templo, santuario, iglesia, monasterio, museo, castillo, granja, fábrica, parque, escuela, monumento, etc. — añada una breve descripción del mismo (2–5 oraciones): qué es, dónde está exactamente, cuándo y por quién fue fundado, por qué es conocido, qué ve un visitante allí. Busque los hechos (sitio oficial, Wikipedia, enciclopedias) y manténgalos precisos; la conexión de la persona con el lugar (con quién, qué hicieron allí) proviene solo de los datos. Una ciudad, pueblo o región por sí sola no necesita una descripción (una línea corta de contexto es opcional). Si un nombre de sitio en los datos parece mal escrito o no se puede encontrar, use el nombre real más probable en el texto y anote la ortografía original en la sección de notas.
Cite los registros. Siempre que el texto de un registro esté disponible (una transcripción en
la columna de comentarios de la tabla, o texto reconocido del escaneo), cítelo textualmente, en la
forma: Согласно записи в метрической книге: «Корсаковской тюрьмы ссыльно-каторжная Евдокія Андреева Лапина…» [A1000]. Esto se aplica a cada evento: nacimientos, muertes (incluyendo
la causa y la edad tal como están escritas), matrimonios, padrinazgo, censos y listas de confesión.
- Mantenga la ortografía original, incluyendo la ortografía prerreforma y las variantes de nombre.
- En la biografía, corrija los errores obvios de OCR en silencio. En la página de fuente, muéstrelos entre
corchetes:
Корсаковскаго [в распознании: «Корожковскаго»]. - La interpretación y la explicación son bienvenidas y permanecen en el texto. Colóquelas junto a la cita, no en lugar de ella, por ejemplo, «…(старости)» — то есть умерла от старости.
- Si no existe texto (sin transcripción en la tabla, y sin escaneo o uno ilegible), dígalo claramente en el texto: "Дословный текст записи недоступен, скан найти не удалось." Nunca parafrasee un registro como si hubiera sido citado.
- De dónde proviene una cita se indica en su página de fuente, no en la biografía (ver "Etiqueta de origen del texto" en el paso 4). La explicación general de estas etiquetas y de las marcas [?], […], [неразборчиво], [в распознании: «…»] vive una vez en la sección «Откуда взяты цитаты» de docs/sources/index.md; no la repita en las páginas de persona.
Cite en línea. Después de cada afirmación, añada el ID de fuente entre corchetes:
...родились близнецы Иван и Мария [A1000]. Varios seguidos: [B1000][A1005]. Cada ID
usado debe tener una página, y cada página de fuente de esta persona debe ser citada al menos una vez.
Enlace personas. Cuando se menciona a una persona que tiene su propia página, enlácelo:
[Егор Почеревин](P1001) en texto corrido, [P1001] en listas (se renderiza como el nombre completo).
Las personas sin página permanecen en texto plano — no cree páginas para todos los mencionados.
Idioma. Escriba en el idioma que el usuario solicitó. Si no se especifica, use el idioma del contenido de la tabla (para tablas rusas — ruso). Mantenga los nombres y el texto del registro citado en su forma original; cuando escriba en otro idioma, translitere los nombres y dé el original entre paréntesis en la primera mención.
Estructura (adapte los encabezados a la vida de la persona; omita secciones sin datos):
---
person_id: P1005
name: "Имя Отчество Фамилия"
name_variants:
- "<как записан в документах>"
birth_date: "1885-07-15" # ISO; "1851/1857" para un rango; "" si se desconoce
birth_date_status: confirmed # confirmed | probable | unknown
death_date: ""
death_date_status: unknown
parents: [P1000] # solo IDs de personas que tienen páginas
spouses: []
children: []
sources: [A1000, A1005]
---
# <Nombre completo> (<año de nacimiento o rango> – <año de muerte>)
<Resumen de un párrafo: quién, dónde, el arco de la vida en 3–4 oraciones.>
NO añada un párrafo explicando los códigos de fuente ("Коды в квадратных скобках — ...", tipos de fuente,
advertencias de OCR). Esa explicación general vive una vez en docs/research-method.md y
docs/sources/index.md, no en las páginas de persona.
## <Período de vida 1, por ejemplo, Orígenes>
## <...>
## <Últimos años y muerte>
## Семья
<Esposos e hijos con fechas, como una lista corta; enlace a aquellos que tienen páginas.>
## Хронология
| Дата | Событие | Место | Источник |
<Tabla compacta, una línea por fila de la entrada.>
## Замечания о документах
<Discrepancias en edades, nombres, fechas; lagunas; preguntas sin resolver que merecen más investigación;
qué registros no tienen texto disponible; lecturas de OCR que necesitan verificación contra el escaneo.>
## Исследовательские заметки
<Hipótesis y pistas de investigación, cada una marcada «Предположение». Omita si no hay ninguna.>
## Источники
- [A1000] — <descripción breve>
- ...
## Связанные персоны
- <rol> — [P1000]
4. Páginas de fuente (obligatorias cuando existen fuentes)
Una página por documento distinto, compartida por todas las biografías. Si varias filas citan el
mismo registro, cite el mismo ID. Antes de crear una página, búsquela
(next_id.py find por referencia de archivo, URL de escaneo, código original): si existe, reutilice
el ID, añada cualquier nuevo detalle o cita sobre esta persona a esa página, y añada a la persona
a su related_people y «Связанные персоны».
Elegir el prefijo — por el rol del material, no por dónde está almacenado:
A— un registro de archivo: entrada de libro métrico, lista de confesión, tarjeta de censo, expediente. La página contiene la referencia de archivo (архив, фонд, опись, дело, лист) y el enlace de escaneo. UseAincluso cuando se desconoce la referencia, pero claramente es un registro de archivo.D— un archivo o documento concreto (escaneo/PDF local, notas del compilador, un certificado). Por ahora, las fuentesDno se publican: cree no