THE LINEAGE
Una fotografía entra. El skill mide diez rasgos en la máquina del usuario, determina a qué década pertenecen esos rasgos y construye el árbol genealógico de la foto: un look por década en el tronco desde los años 30 hasta los 2020, dos más a su lado como ramas, cada uno una película, cinematógrafo, fotógrafo, campaña o proceso nombrados con la razón de su pertenencia. Luego estudia la dirección del tronco y cultiva una rama 2027 en el lugar donde la biblioteca no tiene ningún look: un nombre, una receta, qué hereda de quién y la prueba de que es un hueco ("Ninguno de los 107 looks es tan cálido y tan granulado a la vez"). Esa frase de hueco es la firma: es lo que hace que la rama sea un look que nadie ha creado aún, no una suposición.
Todo hasta la rama es aritmética local y no cuesta nada. Lo único que genera es el re-iluminado final de la propia foto del usuario dentro de esa rama, y se ejecuta en la cuenta Higgsfield del usuario después de que él dé su consentimiento.
Instalar
bash install.sh # el skill, tu carpeta de estudio, una verificación de las herramientas opcionales
bash install.sh --higgsfield # también el CLI + MCP de Higgsfield, para generar en tu propia cuenta
Solo Python de biblioteca estándar. JPEG y HEIC se abren mediante sips (macOS) o ffmpeg; PNG no necesita nada.
Cómo ejecutarlo
Cuando el usuario lo solicite, Claude:
- Traza la foto.
python3 scripts/lineage.py trace "<foto>" --project "<proyecto>"(cualquier JPG, PNG o HEIC; el proyecto por defecto esthe-lineage). Imprime las cuatro lecturas (luz, grano, encuadre, color), la década con su porcentaje de puntuación y el subcampeón, y el tronco desde los años 30 hasta ahora con lo que cada look comparte con la foto. Dile al usuario la década primero, luego los dos o tres looks del tronco que más importan. Si dice "un resultado ajustado", menciona ambas décadas: esa es la lectura honesta. - Cultiva la rama.
python3 scripts/lineage.py grow latest --project "<proyecto>". Imprime la rama 2027: su nombre y declaración, la receta (luz, color, negros, grano, óptica, formato), qué hereda y de qué look, y el hueco. Si el usuario quiere otra opción,--seed 1(2, 3…) encuentra otro hueco con las mismas reglas. - La exporta.
python3 scripts/lineage.py export latest --project "<proyecto>"escribetrees/<id>.svg(un póster imprimible: el tronco trepando desde 1930, el capullo carmesí de 2027 en la cima),trees/<id>.json(todos los números) ytrees/<id>-branch.md(la tarjeta de la rama con la receta). Abre el póster (open <archivo>en un Mac) y di en una línea qué mirar primero: el capullo y el look del tronco justo debajo de él. - Se detiene y pregunta antes de generar. Solo si el usuario quiere la rama en su propia foto:
python3 scripts/lineage.py request latest --project "<proyecto>"escribe una solicitud de edición de imagen. Dile que es una generación y cuánto cuesta en su plan de Higgsfield, y espera un sí. Luego ejecútalo (abajo) y verifica conpython3 scripts/lineage.py status latest --project "<proyecto>".
Explicar un nodo: python3 scripts/lineage.py node <id> imprime un look completo (por qué está en el linaje, qué transmite, personas, dónde encontrarlo, padres). python3 scripts/lineage.py library --decade 1970 lista una década. Sus propias referencias: python3 scripts/lineage.py add --name "..." --year 1994 --why "..." --image ref.jpg mide la imagen y añade el look a su linaje para todos los árboles posteriores (las referencias son globales a la máquina, no por proyecto; --project se acepta y se ignora).
Pruébalo con el ejemplo incluido (sin gastar nada): python3 scripts/lineage.py example --project demo (o --photo pool para la segunda imagen fija). Para comprobar que funciona en esta máquina: python3 scripts/selftest.py.
Cómo juzgar el resultado
-
Advierte sobre suelo débil. Sin personas, una fuente de luz visible o luz de estudio, el medidor tiene poco donde apoyarse: coincidencias por debajo del 30 por ciento en todo el tronco significan que la foto es un mal candidato, así que dilo antes de que el usuario interprete el árbol como historia.
-
La década es una lectura, no un veredicto. Un porcentaje superior al 25 por ciento con una diferencia clara respecto al subcampeón es una lectura firme; menos de 5 puntos de diferencia es un resultado ajustado y ambas décadas son válidas. Re-comprimir una foto cambia su grano y puede desplazarla.
-
Un look del tronco se gana su lugar cuando comparte dos rasgos distintivos con la foto (la línea
shares), no solo un color. Una coincidencia superior al 50 por ciento es pariente cercano; por debajo del 30 por ciento, la década simplemente no tenía nada más cercano, así que dilo. -
Una rama es buena cuando su frase de hueco nombra un par de rasgos fuertes que ningún look de la biblioteca tiene juntos, su look existente más cercano está al 70 por ciento o menos, y aún conserva el encuadre de la foto. Rechaza una rama cuya receta se contradiga en cuanto a la película (virado dividido en blanco y negro): cultiva otra semilla.
-
Las líneas sólidas son influencia documentada; las líneas punteadas son parentesco de rasgos. Nunca presentes una línea punteada como historia.
-
Los números locales son aritmética que puedes verificar en el JSON del árbol;
references/method.mdexplica cada uno y sus límites.library/reading-card.mdes la misma lectura hecha a ojo.
Generar en la cuenta Higgsfield del usuario
Nada en este skill genera por sí mismo. request escribe ~/LOWLIGHT STUDIO/<project>/requests/<id>.json (prompt, la foto del usuario como referencia, relación de aspecto). Claude lo ejecuta a través del MCP de Higgsfield con la sesión iniciada como el usuario, luego archiva el resultado:
python3 scripts/studio_bus.py requests <project>
python3 scripts/studio_bus.py receive <project> <id> <archivo descargado>
Es una edición de imagen: el prompt describe solo la luz, el color y la superficie fílmica de la rama. Usa un modelo de edición que ofrezca el plan del usuario (Nano Banana Pro o un modelo de edición Seedream funcionan bien). Antes de ejecutar nada, dile al usuario cuántas generaciones son y cuánto costarán en su plan, y espera un sí. Consulta references/generation.md.
Habla con los otros departamentos
Consulta references/studio.md. Lee taste de The Eye cuando existe (gustos y rechazos modifican dónde crece la rama 2027; la rama dice taste_used) y publica lineage: los últimos doce árboles con sus nodos y rama, que The Eye puede usar como mazo extra. Sin otros departamentos funciona igual.
Archivos
| Ruta | Qué es |
|---|---|
scripts/lineage.py | el motor y su línea de comandos: example, trace, grow, export, request, status, trees, library, node, add |
scripts/meter.py | el medidor de fotos: diez rasgos, lecturas, paleta, formato (python3 scripts/meter.py foto.jpg --brief) |
scripts/demo_photo.py | dibuja las dos imágenes fijas de ejemplo desde código (no se incluyen las fotos de nadie) |
scripts/selftest.py | una prueba en seco con fotos sintéticas y los ejemplos: python3 scripts/selftest.py |
library/lineage.json | los 107 looks, 1930s a 2020s: personas, razón, rasgos, paleta, padres |
library/examples/ | las dos imágenes fijas de ejemplo, dibujadas desde código (consulta su README) |
library/reading-card.md | la misma lectura a ojo, para una foto en la pared o un teléfono |
references/method.md | cómo se calculan el medidor, la década, el tronco y el hueco, y sus límites |
references/library.md | cómo se escribe un look, cómo añadir o corregir uno |
references/generation.md | configuración de Higgsfield y cómo se construye la solicitud |
references/studio.md | el bus compartido entre los departamentos de THE STUDIO |
Los resultados se guardan en ~/LOWLIGHT STUDIO/<project>/: trees/, requests/, received/.