首页 / 全部技能 / 设计 / baoyu-comic
设计 · JimLiu/baoyu-skills

baoyu-comic

Knowledge comic creator supporting multiple art styles and tones. Creates original educational comics with detailed panel layouts and batch-capable image generation. Use when user asks to create "知识漫画", "教育漫画", "biography comic", "tutorial comic", or "Logicomix-style comic".

L4 高权限 · 分级授权与审计V1 已固定执行命令读写文件Dual-pass Audit
Author JimLiuGitHub JimLiu/baoyu-skills ↗Stars 25926License MIT(仓库根 LICENSE,Copyright (c) 2026 Jim Liu;GitHub API license.spdx_id=MIT)Commit 1567581c26
管控等级描述 skill 的能力与建议配套的管控措施,不代表质量或安全认证,也不表示可用或不可用。是否使用由用户和管理者决定。不同 agent 宿主对权限的约束各不相同,请勿假定宿主一定会提供安全兜底。第三方 skill 版权归原作者,使用风险由使用者自行承担。

1实现原理 · 为什么它能做到

先做“深度内容分析”再画:按分析框架产出 analysis.md(受众、价值主张、核心主题、人物与故事弧、内容信号),据信号推荐 art/tone/layout 与页数。

skills/baoyu-comic/references/analysis-framework.md
Deep analysis framework for transforming source content into effective visual storytelling.
篇幅按内容复杂度定档(短篇 5-8 页、中等 9-15 页、完整传记 16-25 页),并把推荐值写进 analysis.md 的 front matter,供后续步骤引用。

风格是 art(6) × tone(7) × layout(7) 三维,加上 preset 层:preset 不只是 art+tone 的别名,还带额外规则(如 ohmsha 禁“说话头”、必须有视觉隐喻)。

skills/baoyu-comic/references/workflow.md
**Preset vs Art+Tone**: Presets include special rules beyond art+tone.
art-styles/、tones/、layouts/、presets/ 四个目录各自按需加载定义文件;ohmsha preset 还预置了大雄/哆啦A梦等默认角色,用户没指定就不许自造角色。

角色一致性靠“角色设定表 + 参考图”工程化:先生成 characters/characters.png 作为跨页 --ref,后端不支持 --ref 时降级为把角色描述写进每页 prompt。

skills/baoyu-comic/SKILL.md
| Exists | Supported | Pass sheet as `--ref` on every page |
还有失败恢复链:先用 sips/pngquant 压缩参考图避免 payload 失败 → 重试 → 仍失败则丢掉 --ref 改为文案内嵌。

分页生成有严格的依赖顺序与批次策略:先出角色表,再按批派发页面;每页 prompt 必须先落盘才允许调用后端。

skills/baoyu-comic/SKILL.md
Honor workflow dependencies first: generate `characters/characters.png` before pages that use it as a reference.
同段还写死 Never start the first page batch until all selected page prompt files exist on disk;批量失败只重试失败项。

自带一个可执行脚本把页面合并成 PDF:用 bun 跑 merge-to-pdf.ts,pdf-lib 建文档、按图片实际尺寸建页、Bun.write 落盘。

skills/baoyu-comic/scripts/merge-to-pdf.ts
const pdfDoc = await PDFDocument.create();
脚本按文件名里的 NN 前缀排序(00-cover-*.png, 01-page-*.png …),找不到页面直接报错退出;输出默认是 <dir>/<dirName>.pdf。

局部工作流避免整套重跑:只出分镜、只出 prompt、只出图、或指定页重生成。

skills/baoyu-comic/SKILL.md
| `--regenerate N` | Regenerate specific page(s) only (e.g., `3` or `2,5,8`) |
与 --storyboard-only/--prompts-only/--images-only 组合使用,细节在 references/partial-workflows.md。

重生成前必须备份:已有 prompt 与图片统一改名加 -backup-YYYYMMDD-HHMMSS 后缀,保留可比较的旧版本。

skills/baoyu-comic/references/workflow.md
**Backup rule**: If `characters/characters.png` exists, rename to `characters/characters-backup-YYYYMMDD-HHMMSS.png`
同规则适用于 pages 与 prompts;生成失败/重做不覆盖原始文件。

交互语言贯穿全流程:分镜、prompt、选项与进度反馈都用用户输入语言或保存的偏好语言。

skills/baoyu-comic/SKILL.md
**Rule**: Use user's input language or saved language preference for ALL interactions:
技术术语保留英文;语言优先级 --lang > EXTEND.md > 会话语言 > 素材语言。

2核心能力

01深度内容分析 → analysis.md(受众/价值/主题/人物弧/内容信号)
02storyboard + 角色设定(storyboard.md、characters/characters.md),可先评审再出图
03art×tone×layout×preset 选型与自动推荐(含 ohmsha/wuxia/shoujo/concept-story/four-panel)
04角色跨页一致性(character sheet 作 --ref / 描述内嵌两套降级方案)
05页面批量生成 + 单次重试 + 依赖排序(角色表先于页面)
06本地合并 PDF(bun + pdf-lib,按 NN 前缀排序)
07局部重跑(--images-only / --prompts-only / --storyboard-only / --regenerate N)与备份规则
08产物压缩以适配 --ref payload(sips / pngquant)

3外部依赖

KindDependency / Endpoint
clibun / npx(${BUN_X} 运行时,跑 scripts/merge-to-pdf.ts)
packagepdf-lib(脚本内 import,用于建 PDF)
clisips / pngquant(压缩角色表,避免 --ref payload 失败)
clicodex CLI / baoyu-image-gen(图像生成后端,codex-imagegen 分支)
apiCodex 原生 imagegen / Cursor GenerateImage / Hermes image_generate(宿主原生图像工具)

4管控建议与判定依据

建议配套管控措施
面向 Agent
分级或逐次授权,建议在沙箱运行
面向管理者
审批流程、可回滚、全程审计
判定依据(文件路径与关键语句摘要)
  • scripts/: 执行本地脚本或命令: scripts/merge-to-pdf.ts(bun 运行;只读本地页面图片、写 PDF)
  • 本地工作目录: 文件读写与工件输出: comic/{topic-slug}/ 下:source-{slug}、analysis.md、storyboard.md、characters/ch
审计说明: 。(a) SKILL.md 点名外部图像生成后端:'**Codex (`imagegen`)** — first, inspect your available-skills / tool inventory.' 与 'route through `baoyu-image-gen --provider codex-cli` (preferred)';照 SKILL.md 执行后,用户素材(传记/教程原文)与整本分镜 prompt 会出网到第三方图像模型,且多页批量会显著消耗用户账号额度。(b) 本地写盘量大:comic/ 目录下的素材、analysis、storyboard、characters、prompts、页面图、PDF,以及 EXTEND.md。(c) 自带脚本 scripts/merge-to-pdf.ts 仅本地(pdf-lib 建 PDF + Bun.write),无网络无凭证,故这一部分属 blue 特征;红档要件(逆向 API/冒充客户端/绕过防护/任意代码执行)均不满足。对照先例:ai-image-generation / seedance 等“素材送生成后端”一律 orange。

5第二遍独立确认

  • [ok] 自带脚本只有 merge-to-pdf.ts,且仅本地行为 — 逐行核对:import fs/path/pdf-lib,createPdf() 里 readFileSync 页面图 → embedPng/embedJpg → Bun.write(outputPath);无网络调用、无 env 读取、无子进程。
  • [ok] pdf-lib 依赖来源(无自带 package.json) — skill 目录确无 package.json;依赖靠仓库根 workspace 的 dependencies(pdf-lib ^1.17.1)或运行环境解析。这一点写进 risks,不影响档位。
  • [ok] SKILL.md 点名单一生成后端(orange 依据) — Codex imagegen / codex CLI (baoyu-image-gen --provider codex-cli) / Cursor GenerateImage / Hermes image_generate 均在 SKILL.md 正文,且 7.2 要求“生成任何页面前先读后端 SKILL.md 判断 --ref 能力”。
  • [ok] 角色一致性三策略与失败恢复 — SKILL.md 7.2 表(Exists/Supported、Exists/Not supported、Skipped)与 workflow.md 的 Strategy A/B/C 一一对应,另有 --ref 失败时的压缩→重试→降级链。
  • [ok] 预设与默认角色 — workflow.md 列出 ohmsha 默认四角色(大雄/哆啦A梦/胖虎/静香)并写明不得为 ohmsha 自造角色;presets/ 5 个文件均在盘。
  • [ok] 备份与局部重跑规则 — workflow.md 7.1 备份规则、SKILL.md Partial Workflow Options 表与 partial-workflows.md 均存在。
  • [ok] meta 元数据 — GitHub API:MIT、25926 stars、pushed_at 2026-09-10T15:13:43Z;本地 HEAD 与任务 pin 1567581c26ec… 一致。

6结论

  • 风格空间大且可控:6 art × 7 tone × 7 layout × 5 preset,且 preset 带额外叙事规则(ohmsha 的隐喻要求、four-panel 的起承转合)。
  • 长篇项目友好:多道评审门 + 局部重跑 + 备份规则,长漫画可分段交付、可回退。
  • 角色一致性工程化:character sheet 当参考资产跨页复用,并对不支持 --ref 的后端给出降级方案。
  • 交付物完整:不再是散图,自带脚本按 NN 顺序合并 PDF,直接可发。
  • 内容分析框架前置,避免“直接开画”导致叙事松散。
  • 适合: 适合把长文/传记/教程改造成教育漫画的个人或团队,尤其需要跨页角色一致性与可交付 PDF 的场景;也适合研究“分镜→prompt→图”管线设计的 skill 作者参考。
    不适合: 不适合只想要单张插图(应用 baoyu-article-illustrator);不适合严格离线/禁止素材外发的环境;不适合不愿意走多轮确认、追求一次成型的快速草稿场景。
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload baoyu-comic.tar.gz
    sha256: 0b7b74a684ebd49d…
    Option B · Copy Guide for Agent
    install.json
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 1567581c26.