CommunityImagegithub.com

lowlightstudio/the-lineage

THE LINEAGE, un département de LOWLIGHT STUDIO (THE STUDIO). Analyse une photo sur la machine de l'utilisateur (lumière, grain, cadrage, couleur), identifie la décennie à laquelle son apparence appartient, retrace son arbre généalogique visuel jusqu'en 1930 à travers 107 looks nommés (films, directeurs de la photographie, photographes, procédés), et crée la prochaine branche : un look pour 2027 qui n'existe pas encore dans la bibliothèque, avec sa recette, une affiche imprimable de l'arbre et une demande de génération pour le compte Higgsfield de l'utilisateur.

Qu'est-ce que the-lineage ?

THE LINEAGE est une compétence spécialisée pour agents IA (comme Claude Code, Cursor, Codex) qui analyse les caractéristiques visuelles d'une photographie — lumière, grain, cadrage et couleur — pour identifier sa décennie d'appartenance et retracer son arbre généalogique de looks cinématographiques et photographiques des années 1930 à nos jours. La compétence s'appuie sur une bibliothèque locale de 107 looks nommés (films, directeurs de la photographie, photographes, campagnes, procédés) et calcule localement, sans coût, la parenté visuelle. Elle génère ensuite une nouvelle branche pour l'année 2027 : un look qui n'existe pas encore dans la bibliothèque, avec un nom, une recette technique précise et la preuve qu'il s'agit d'une lacune réelle. L'utilisateur peut exporter une affiche imprimable de l'arbre et, avec son accord, demander une génération d'image via son compte Higgsfield. Cette compétence est utile aux créatifs, historiens de la photographie et réalisateurs qui souhaitent comprendre l'héritage visuel d'une image et explorer des directions esthétiques inédites.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lowlightstudio/the-lineage/tree/HEAD

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

THE LINEAGE

Une photo entre. La compétence mesure dix caractéristiques sur la machine de l'utilisateur, détermine à quelle décennie ces traits appartiennent, et construit l'arbre généalogique de la photo : un look par décennie sur le tronc des années 1930 aux années 2020, deux autres à côté comme branches, chacun étant un film, un directeur de la photographie, un photographe, une campagne ou un procédé nommé avec la raison de son appartenance. Elle étudie ensuite la direction du tronc et fait pousser une branche 2027 à l'endroit où la bibliothèque n'a aucun look : un nom, une recette, ce qu'il hérite de qui, et la preuve qu'il s'agit d'une lacune ("Aucun des 107 looks n'est à la fois aussi chaud et aussi granuleux"). Cette phrase de lacune est la signature : c'est ce qui fait de la branche un look que personne n'a encore créé, pas une supposition.

Tout jusqu'à la branche est un calcul local et ne coûte rien. La seule chose qui génère est le re-éclairage final de la propre photo de l'utilisateur dans cette branche, et cela s'exécute sur le compte Higgsfield de l'utilisateur après qu'il a accepté.

Installation

bash install.sh              # la compétence, votre dossier studio, une vérification des outils optionnels
bash install.sh --higgsfield # également le CLI Higgsfield + MCP, pour générer sur votre propre compte

Python de la bibliothèque standard uniquement. Les fichiers JPEG et HEIC sont ouverts via sips (macOS) ou ffmpeg ; PNG ne nécessite rien.

Comment l'exécuter

Lorsque l'utilisateur le demande, Claude :

  1. Trace la photo. python3 scripts/lineage.py trace "<photo>" --project "<projet>" (tout JPG, PNG ou HEIC ; le projet par défaut est the-lineage). Il affiche les quatre lectures (lumière, grain, cadrage, couleur), la décennie avec sa part du score et le second, ainsi que le tronc des années 1930 à aujourd'hui avec ce que chaque look partage avec la photo. Dites d'abord la décennie à l'utilisateur, puis les deux ou trois looks du tronc les plus importants. Si le message indique "un cas serré", dites les deux décennies : c'est la lecture honnête.
  2. Crée la branche. python3 scripts/lineage.py grow latest --project "<projet>". Il affiche la branche 2027 : son nom et son énoncé, la recette (lumière, couleur, noirs, grain, optique, format), ce qu'elle hérite et de quel look, ainsi que la lacune. Si l'utilisateur souhaite une autre option, --seed 1 (2, 3…) trouve une autre lacune avec les mêmes règles.
  3. L'exporte. python3 scripts/lineage.py export latest --project "<projet>" écrit trees/<id>.svg (une affiche imprimable : le tronc qui monte depuis 1930, le bourgeon cramoisi de 2027 au sommet), trees/<id>.json (tous les nombres) et trees/<id>-branch.md (la fiche de la branche avec la recette). Ouvrez l'affiche (open <fichier> sur Mac) et dites en une ligne ce qu'il faut regarder en premier : le bourgeon et le look du tronc juste en dessous.
  4. S'arrête et demande avant de générer. Uniquement si l'utilisateur souhaite la branche sur sa propre photo : python3 scripts/lineage.py request latest --project "<projet>" écrit une demande d'édition d'image. Dites-lui qu'il s'agit d'une génération et ce que cela coûte sur son plan Higgsfield, puis attendez un accord. Ensuite, exécutez-la (ci-dessous) et vérifiez avec python3 scripts/lineage.py status latest --project "<projet>".

Pour expliquer un nœud : python3 scripts/lineage.py node <id> affiche un look complet (pourquoi il est dans la lignée, ce qu'il transmet, les personnes, où le trouver, les parents). python3 scripts/lineage.py library --decade 1970 liste une décennie. Leurs propres références : python3 scripts/lineage.py add --name "..." --year 1994 --why "..." --image ref.jpg mesure l'image et ajoute le look à leur lignée pour tous les arbres suivants (les références sont globales à la machine, pas par projet ; --project est accepté et ignoré).

Essayez avec l'exemple fourni (sans rien dépenser) : python3 scripts/lineage.py example --project demo (ou --photo pool pour le second still). Pour vérifier que cela fonctionne sur cette machine : python3 scripts/selftest.py.

Comment juger le résultat

  • Alertez en cas de base faible. Sans personnes, source lumineuse visible ou éclairage de studio, le compteur a peu de choses sur quoi s'appuyer : des correspondances inférieures à 30 % sur l'ensemble du tronc signifient que la photo est un mauvais candidat, alors dites-le avant que l'utilisateur ne lise l'arbre comme une histoire.

  • La décennie est une lecture, pas un verdict. Une part supérieure à 25 % avec un écart net par rapport au second est une lecture ferme ; moins de 5 points d'écart est un cas serré et les deux décennies sont valables. Recompresser une photo modifie son grain et peut la déplacer.

  • Un look du tronc mérite sa place lorsqu'il partage deux caractéristiques distinctives avec la photo (la ligne shares), pas seulement une couleur. Une correspondance supérieure à 50 % est une parenté proche ; inférieure à 30 %, la décennie n'avait tout simplement rien de plus proche, alors dites-le.

  • Une branche est bonne lorsque sa phrase de lacune nomme une paire de traits forts qu'aucun look de la bibliothèque ne possède ensemble, que son look existant le plus proche est à 70 % ou moins, et qu'elle conserve toujours le cadre de la photo. Refusez une branche dont la recette se contredit sur le film (virages séparés sur noir et blanc) : faites pousser une autre graine.

  • Les lignes pleines sont des influences documentées ; les lignes pointillées sont des parentés de traits. Ne présentez jamais une ligne pointillée comme de l'histoire.

  • Les nombres locaux sont des calculs arithmétiques que vous pouvez vérifier dans le JSON de l'arbre ; references/method.md explique chacun d'eux et leurs limites. library/reading-card.md est la même lecture faite à l'œil.

Génération sur le compte Higgsfield de l'utilisateur

Rien dans cette compétence ne génère par lui-même. request écrit ~/LOWLIGHT STUDIO/<projet>/requests/<id>.json (prompt, la photo de l'utilisateur comme référence, rapport d'aspect). Claude l'exécute via le MCP Higgsfield connecté en tant qu'utilisateur, puis classe le résultat :

python3 scripts/studio_bus.py requests <projet>
python3 scripts/studio_bus.py receive <projet> <id> <fichier téléchargé>

C'est une édition d'image : le prompt décrit uniquement la lumière, la couleur et la surface du film de la branche. Utilisez un modèle d'édition proposé par le plan de l'utilisateur (Nano Banana Pro ou un modèle d'édition Seedream fonctionnent bien). Avant d'exécuter quoi que ce soit, dites à l'utilisateur combien de générations cela représente et ce que cela coûtera sur son plan, et attendez un accord. Voir references/generation.md.

Dialogue avec les autres départements

Voir references/studio.md. Il lit taste de The Eye lorsqu'il existe (les likes et les refus orientent l'endroit où pousse la branche 2027 ; la branche mentionne taste_used) et publie lineage : les douze derniers arbres avec leurs nœuds et leur branche, que The Eye peut utiliser comme jeu supplémentaire. Sans les autres départements, cela fonctionne de la même manière.

Fichiers

CheminDescription
scripts/lineage.pyle moteur et sa ligne de commande : example, trace, grow, export, request, status, trees, library, node, add
scripts/meter.pyle compteur photo : dix caractéristiques, lectures, palette, format (python3 scripts/meter.py photo.jpg --brief)
scripts/demo_photo.pydessine les deux exemples de stills à partir du code (aucune photo personnelle n'est incluse)
scripts/selftest.pyun test à blanc avec des photos synthétiques et les exemples : python3 scripts/selftest.py
library/lineage.jsonles 107 looks, des années 1930 aux années 2020 : personnes, raison, caractéristiques, palette, parents
library/examples/les deux exemples de stills, dessinés à partir du code (voir son README)
library/reading-card.mdla même lecture à l'œil, pour une photo sur un mur ou un téléphone
references/method.mdcomment le compteur, la décennie, le tronc et la lacune sont calculés, et leurs limites
references/library.mdcomment un look est écrit, comment en ajouter ou en corriger un
references/generation.mdconfiguration Higgsfield et comment la demande est construite
references/studio.mdle bus partagé entre les départements de THE STUDIO

Les sorties sont placées dans ~/LOWLIGHT STUDIO/<projet>/ : trees/, requests/, received/.

Skills associés