Community图像github.com

lowlightstudio/the-lineage

读取用户机器上的照片(光线、颗粒、构图、色彩),判断其所属年代,追溯其视觉族谱至 1930 年,包含 107 种已命名风格,并生长出下一个分支:一个 2027 年的、库中尚未存在的新风格。

the-lineage 是什么?

THE LINEAGE 是一个低光工作室(THE STUDIO)部门技能,专注于照片的视觉风格分析和族谱追溯。当用户提供一张照片时,该技能在用户本地机器上测量十种特征(光线、颗粒、构图、色彩),确定该照片视觉风格最匹配的十年,然后构建其家族树:主干上从 1930 年代到 2020 年代每年一种风格,外加两个分支,每个分支都是一个命名的电影、摄影师、广告或工艺,并附有归属理由。接着,它会研究主干的方向,在库中完全没有对应风格的位置生长出一个 2027 年的新分支:包含名称、配方、继承关系以及证明它确实是缺口(“107 种风格中没有一种同时拥有这种暖度和颗粒度”)。该技能适用于 Claude Code 等 AI Agent 平台,使用标准 Python 库,仅在最后一步通过用户的 Higgsfield 账户生成最终重新打光效果。用户无需花费任何费用即可进行所有本地分析和族谱构建,仅在用户明确同意后才进行生成。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lowlightstudio/the-lineage/tree/HEAD

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

THE LINEAGE

一张照片输入后,技能在用户机器上测量十种特征,判断这些特征所属的十年,并构建照片的家族树:主干上从 1930 年代到 2020 年代每年一种风格,旁边还有两个分支,每个都是一个命名的电影、摄影师、广告或工艺,并附有归属理由。然后,它会研究主干的方向,在库中完全没有对应风格的位置生长出一个 2027 年的新分支:一个名称、一个配方、继承自谁的证明,以及该缺口存在的证据(“107 种风格中没有一种同时拥有这种暖度和颗粒度”)。这个缺口句子是签名:它使这个分支成为一个尚未有人做出的风格,而不是一个猜测。

分支之前的所有工作都是本地计算,不花费任何费用。唯一会生成的是用户自己照片的最终重新打光效果,它在用户同意后在用户的 Higgsfield 账户上运行。

安装

bash install.sh              # 技能、工作室文件夹、可选工具检查
bash install.sh --higgsfield # 同时安装 Higgsfield CLI 和 MCP,可在您自己的账户上生成

仅使用标准库 Python。JPEG 和 HEIC 通过 sips(macOS)或 ffmpeg 打开;PNG 无需任何操作。

如何运行

当用户提出请求时,Claude:

  1. 追溯照片。 python3 scripts/lineage.py trace "<photo>" --project "<project>"(任何 JPG、PNG 或 HEIC;项目默认为 the-lineage)。它会打印四个读数(光线、颗粒、构图、色彩),得分最高的十年及分数和亚军,以及从 1930 年代至今的主干,以及每个风格与照片的共同点。先告诉用户年代,然后告诉用户最重要的两三个主干风格。如果显示“接近判断”,则同时说出两个年代:这才是诚实的读数。
  2. 生长分支。 python3 scripts/lineage.py grow latest --project "<project>"。它会打印 2027 年的分支:名称和声明、配方(光线、色彩、暗部、颗粒、光学、格式)、继承自哪个风格以及如何继承,以及缺口。如果用户想要另一个选项,--seed 1(2、3...)会使用相同规则找到另一个缺口。
  3. 导出。 python3 scripts/lineage.py export latest --project "<project>" 会写入 trees/<id>.svg(可打印海报:从 1930 年攀登的主干,顶部是深红色的 2027 年新芽)、trees/<id>.json(所有数字)和 trees/<id>-branch.md(带有配方的分支卡片)。打开海报(在 Mac 上使用 open <file>),并在一行中说明需要先看什么:新芽和紧挨着它的主干风格。
  4. 生成前停止并询问。 仅当用户想要将分支应用到自己的照片上时:python3 scripts/lineage.py request latest --project "<project>" 会写入一个图像编辑请求。告诉用户这是一次生成,以及在其 Higgsfield 计划上的费用,然后等待用户确认。然后运行它(如下所示),并使用 python3 scripts/lineage.py status latest --project "<project>" 检查状态。

解释节点:python3 scripts/lineage.py node <id> 会完整打印一个风格(为什么它在族谱中、它传递了什么、人物、在哪里可以找到它、父节点)。python3 scripts/lineage.py library --decade 1970 列出某个十年的风格。用户自己的参考文献:python3 scripts/lineage.py add --name "..." --year 1994 --why "..." --image ref.jpg 会测量图像,并将该风格添加到用户此后每个树的族谱中(参考文献是全局的,不限于项目;--project 参数被接受但被忽略)。

可以使用捆绑的示例进行尝试(无需花费):python3 scripts/lineage.py example --project demo(或 --photo pool 用于第二个静帧)。要检查技能在此机器上是否正常工作:python3 scripts/selftest.py。

如何判断结果

  • 关于脆弱基础的警告。 如果没有人物、可见光源或工作室灯光,测量仪几乎没有依据:主干上匹配度低于 30% 意味着照片不适合,因此在用户将树视为历史之前说出来。
  • 年代是一个读数,而不是定论。 高于 25% 的份额且与亚军有明显的差距是可靠的读数;分数相差不到 5 分是接近判断,两个年代都是合理的。重新压缩照片会改变其颗粒度,并可能改变其年代归属。
  • 主干风格赢得其位置 当它与照片共享两个独特的特征(shares 行)时,而不仅仅是颜色。匹配度高于 50% 是近亲;低于 30% 仅仅意味着该年代没有更接近的风格,因此请如实说明。
  • 分支是好的 当它的缺口句子命名了一对库中没有任何风格同时拥有的强特征时,其最近现有风格的匹配度不超过 70%,并且它仍然保持照片的框架。拒绝配方在胶片上自相矛盾的分支(例如在黑白胶片上进行分裂色调):使用另一个种子生长。
  • 实线表示有文献记载的影响;虚线表示特征的亲缘关系。 永远不要将虚线呈现为历史。
  • 本地数字是可以在树 JSON 中检查的算术运算;references/method.md 解释了每一个数字及其限制。library/reading-card.md 是相同的用肉眼进行的读数。

在用户的 Higgsfield 账户上生成

此技能本身不会生成任何内容。request 会写入 ~/LOWLIGHT STUDIO/<project>/requests/<id>.json(提示、用户照片作为参考、宽高比)。Claude 通过以用户身份登录的 Higgsfield MCP 运行它,然后归档结果:

python3 scripts/studio_bus.py requests <project>
python3 scripts/studio_bus.py receive <project> <id> <downloaded file>

这是一个图像编辑:提示仅描述分支的光线、颜色和胶片表面。使用用户计划提供的编辑模型(Nano Banana Pro 或 Seedream 编辑模型效果很好)。在运行任何操作之前,告诉用户这是多少次生成以及在其计划上的费用,并等待用户确认。请参阅 references/generation.md。

与其他部门的通信

请参阅 references/studio.md。当 The Eye 存在时,它会读取其中的 taste(喜好和拒绝会引导 2027 年分支的生长方向;分支会显示 taste_used),并发布 lineage:最近的十二棵树及其节点和分支,The Eye 可以将其用作额外的牌组。如果没有其他部门,它的工作方式相同。

文件

路径说明
scripts/lineage.py引擎及其命令行:example, trace, grow, export, request, status, trees, library, node, add
scripts/meter.py照片测量仪:十个特征、读数、调色板、格式(python3 scripts/meter.py photo.jpg --brief)
scripts/demo_photo.py从代码绘制两个示例静帧(不捆绑任何人的图片)
scripts/selftest.py使用合成照片和示例进行空运行:python3 scripts/selftest.py
library/lineage.json107 种风格,1930 年代至 2020 年代:人物、原因、特征、调色板、父节点
library/examples/两个示例静帧,从代码绘制(请参阅其 README)
library/reading-card.md针对挂在墙上或手机上的照片,用肉眼进行的相同读数
references/method.md如何计算测量仪、年代、主干和缺口及其限制
references/library.md如何编写风格、如何添加或更正
references/generation.mdHiggsfield 设置以及如何构建请求
references/studio.mdTHE STUDIO 各部门之间的共享总线

输出位于 ~/LOWLIGHT STUDIO/<project>/:trees/、requests/、received/。

相关技能