Community图像github.com

达·芬奇手稿风格生成器

以列奥纳多·达·芬奇的真实笔法、页面逻辑和材料(如墨绘、红垩笔、银尖笔等)绘制设计、图解或插图,并附带其笔记本(里希特1883年公版译本)的阅读指南。

达·芬奇手稿风格生成器 是什么?

`2016judea/leonardo` 是一个针对 AI 代理(如 Claude Code)的 TASK 技能,用于生成严格遵循列奥纳多·达·芬奇真实手稿风格(而非泛化的文艺复兴风格)的图像。它通过 `make-art` 引擎工作,锚定于十五幅公开发域的真实画作(储存在 `sheets/` 目录中),并从中测量并提取了达·芬奇独有的材料语言(如墨水/墨水/红垩笔/银尖笔/亚麻布/洪水六种模式)和页面逻辑(如左斜排线、镜像文字、多尺度的研究草稿排布等)。 该技能的核心工作流程包括:首先根据用户请求(如“像他的笔记一样画X”)确定模式(mode)和宽高比(aspect);然后以“多幅研究图在同一页”的形式撰写提示词(prompt),而非单张插图;接着运行 `plate.py` 脚本生成图像;最后用人眼对照原画检查并修正常见的三大错误(文字泄露、右斜排线、卡通化树叶)。此外,它还支持检索达·芬奇笔记本(里希特公版)中关于阴影、树木、水流等主题的原始段落,提供引文和段落编号。 该技能主要适用于 Cursor、Codex 等支持 `make-art` 引擎和 Python 脚本的 AI 工具平台。其价值在于能以极高的历史准确性和材质逻辑性生成达·芬奇风格的设计图、示意图和自然研究,同时避免伪造签名或博物馆印章等常见陷阱。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/2016judea/brick-mortar-skills/tree/HEAD/skills/leonardo

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

在你喜欢的 AI 中提问

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

文档

列奥纳多——他的笔法、他的页面、他的材料

并非“文艺复兴风格草图”。列奥纳多的纸张具有特定的材料语言和特定的页面逻辑,这两者均以列在 sheets/CREDITS.md 中的十五幅真实画作为基础测量得出(每幅画的位置及其读取到的信息)。运行 python3 scripts/fetch_sheets.py 一次即可从维基共享资源下载它们;它们是 plate.py 所附着的风格锚点。

务必标注输出为“以他的风格制作”,而绝不可声称是列奥纳多本人所作。不得在客户可见的文案中使用他的名字来推销产品。

他画作的实质(测量所得的语言)

从画作中读取。prompts/ 中的每个 STEM 都是以下内容的转述。

  • 页面是工作页面,从来不是一幅画。 一张纸上共享着对同一事物的多个不同比例的研究:一个主要研究、剖面图和剖视图、一个细节、一个标有 a b c 的小图、一个留下浅浅痕迹的废弃初稿。没有任何内容居中。文字环绕在图画周围,有些行带有细小的引线指向内部(胎儿图、肩部图)。
  • 左手排线。 阴影是由左上到右下的平行笔触(\),紧密排列,随形体弯曲,在形体转向远离光线之处更加密集。他通过排线描绘形体背后的地面来将形体向前推(头骨图、维特鲁威人的腿)。交叉排线很少见。
  • 剖面与透明。 一颗头骨被锯为两半;一个子宫像果实般被打开;一台机器的外壳被去掉来展示内部。他解释事物的方式是将其切开。
  • 运动如发丝。 水、云、烟、风是由数十条精细的平行弧线构成的嵌套螺旋(《洪水》)。头发和胡须是长而富于节奏的波浪(都灵自画像)。
  • 六种材料模式,且它们不在同一张纸上混合:
    模式是什么锚定画作
    ink钢笔 + 棕色铁胆墨水,浅淡黑垩笔打底,深阴影处用棕色渲染;解剖图和机器图肩部图、胎儿图、飞行器
    codex以文字为主的手稿对开页,图解穿插在文字中阿伦德尔手稿开篇页、大西洋抄本 307v、维特鲁威人
    chalk红垩笔(血石色),单一颜料,烟雾化造型都灵自画像、怪异头像
    silverpoint在有色底稿(蓝灰色或粉米色)上用金属尖笔作画,用铅白提亮女性之手、马匹
    linen用毛笔 + 灰色坦培拉在已处理的亚麻布上作画,纯色调,无线条坐姿衣褶
    deluge钢笔 + 墨水 + 渲染的暴风雨/风景画,旋涡与钩状笔触《洪水》、1473 年托斯卡纳风景画
  • 纸本身就是一个角色。 乳白色至浅黄色的手工纸,边缘老化成赭色,有霉斑、棕色污渍、破损的角以及来自背面文字的透印。真实的画作上还带有带王冠的 ER 收藏家印章和库存编号——这些是博物馆的,不是他的;切勿要求添加,并检查每张图有无伪造的此类标记(引擎曾未经要求伪造过真实艺术家的签名;参见 make-art)。
  • 镜像文字。 细小、均匀、从右向左书写,使用与图画相同的墨水,呈区块状。在工作页面(ink、codex)上,它占据了大部分表面。红垩笔、银尖笔和亚麻布研究通常完全没有文字——不要在他没有写的地方添加。

步骤 1 — 在写任何提示词之前决定模式和宽高比

模式决定了整体外观,因此是首要决定,并且通常由用户的请求决定:机制或解剖图 → ink;带有大幅图解的推理页面 → codex;肖像、树、面孔 → chalk;手、动物、任何关于触感和光线的事物 → silverpoint;布料 → linen;天气、水、山谷 → deluge。

宽高比:3:4 是对开页,也是默认值;4:3 用于风景画纸;codex 纸始终为 3:4。他从未画过 16:9。

如果请求仅是一个主题而没有其他说明,则提问一个关键问题: 工作页面还是完成的研究?这将决定模式(ink/codex 与其余模式)、文字(有与无)以及共享纸张的研究图数量。其他所有内容——宽高比、锚点、尺寸——由我决定。

步骤 2 — 将主题写成一系列研究图,而非一幅画面

提示词由 STEM(每种模式固定)+ SUBJECT(唯一变量)+ NOTES(每种模式固定)+ TAIL(固定)组成。scripts/plate.py 将它们组合起来并附着该模式的锚定画作:

python3 scripts/plate.py --mode ink --aspect 3:4 --size 2K \
  --out art/<slug>/candidates/r1/1-<name>.png \
  --subject "一张解剖……的研究图:一幅大的主要研究图……;旁边是三幅较小的研究图——……;角落里有一幅小图展示……,标注点 a, b, c。"
python3 …/plate.py --list-modes          # 列出模式、其默认文字设置及其锚点
python3 …/plate.py … --dry-run           # 打印组装后的提示词,不花费任何成本

有效的 SUBJECT 是一张纸上的研究图列表,每幅图附有其比例和视角:“一张 X 的大幅主要研究图,视角为从左上方四分之三处俯视,Y 部分被剖开;旁边是三幅较小的研究图——单独的 A、B 的剖面图、从下方看的 C;角落里有一幅展示 Z 的小图,标注点 a, b, c。”如果你把它写成一副“景色”(“一张桌上的意式咖啡机”),你将得到一幅旧纸上的插图,这是标准的失败。

使用 2K 分辨率起草(约 $0.13);仅在选定图时使用 4K。引擎需要网络访问(make-art)。

步骤 3 — 将生成的图与原画对照,然后修改提示词,而非仅修改图片

以完整尺寸将每张图与其锚定画作并排观察。根据出现频率,实际会出错的三种情况是:

  1. 文字泄露。 当被指示写“文艺复兴意大利镜像手写体”时,引擎会写出 “Reall bennifsance Italian mirror Italian mirror right to left” ——我的指示被镜像后,出现在一张原本完美的银尖笔画作的底部。当被告知注释是关于活塞时,它用普通英语写出了“Piston seal”和“Mechanical advantage”。绝对不要在提示词中用文字描述将要写的内容以免被复制,并且绝不要让 SUBJECT 中的名词靠近一个标题槽。 prompts/notes-*.txt 现在说明这种笔迹是有意设计为不可辨认的,不构成任何语言中的单词;这已把文字泄露从整个句子减少到每张 ink 纸上仅有两三个半英语的标签,在 none 模式下则为零。因此:无文字的模式默认设置为 none;带有 margin 注释的 ink/codex 纸需要检查是否有泄露的英语,如果保留了单词则需要重新生成(或裁剪)。泄露通常出现在小型研究图旁边——首先检查那里。
  2. 右斜排线。 无论 STEM 如何规定,引擎会以大约相同的频率生成 / 和 \。当图面没有可辨认的文字时,--flip 可以水平镜像图像,此时排线方向变为达·芬奇的;同时检查构图在反转后是否依然成立(带有字母标注的图则不行——其字母会翻转)。不要在提示词中对此进行对抗性硬改;它不会听。
  3. 卡通化树叶。 最初的红垩笔桦树返回的是扇贝形的云状叶片。红垩笔的 STEM 现在规定树叶是由短促的轻扫笔触构成的色调块面,绝无勾勒的轮廓,并且 SUBJECT 应说“叶丛作为柔和的色调”而非直接命名“叶子”。同样的规则可以推广:命名你想要的色调,而非引擎已有陈规定式倾向的对象。

然后是标准的 make-art 检查:边缘(这些图的设计意图是展示纸张自身的破损边缘,以无背景的方式呈现——这就是设计本身,而非需要裁切的边框)和角落,检查是否有伪造的印章或签名。

步骤 4 — 落地

创建一个 art/<slug>/ 文件夹,内含一个 README、按排名编号的最终图、candidates/ 和 prompts/ 子文件夹。plate.py 会在每张图旁写入一个 <out>.prompt.txt 文件,因此提示词文件夹无需额外劳动。

阅读他(人物的另一半)

他的笔记本以 J.P. 里希特 1883 年的编排版本(《列奥纳多·达·芬奇笔记》,可在古腾堡计划免费获取)公版存在,按主题分为二十二卷。当任务是他怎么想——关于阴影、树木、水流、如何学习、怪诞、飞行——请阅读原书,引用段落编号,不要自行发挥。以下是对绘画有直接影响的摘录,出自里希特关于绘画实践的章节:

  • 522. “当你画画时,注意设定一条主线,你必须在你所画物体的整个过程中都遵循它;每件事物都应与这条主线的方向相关联。” ——这也适用于撰写 SUBJECT 段落时的唯一规则。
  • 502. 一位信任记忆而轻视写生的大师,是*“被极端无知所装饰,因为这些效果是无限的。”* ——这解释了为什么这些纸张是多个研究图。
  • 523. 玻璃板方法:用*“毛笔或红垩笔”在玻璃上作画,转拓到纸上,“之后将其转裱到好纸上”——这是他本人对最终导致“扑粉转印法”(628,画板配方:“然后扑粉并精细地勾出你的画”*)的转裱链条的描述。
  • 540. “当你写生时,请站在物体高度的三倍距离处。”
  • 529. “镜子如何是画家的导师 [和向导]”——将你的画与事物在镜中的图像进行对照。这也是 --flip 是合法操作而非作弊手段的原因。

一句名言如果不在笔记中,那就不算是他的名言,直到你在其中找到它。当他并非在作指示时——寓言、预言、要求付酬的信件——这些内容在卷 19–21 中,比通常的名声更冷峻和幽默。

参考

  • 引擎、标志、粘贴到磁盘的技巧、边框检查:make-art。基于单张参考图的方法:image-riff。此技能是第三层:一组固定的语言和模式,而非读取自粘贴图像的语言。
  • sheets/CREDITS.md —— 十五张锚定画作的来源信息(全部公版,维基共享资源);sheets/meta.json 是 fetch_sheets.py 使用的原始共享资源记录。

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

2016judea/ascii-charts

Build charts as plain Unicode-block text — bar, range, bullet, gap-bracket, star-histogram, heatmap, line, Venn, pie, donut and scatter — with a dependency-free Python script, for anywhere only monospace text survives (newsletter code blocks, Markdown, terminals, plain-text email, chat). Use when a chart has to embed as literal text instead of an image or a third-party chart service, or when you want a hand-made terminal look with no branding footer.

2016judea/buffett-checklist

Apply Warren Buffett's investment framework as a discipline lens when weighing a buy, hold, or sell decision — circle of competence, economic moat, owner earnings & intrinsic value, margin of safety, management/capital-allocation quality, and market psychology (Mr. Market, fear vs greed, temperament). Use when asked to "run this through Buffett", "what would Buffett say", "does this pass the moat test", "is this cheap enough", or for a second, more skeptical read on a name being evaluated or already held. This is a discipline overlay, not a replacement for a strategy — it applies the Buffett lens to how someone actually invests, rather than issuing generic advice.

2016judea/image-riff

Turn one or more reference images into original art in that reference's own visual language, then cut it to whatever surface it's for. Use when you paste or point at art and say "use this as the base image", "generate art from this", "riff on this", "some creative ideation with these images", "make me a channel banner / avatar / cover / plate", "wilder version of this", or want a spread of options off one piece of reference. This is the TASK skill; the engine is the `make-art` tool skill.

2016judea/mcp-stack

Which free MCP server or framework to reach for, and its traps — finance/gov data (SEC EDGAR, Yahoo, SAM.gov, USAspending), web research (Exa, Firecrawl, Crawl4AI, Jina reader), design/art/brand (Canva, Inkscape, Penpot, Figma, Orshot, Hugging Face image gen, vectorizing, charts), data/spatial (DuckDB spatial, live ArcGIS layers, OpenStreetMap/Overpass, Census, MapLibre), and ops (PostHog, iMessage, context7 docs). Use when making a social post, OG card, poster, logo/vector, chart, map, or brand asset; when querying parquet/geojson/duckdb or a city's open-data layer; when an MCP "needs authentication" or fails; or when asked "what tools do we have", "is there an MCP for X", "should we add X".

2016judea/records-request

Get a specific record out of a US government office by public-records request — "request the assessor's model", "file a data practices request", "FOIA this", "open records request", "can we just ask the county for it", "who do I write to at <county>", "chase that request", "did they ever answer". Covers checking the website first, finding the right office and statute, the carve-out paragraph that makes a request answerable instead of refused, web-form traps (hidden character caps, WAFs that reject apostrophes), chasing (there is usually no deadline), whether what comes back may be republished, and parsing multi-year tables without silent errors.

2016judea/sms-native-product

Build a product whose interface is text messages rather than an app or a website — "no app, no website", "they just text a number", "chat with our agent natively in Text Messages", "can we do this over text", "an SMS bot", "a Telegram bot", "make it a group chat", "minimum viable friction". Fires equally when it has already gone wrong — "my campaign got rejected", "our number is blocked", "the texts aren't arriving", "why do I need to register". Covers the gate that decides whether such a product can send at all (US A2P 10DLC registration, SHAFT content rules, permanent rejection codes), group MMS from code, what each channel can't do, an architecture that survives losing the channel, and guarding model-rewritten user content.

2016judea/vertical-market-agent

Build a chat agent that knows one industry in one metro better than any general model because it carries a precomputed digest of real public records (or a mined review corpus) and can pull live records mid-conversation — finding the moat, building a byte-stable substrate, enumerating what the records can't, the data traps that produce plausible wrong numbers, deterministic math in tools, measured prompt cost and cache TTL, shipping as an ad destination, an off-sector ending, and a precomputed spatial "what is this next to" layer. Use when building a vertical AI agent grounded in records rather than general knowledge.

相关技能