# hand-drawn-styles hand-drawn-styles 是一套**工具无关的手绘画风提示词配方**。把想画的内容套进内置画风,就能得到可直接交给图像模型使用的最终提示词(prompt)。 适用于能读取自定义指令的 AI Agent,包括 Claude Code、Cursor、Codex CLI、Gemini CLI、Cline、Windsurf 等。 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) **默认安装:[下载轻量包 hand-drawn-skill.zip](https://github.com/threerocks/hand-drawn-styles/releases/latest/download/hand-drawn-skill.zip)**(约 81 KiB)。包含全部 21 套配方、运行脚本和图片清单。图片由 Netlify 公开托管,运行参考图首次使用时下载并校验。 ## 这是什么 常用的手绘风格集中在一个配方库里,不用每次生图都重新翻找、拼凑提示词。 - **常用画风,随时取用**:按编号、中文名或英文别名调用,配方和样图放在一起,方便挑选。 - **围绕原始内容补充画风**:把主体、动作、文案等内容要求填入配方,减少反复拼接提示词的工作。 - **固定配方,减少漂移**:复用已验证的画风描述,通过渲染器原样提取,减少临时改写带来的风格变化。 - **只处理画风相关的事**:负责选画风、填入内容和输出提示词,不接管文章写作、发布等无关流程。 本项目收录 **20 种已验证的整数编号画风,以及稳定变体 3.1,共 21 套配方**。只需说明“画什么”,Agent 就会: - 使用指定的画风;未指定时,列出菜单供选择; - 将内容要求填入对应配方,并按规则处理比例; - 输出干净的最终 prompt,方便整段复制。 **默认只输出提示词,不生图。** 生图交给惯用的图像模型,例如 gpt-image、即梦或 Midjourney。需要参考锚点的画风在正式生产时会输出 JSON 调用包,须由支持相应参考图和流程的工具执行,详见下文“稳定生产调用”。 ## 安装 Skill 直接把下面这句话发给 Agent 工具: ```markdown 帮我安装这个 Skill 的轻量包:https://github.com/threerocks/hand-drawn-styles/releases/latest/download/hand-drawn-skill.zip 解压后保留 hand-drawn/ 的完整目录结构,并运行 scripts/check_skill.py 验证安装。 ``` 优先下载 [Release 轻量包](https://github.com/threerocks/hand-drawn-styles/releases/latest/download/hand-drawn-skill.zip),解压后保留 `hand-drawn/` 的目录结构。轻量包不包含 Git 历史、展示图库或研发对照图。安装方式与检查命令见 [INSTALL.md](INSTALL.md);完整文件校验值见 [SHA256SUMS](https://github.com/threerocks/hand-drawn-styles/releases/latest/download/SHA256SUMS)。需要从源码安装时,可使用下文的浅克隆命令。 ## 内置画风 > 八大分组:**拟真手绘**(3/3.1/7/10)· **线条·讲解·速写**(1/4/6/19/20)· **故意画烂**(2/5)· **传统·复古质感**(8/9)· **动画·概念设定**(11/12/16/17)· **纸艺·立体手工**(13)· **绘本·扁平与北欧**(14/18)· **3D·潮玩**(15)。现有编号为 1–20,另含稳定变体 3.1,共 21 套配方。 | 组 | 编号 | 名称 | 调性 | 英文别名 | |----|------|------|------|----------| | 线条讲解 | 1 | 极简黑白线条讲解漫画(xkcd 火柴人) | 纯细线火柴人、圆角分镜、标题+说明,讲解示意图 | `xkcd` `stickman` `minimal-line` | | 故意画烂 | 2 | 蜡笔童涂 | 5 岁小孩用蜡笔画的笨拙"坏画",歪扭出框、引人发笑 | `crayon` `kid-crayon` | | 拟真手绘 | 3 | 吉卜力风 | 柔和水彩、暖光、治愈梦幻的手绘动画感 | `ghibli` | | 拟真手绘 | 3.1 | 蜡笔童涂-潦草自画版 | 普通大人歪线稿 + 孩子粗乱蜡笔涂抹,固定小点眼红脸蛋、明亮白底和大留白;正式生产强制锚点与三阶段 workflow | `rawkid` `kid-scrawl` `stick-kid` `family-crayon-card` | | 线条讲解 | 4 | 小豆人涂鸦信息图 | 黑色圆豆人讲解图,单橙点缀、手绘箭头标注,竖版多格 | `bean` `blob` | | 故意画烂 | 5 | MS Paint 烂涂鸦 | 鼠标硬画的病毒级"故意画烂"风,越烂越好笑 | `ms-paint` `bad-doodle` `ugly` | | 线条讲解 | 6 | 圆珠笔单线涂鸦 | 黑色圆珠笔缠绕线速写,艺术手稿感,适合肖像 / 动物 | `scribble` `pen-scribble` `ballpoint` | | 拟真手绘 | 7 | 蜡笔实拍 | 像一张真蜡笔纸的照片,强制露白 / 蜡质笔触,一眼真人手涂 | `real-crayon` `crayon-photo` | | 传统复古 | 8 | 水墨写意 | 毛笔黑墨、墨分五色、飞白留白、朱红印章,中国画手绘感 | `ink-wash` `ink` `shuimo` `chinese-painting` | | 传统复古 | 9 | 复古像素 | 8/16-bit 老游戏精灵图,硬方块像素、有限调色板、零抗锯齿 | `pixel` `pixel-art` `8-bit` `16-bit` | | 拟真手绘 | 10 | 情绪叙事淡彩速写 | 靛蓝松散速写线 + 大片留白 + 全画一处橙色点缀,催泪家庭故事感 | `emo-sketch` `story-sketch` `watercolor-sketch` `light-watercolor` | | 动画概念 | 11 | 二维水彩风格(复古动画概念稿) | 1950s 中古动画概念设定稿:水粉厚涂+奶油暖底光晕+橙蓝互补+铅笔起稿线 | `retro-concept` `mid-century` `concept-art` `gouache-concept` | | 动画概念 | 12 | 暖光童画(动画概念暖绘) | 现代动画 vis-dev 水粉童画:大眼大虹膜+蓬软发团飞丝+青橙互补+干擦留白纸边 | `sunlit-storybook` `vis-dev` `storybook-visdev` | | 纸艺立体 | 13 | 北欧纸雕 | 层叠纸雕塑+斯堪的纳维亚民俗+暖调珠宝色编辑设计 | `paper-folk` `papercraft` `nordic-papercraft` `quilling` | | 绘本北欧 | 14 | 北欧绘本水粉 | 整画纸纹+大留白、丹宁蓝×芥末黄低饱和、极简小点眼人物 | `nordic-storybook` `scandi-gouache` `scandinavian-storybook` `soft-gouache` | | 3D潮玩 | 15 | 大鼻软偶 | 光滑哑光软胶+超大垂管鼻+眯缝小眼+街头穿搭 | `softnose` `softnose-vinyl` `bignose-toy` `vinyl-toy` `art-toy` | | 动画概念 | 16 | 聚光水粉立绘 | 满幅单色刷底+人物身后聚光晕+夸张比例大眼角色 | `gouache-spotlight` `spotlight-gouache` `character-spotlight` | | 动画概念 | 17 | 墨线绘本 | 钢笔速写线稿×绘本淡彩,墨线定形、轻薄透亮上色 | `inked-storybook` `ink-storybook` `sketch-storybook` | | 绘本扁平 | 18 | 暖色扁平绘本 | 圆润几何大色块+几乎无外轮廓线,蓝橙限定色板+暖白大留白 | `warm-flat-storybook` `flat-storybook` `geometric-storybook` `warm-flat` | | 线条速写 | 19 | 圆头红线极简童画 | 大圆头双竖眼+极细石墨四肢+黑红白限色+大留白;正式生产强制原创锚点、模型快照和拒收检查 | `roundhead-redline` `redline-roundhead` `graphite-redline` | | 线条速写 | 20 | 暖黄墨线情绪小剧场 | 暖白负空间+干性黑墨排线+芥末黄+淡腮红+单动作情绪叙事;正式生产强制原创锚点和失败关闭验收 | `warm-yellow-ink-story` `yellow-ink-story` `mustard-ink-story` | 样图与每种画风的示例提示词见 [examples/](examples/)。 | | | | | |:--:|:--:|:--:|:--:| |
**1** 极简线条 xkcd 火柴人 |
**2** 蜡笔童涂 |
**3** 吉卜力 |
**3.1** 蜡笔童涂-潦草自画版 | |
**4** 小豆人信息图 |
**5** MS Paint 烂涂鸦 |
**6** 圆珠笔单线涂鸦 |
**7** 蜡笔实拍 | |
**8** 水墨写意 |
**9** 复古像素 |
**10** 情绪叙事淡彩速写 |
**11** 二维水彩风格 | |
**12** 暖光童画 |
**13** 北欧纸雕 |
**14** 北欧绘本水粉 |
**15** 大鼻软偶 | |
**16** 聚光水粉立绘 |
**17** 墨线绘本 |
**18** 暖色扁平绘本 |
**19** 圆头红线极简童画 | |
**20** 暖黄墨线情绪小剧场 | | | | > 每种画风的输入示例与完整提示词见 [examples/](examples/)。 ## 接入各 Agent 工具 核心是工具无关的 [`PROTOCOL.md`](PROTOCOL.md)(执行流程)+ [`STYLES.md`](STYLES.md)(画风配方)。风格 3.1、19 和 20 分别依赖三张正式锚点;风格 13 还使用两张北欧纸雕参考图。轻量包保留图片地址和校验值,渲染器按需下载到独立缓存。正式生产必须安装整个包,不要只复制文本片段。 需要从源码安装时,使用浅克隆。当前版本不含图片文件;旧图片仍在 Git 历史中,因此不带 `--depth 1` 的完整克隆仍会下载历史图片。 ```bash git clone --depth 1 https://github.com/threerocks/hand-drawn-styles.git python3 -B hand-drawn-styles/scripts/check_skill.py ``` | 工具 | 接入方式 | |------|----------| | **Claude Code** | 把解压后的 `hand-drawn/` 放入 `~/.claude/skills/`,由 `SKILL.md` 提供入口。 | | **Codex** | 把解压后的 `hand-drawn/` 放入 `~/.codex/skills/`。 | | **Cursor / Gemini CLI / Jules** | 保留完整安装目录,让项目规则指向其中的 `AGENTS.md` 与 `PROTOCOL.md`。 | | **Cline / Windsurf / Continue** | 让 rules / custom instructions 指向完整安装目录中的协议和配方。 | | **直接对话** | 普通纯文本配方可以复制;需要锚点的正式调用仍须保留参考图与完整调用包。 | 接入后,说"用手绘风画……"或"用吉卜力风画……"就能触发。 ### 维护者构建与验收 Python 3.10 或更高版本即可运行,不需要 Python 第三方依赖: ```bash python3 -B scripts/hosted_images.py fetch python3 -B -m unittest discover -s scripts -p 'test_*.py' python3 -B scripts/check_skill.py python3 -B scripts/build_skill_package.py ``` 打包脚本只收集运行文本,在仓库外解压 ZIP,再调用全部画风。只有依赖检查和独立安装验证通过,输出才标为 `verified`。包内的 `PACKAGE-MANIFEST.json` 记录安装文件大小和 SHA-256;`assets/image-manifest.json` 记录图片地址、大小和 SHA-256。安装包上限为 1 MiB,仓库检查拒绝已跟踪的图片文件。 新图片必须先完成隐私清理、Netlify 上传和匿名下载校验,再提交链接与审计记录。完整步骤见 [图片托管与维护规则](docs/image-hosting.md)。缓存可通过 `HAND_DRAWN_IMAGE_CACHE` 指定;`HAND_DRAWN_OFFLINE=1` 允许用有效缓存完成离线调用。 默认产物是 `dist/hand-drawn-skill.zip`。`--skip-verify` 只生成 `candidate-only` 候选包。持续集成执行相同检查并保存 ZIP 工件;公开发布附件需要维护者另行发布。 ## 用法要点 ### 不指定画风 → 列菜单让你选 ``` 你:用手绘风画一只在下雨天打伞的猫 Agent:请选择画风(回复编号或名字): 1. 极简黑白线条讲解漫画 … 2. 蜡笔童涂 … … ``` ### 显式指定 → 中文名 / 编号 / 英文别名,任一即可 ``` 用吉卜力风画一只在下雨天打伞的猫 用 3 号画风画…… 用 ghibli 画…… ``` ### 出图比例(不硬锁) - 你**传了**比例(如 `16:9` / 竖版 / 方图)→ 用你的。 - 你**没传**:纯风格(2、3、3.1、5…20)不注入任何比例;版式风格(1、4)只注入"多格网格"或"竖版多格堆叠"这类软结构提示,不写死数字。 ### 占位符自动推断 配方里的 `【主体】【标题词】【主色调】【N】【分镜列表】` 由 Agent 从你的描述里自动推断填好,无需手填。 脚本接受编号、中文完整名称或已登记别名。`python3 -B scripts/render_prompt.py --list` 返回所有配方的参数与参考图。`--var '胡茬='` 可以把可选内容删空;用户文案中的 `【短句】` 会按原文保留。 ### 稳定生产调用(推荐) 能运行 Python 时,用渲染器原样提取配方,避免 Agent 自行缩写或混配: ```bash python3 scripts/render_prompt.py \ --style 3.1 \ --subject '爸爸把零食袋放回柜子,男孩站在旁边看着' \ --text '不加任何文字' \ --aspect 3:4 \ --format json ``` 风格 3.1 默认输出 `family-crayon-card-v3` 正式 JSON,其中包含 `prompt`、输入回放信息、每张必传的 `references` 与强制三阶段 `workflow`:基础生成后依次执行 `scribble-correction` 和 `scribble-chaos-correction`,前两阶段都只是中间图,第三阶段输出才是 final。锚点会校验固定尺寸和解码后的像素 SHA-256,元数据变化不改变画风身份。业务项目只负责内容、准确标题、比例和可选角色参考,不得再维护第二套线条、五官、配色、纸面或涂抹修正规则。无字页用 `--text '不加任何文字'`,有标题用 `--title '准确标题原文'`;纯文本只允许显式 `--format text --text-only-preview`,不得用于正式生图。 风格 19 默认输出正式 JSON 调用包。调用包固定原创三主体锚点、`gpt-image-2-2026-04-21` 模型快照、高保真参考图要求和 7 项验收维度。基础生成只产生 `candidate-only`;总分至少 30/35 且没有硬失败项后才能标为 final。调用端不支持锚点、高保真参考图或快照锁定时,正式生产失败关闭;换模型只允许作为明确标注的非生产预览。本轮样图由 Codex 内置图像生成完成,C2PA 只记录 `gpt-image 2.0`,没有暴露精确快照;因此已验证的是锚点与配方,精确快照要求来自当前官方模型目录,仍需在实际 API 生产通道做一次确认回归。 ```bash python3 scripts/render_prompt.py \ --style roundhead-redline \ --subject 'a small elephant calf lifting one coral-red paper lantern with its trunk' \ --aspect 3:4 \ --format json ``` 风格 20 默认输出正式 JSON 调用包。调用端使用原创锚点直接生成 `final-candidate`,随后运行 `scripts/validate_style_20_asset.py`。验证器自动检查色板和留白,并核对与候选字节绑定的 8 项人工评分卡;评分卡还必须确认主体数量和物种与预期相同、身份未替换、必要物件未丢失。只有总分至少 34/40、没有硬失败项且验证器退出码为 0 时才能标为 final。候选不合格时整张拒收并重新基础生成,禁止用通用风格编辑修补。调用端不支持锚点、高保真参考图、快照锁定或验收器时,正式生产失败关闭。 ```bash python3 scripts/render_prompt.py \ --style warm-yellow-ink-story \ --subject 'a grandmother and child repairing one mustard-yellow kite together' \ --aspect 3:4 \ --format json ``` ## 设计原则 - **只产 prompt 或正式调用包,不生图**——保持轻量、可移植,不绑定任何图像后端。 - **工具无关**——核心是纯文本协议 + 配方;Claude Code 的 `SKILL.md`、跨工具的 `AGENTS.md` 都只是薄适配层,不重复内容。 - **配方库,而非统一调色板**——每种画风保留它原生的版式 / 结构(如风格 5 的竖版 N 格信息图),忠于已验证的效果,而不是强行抹平成"可互换的滤镜"。 - **不锁比例**——比例是可选参数;版式风格仅给软结构提示,把画布自由度留给用户。 ## 目录结构 ``` hand-drawn-styles/ ├── README.md ├── LICENSE ├── PROTOCOL.md # 核心协议:选风格 / 比例 / 占位符 / 输出(工具无关) ├── STYLES.md # 核心配方:20 种整数编号画风 + 3.1 变体(工具无关) ├── SKILL.md # Claude Code 适配层(薄,指向上面两个文件) ├── AGENTS.md # Codex / Gemini / Cursor 等适配层(薄) ├── INSTALL.md # 轻量包的安装与检查说明 ├── assets/ # 图片地址与校验清单、原有隐私审计记录 ├── docs/ # 图片托管与后续维护规则 ├── scripts/ # 渲染器、安装检查、打包与回归测试 ├── examples/ # 公开样图链接与输入示例 └── benchmarks/ # 研发图片链接与验收记录,不进入默认安装包 ``` ## 贡献新画风 欢迎 PR 提交你验证过的画风。一种画风 = 在 `STYLES.md` 增加一段配方 + 在 `PROTOCOL.md` 的菜单、别名表里登记。建议: - 配方用你实测满意的语言原文(中英不限),不要替换成未验证的措辞; - 参数名只使用中英文字符、数字或下划线,以字母、汉字或下划线开头;`【最重要·硬性负向约束】` 这类含标点的固定标签按原文保留,不作为参数; - 在 `scripts/check_skill.py` 增加该画风的完整调用场景,再运行检查和打包;依赖图片先登记到清单并完成托管验证,再把 HTTPS 链接写入配方说明; - 移除比例硬约束(`1:1` / `3:4` 等),交由比例规则处理; - 把内容相关的部分抽象成 `【占位符】`; - 在 `examples/README.md` 附 1–2 张已托管样图的链接,便于评审。图片二进制不得提交到 Git。 - 新增或升级画风时至少验证“参考图同构场景 + 一个跨主体场景”;维护者可按 `AGENTS.md` 的验证例外调用图像模型,但最终入库样图必须先完成隐私元数据清理与审计。 ## License [MIT](LICENSE) © liulei