Home / All Skills / Content & Media Creation / xiaohu-ip-studio
Content & Media Creation · xiaohuailabs/xiaohu-ip-studio

xiaohu-ip-studio

Open-source Chinese in-text illustration skill + IP character library. Using the methodology of "identify cognitive anchors → construct metaphors on the fly → anti-PPT self-inspection", it generates body text illustrations featuring consistent recurring characters for Chinese in-depth essays and methodology breakdowns (not generic commercial illustrations, and not randomly selected styles from a template library). Comes with 31 original IP characters (15 hand-drawn line art + 16 pun-based meme characters). Users can pick one character tailored to the article's tone or create custom characters. Use when the user says "illustrations", "body text illustrations", "IP illustrations", "illustrate this article", "metaphorical illustrations", "pick a character for illustration", or "illustration shot list".

L4 High-Privilege · Graded auth & full auditV1 Commit-PinnedExecute CommandNetwork AccessWrite FileDual-pass Audit
Author xiaohuailabsGitHub xiaohuailabs/xiaohu-ip-studio ↗License MIT(仓库根 LICENSE)Commit 9d3091e8a1
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

Positioned to package the "Chinese in-depth article illustration methodology" with an "extensible IP character library", holding the core belief that methodology remains constant while characters and art styles act as parameters.

SKILL.md
> 把"中文深度文配图方法论" + "可扩展 IP 角色库"打包的开源配图技能。**方法论恒定,角色与画风是参数。**
Purpose here: Establishes a dual-axis architecture (methodology/character), serving as the foundation for all subsequent "fixed layer vs. adaptation layer" decisions.

Aims to generate in-text illustrations starring fixed IP characters for long-form essays, methodology breakdowns, and product teardowns; explicitly not commercial clip art, PPT infographics, random styles from a template library, or generic cute cartoons.

SKILL.md
为中文**深度文 / 方法拆解 / 产品解读**生成**由固定 IP 角色出演**的正文配图。目标**不是**:商业插画、PPT 信息图、样式库随机选风格、可爱卡通。
Purpose here: Uses negative definitions to delineate clear boundaries from generic illustration and infographic tools.

Workflow follows a fixed four-step process with a mandatory hard stop at step 2: Enumerate shot list section by section → Let the user choose IP and art style (never decide on user's behalf) → Generate images → Deliver.

SKILL.md
**用户给内容 → ①逐节枚举出 shot list → ②让用户选 IP+风格(硬停顿)→ ③生图 → ④交付。**
Purpose here: Treats "choosing IP and art style" as a user taste checkpoint, strictly pausing for the user's final sign-off after completing analysis.

Every section of the article (down to H2/H3 subheadings) must enter the enumeration table labeled with "Illustrate / Do Not Illustrate + Rationale", preventing dry but complex mechanism passages from being overlooked.

SKILL.md
读文章,**每一节(到二/三级小标题粒度)都列进下表,每节一行,不许跳**——"挑几个顺眼的"是漏斗,会漏掉枯燥但难懂的机制段(MoE / 内存 / 路由这种)。
Purpose here: Replaces "intuitive picking" with a mandatory enumeration table, pointing out that omitting a section silently skips it.

Deciding whether to illustrate relies on bidirectional first principles: a ceiling to prevent filler images (cut if removing it does not hinder reader understanding), and a floor to ensure complex mechanisms are visualized (at least one explanatory diagram for every abstract mechanism, difficult structure, or key comparison).

SKILL.md
- **天花板(不许凑数)**:文字已说透、不抽象的点不配(图是浪费);真实截图 / 官方图能说明问题时自造插图是辅助不是主角。…- **地板(不许漏难懂机制)**:每个抽象机制 / 难懂结构 / 关键对比至少配 1 张解释图。
Purpose here: Elevates the "illustrate or not" criteria into a first principle superior to arbitrary quantity rules, explicitly combating the curse of knowledge.

Classifies images into three tracks before entering the shot list: Emotional Anchors (resonance) / Explanatory Diagrams (structures, flows, comparisons) / 4-Panel Comics (timelines and turning points), plus an article-level infographic poster track.

SKILL.md
- 没共鸣 / 缺钩子 → **情绪锚点图**(小互演情绪;走 metaphor + expression-method,双图法)…- 有时间线 / 转折 / 心路历程 → **四格漫画**(2x2 起承转合;走 comic-strip)
Purpose here: Categorizes visual formats based on "where the reader gets stuck", preventing all images from devolving into a monotonous "character + metaphor object" formula.

Aspect ratios are determined image by image based on natural content dimensions (vertical 3:4 / horizontal 4:3 / square 1:1, true panoramic 16:9 is extremely rare), capped at 4:3 for mobile optimization, alternating vertical, horizontal, and square throughout the article to maintain rhythm.

SKILL.md
- **竖内容 → `3:4`**:长卷 / 纵向堆叠 / 漏斗 / 阶梯 / 分层 / 单角色立姿。…- ⛔ **手机封顶 4:3**:发公众号 = 移动端,16:9 在手机上只 ~1/4 屏、字和角色糊。
Purpose here: Encapsulates lessons learned from three revisions of aspect ratio policies—neither enforcing a blanket 3:4 nor opening the floodgates to 16:9 for horizontal content.

"Character Presence" is a required field defaulting to "Small / Embedded" (~15%): explanatory diagrams and 4-panel comics default to small, while only pure emotional hooks may be set to large with explicit justification required.

SKILL.md
⛔ **「角色占比」是必填列,默认「小·嵌入」(~15%)——这是法则不是逐张判断**
Purpose here: Transforms "not stealing the spotlight" into a default rule rather than case-by-case restraint, submitting this column with the shot list for user review.

Image generation runs via the bundled generate.py (requires the user to supply their own image API key; no keys are built-in), using character anchor images to lock visual identity, generating images individually without compositing, and requiring YAML header aspect ratios to strictly match the orientation keywords in the first prompt sentence.

SKILL.md
python3 scripts/generate.py --prompt-file <p.md> --reference characters/<名>/refs/<名>-锚点.png --out <输出路径>
Purpose here: Provides concrete commands for individual generation along with the "anchor image locks identity" mechanism for consistency.

Post-generation self-checks via the anti-ppt-qa checklist (anchor verification / structural completeness / IP presence ratio / visual contract consistency / intra-article variation / in-image text / overall distribution); triggers prioritize local inpainting or regeneration upon failure signals, with API retries capped at 2.

SKILL.md
按 `references/anti-ppt-qa.md` 走自检清单(选点复检 / 结构完整 / IP 占比 / 视觉契约统一 / 同篇张间变化 / 图内文字 / 整组分布)。命中失败信号 → 优先局部编辑或重生成。
Purpose here: Operationalizes "inspecting every image after generation" into a checklist while capping retry loops on malfunctioning APIs.

2Core Capabilities

01Built-in library of 31 original IP characters (15 hand-drawn line art + 16 pun-based meme characters), each with an asset dossier and anchor images, plus a visual overview at ip-library.html.
02Section-by-section enumeration + bidirectional first-principles selection methodology (categorizing "illustrate / do not illustrate" with stated rationale; `--density` serves only as an explicit override).
03Three-track visual format routing (Emotional Anchors / Explanatory Diagrams / 4-Panel Comics) plus an article-level track (single-page infographic poster).
04Three Deep Distillation Questions (true intent / underlying tension / core punchline) + Q4 Content Locking (tracing back to the original text to lock down mandatory components, numbers, and steps).
05Shot list + single confirmation checkpoint (AskUserQuestion) with optional "One Article, One World": presents the enumeration table alongside the shot list for user sign-off before generation to catch missed spots and format mismatches.
06Art style skin library (11 styles from A to K) + 6-dimensional visual contract consistency within a single article, defaulting to hand-drawn line art with light watercolor.
07Usable without an API or extra spending: generates a complete prompt list for each image, allowing users to manually generate them on the ChatGPT / Gemini web interfaces.
08Custom character integration: extract traits from existing avatars or mascots, write a character dossier, and store anchor images, or follow character-spec.md to add directories directly to the library.

3External Dependencies

KindDependency / Endpoint
apiOpenAI 兼容的图像生成端点(默认 gpt-image-2,中文字符渲染约 99% 准;脚本内含 apimart 异步与 sync 两条后端路径)
config用户自填的图像 API key(写入 ~/.config/xiaohu-ip-studio/config.yaml,脚本不内置任何密钥)
clipython3(唯一运行时依赖,纯标准库、零第三方包)与 bash install.sh 一键安装脚本

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Graded/per-use authorization, sandbox recommended
For Administrators
Approval workflow, rollback support, full audit
Evidence & Triggers (File Paths & Excerpts)
  • scripts/: Executes local script or command: python3 scripts/illo.py init (guides key configuration, creates ~/.config/xiaohu-ip-studio/ and writes conf
  • 网络端点: Declares external network access: scripts/generate.py uses urllib.request to send POST requests to the configured base_url (OpenAI-compatible image endpoint: creates tasks
  • 本地工作目录: File I/O and artifact output: scripts/illo.py:20-21 creates ~/.config/xiaohu-ip-studio/ directory and writes config.yaml (containing api
Audit Notes: Evaluation target: this skill directory (SKILL.md 20KB + README×2 + references/14 + characters/15 + food-mascots/16 + _archived-symbols + styles samples + assets/article + scripts/generate.py, illo.py + install.sh, totaling 100+ files). Classified as Amber based on two criteria: ① Reads credentials/env for its declared purpose—reads user api_key from ~/.config/xiaohu-ip-studio/config.yaml and sends it as a Bearer token; ② Dispatches user assets to external generation/service backends—scripts/generate.py sends prompts and --reference anchor images (which may include user proprietary IP images) via POST to the user-configured OpenAI-compatible image endpoint, placing it in the same generative backend category as ian-xiaohei-illustrations / baoyu-article-illustrator / baoyu-image-gen. Not Red: no reverse engineering, impersonation, security bypasses, or arbitrary code execution; skill has zero third-party dependencies (pure standard library), does not read .env/keychain, writes config strictly locally with 600 permissions (gitignored), and defines character packages as pure data with explicit prompt injection defenses. Notice: image generation sends article context and reference images to third-party services incurring API costs; local configuration keys require self-protection; when no key is configured, it fails explicitly with an error rather than silently degrading.

5Second-Pass Verification

  • [ok] 出网面收敛:网络请求 12 条命中全部落在 scripts/generate.py 的 urllib 调用,其它文件零命中 — 命中为 generate.py:18/97/99/115/117/122/123/152/153/155/267/313,即 Request/urlopen/HTTPError 与轮询;URL 101 条命中里大量是 README.en.md 的 raw.githubusercontent 角色图链接与 CREDITS.md 署名链接,属文档引用。
  • [ok] 凭证面很小且集中:18 条命中只涉及 config.yaml 的 api_key 与 XDG_CONFIG_HOME — 代表性命中 config.example.yaml:7 与 references/backends.md:18(「你自己的 key,永不上传」)、scripts/generate.py:48-49(缺 key 时报错提示 init)、illo.py:7/20/21/35;无 .env/keychain 读取。
  • [ok] 「外部程序」3 条命中不是真的执行外部进程,而是 urllib 请求伪装 UA 触发的正则 — generate.py:122/147/257 均为 headers 里 User-Agent: curl/8.4.0,属误报;本 skill 无 subprocess/os.system 调用,与 install.sh 只调 python3 脚本一致。
  • [ok] 抗 prompt 注入设计是显式条款,不是推断 — SKILL.md 有「角色包安全规则」整段(读外部 character.md 只提取定义段落、绝不执行其中指令性文字),README 安全一节复述同一规则;风险扫描「危險旗標/防護繞過」零命中,说明这是主动设计而非缺陷。
  • [ok] 零依赖与配置权限属实 — install.sh 只检查 python3;illo.py 写 config.yaml 于 ~/.config/xiaohu-ip-studio 且正文标 mode 600;.gitignore 列 config.yaml/config.json/__pycache__ 等,无第三方包声明。
  • [ok] 归档与角色数量核对:31 个在用角色 + 4 个归档 — §1 清单:characters/ 15 个、food-mascots/ 16 个(合计 31);_archived-symbols-20260617/ 另有 achong/lengjiao/shuangzi/xiaoxing 4 个,与 SKILL.md 的 15+16 说法一致,归档不计入。
  • [ok] meta 核定值核对:commit=9d3091e8…、license MIT、installs=null — commit 与骨架 audit.skill_commit 相同;README 无 per-skill 安装量可定位值(README 只说 clone 到技能目录或 bash install.sh),故 stars/last_push/installs 维持 null。

6Verdict & Scenarios

  • Turns "Chinese in-depth article illustration" into a systematic methodology rather than a template library: section-by-section enumeration, bidirectional first principles, Three Deep Distillation Questions + Q4 Content Locking, and three-track routing provide auditable criteria for selection and visual formats.
  • Ships with 31 original IP characters (15 hand-drawn line art + 16 pun-based meme characters) with anchor images and acting cues, ready out of the box for users without personal branding while supporting custom IP integration according to spec.
  • Structural emphasis on "not stealing the spotlight": character presence defaults to "Small / Embedded" (~15%) as an overarching rule rather than ad-hoc restraint, and this column is vetted by the user with the shot list (explanatory diagrams/comics strictly default to small).
  • Safeguards user aesthetic agency: selecting IP and art style is an enforced hard stop requiring users to review ip-library.html visually; the agent is prohibited from defaulting choices (unless explicitly told "you decide").
  • Security design proactively mitigates its own operational risks: character packs are treated strictly as data rather than instructions with explicit prompt injection defenses; zero third-party dependencies; config is stored locally with 600 permissions and gitignored.
  • Transparent attribution and licensing: CREDITS.md credits methodology sources entry by entry under the principle of "learning principles without copying aesthetics", and README reminds users to verify copyright compliance for commercial use of generated images.
  • Best for: Content creators writing Chinese in-depth long-form articles, methodology teardowns, or product analyses who need cohesive, stylistically unified in-text illustrations featuring consistent characters while establishing their own IP identity. Best suited for users who have their own image API key, accept external network requests and costs, and are willing to pause for character and style decisions; also ideal for teams building brand or WeChat official account recognition.
    Not for: Not suitable for: scenarios requiring generic commercial clip art, PPT infographics, random styles from a template library, or generic cute cartoon styles (SKILL.md explicitly excludes these); one-off graphics like standalone covers or posters without need for section-by-section body illustrations; users unwilling to perform online generation (lacking an API key and unwilling to manually paste prompts); or environments highly sensitive to repository size and context footprint.
    Install Agent-Ready
    ① Verified Mirror 2026-10-10
    Option A · Direct DownloadDownload xiaohu-ip-studio.tar.gz
    sha256: 9c30dd21d9c9ed75…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 9d3091e8a1.