Anima Base
artokun/comfyui-mcp
Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT).
给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add eternityspring/shuohao-skills --skill character-refs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install eternityspring/shuohao-skills character-refs --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/eternityspring/shuohao-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/character-refs .claude/skills/character-refs && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "character-refs" agent skill from https://github.com/eternityspring/shuohao-skills/tree/main/skills/character-refs into .claude/skills/character-refs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "character-refs", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/eternityspring/shuohao-skills/tree/main/skills/character-refsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add eternityspring/shuohao-skills --skill character-refs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install eternityspring/shuohao-skills character-refs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eternityspring/shuohao-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/character-refs .agents/skills/character-refs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "character-refs" agent skill from https://github.com/eternityspring/shuohao-skills/tree/main/skills/character-refs into .agents/skills/character-refs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "character-refs", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eternityspring/shuohao-skills --skill character-refs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install eternityspring/shuohao-skills character-refs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eternityspring/shuohao-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/character-refs .cursor/skills/character-refs && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "character-refs" agent skill from https://github.com/eternityspring/shuohao-skills/tree/main/skills/character-refs into .cursor/skills/character-refs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "character-refs", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/eternityspring/shuohao-skills.git --path skills/character-refs--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add eternityspring/shuohao-skills --skill character-refs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install eternityspring/shuohao-skills character-refs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eternityspring/shuohao-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/character-refs .gemini/skills/character-refs && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "character-refs" agent skill from https://github.com/eternityspring/shuohao-skills/tree/main/skills/character-refs into .gemini/skills/character-refs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "character-refs", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install eternityspring/shuohao-skills character-refsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add eternityspring/shuohao-skills --skill character-refs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/eternityspring/shuohao-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/character-refs .github/skills/character-refs && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "character-refs" agent skill from https://github.com/eternityspring/shuohao-skills/tree/main/skills/character-refs into .github/skills/character-refs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "character-refs", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eternityspring/shuohao-skills --skill character-refs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install eternityspring/shuohao-skills character-refs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eternityspring/shuohao-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/character-refs .opencode/skills/character-refs && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "character-refs" agent skill from https://github.com/eternityspring/shuohao-skills/tree/main/skills/character-refs into .opencode/skills/character-refs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "character-refs", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
character-refs给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。
Character Refs is an agent skill from eternityspring/shuohao-skills. 给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。 支持 Qwen Image(ComfyUI)、codex 内置出图、OpenAI Images API(GPT Image 2)和自定义命令,主图与派生图可以使用不同模型。 产出 asset.json + 一组 PNG + 双击就能开的报告。零依赖。 只要提示词、不出图的话使用 novel-characters。 Use when asked to 出角色图、做角色参考图、给我的角色出图、定妆照、真出三视图、character reference images。
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including scripts, reference files and assets (for example `README.en.md`, `README.md` and `examples/阿禾-intake.json`).
It sits in Media & Creative, covering Diffusion and image models, Image generation and Creative writing and fiction. It works with OpenAI, Qwen and ComfyUI. The repository describes itself as: AI 短剧制作的 skill 集合:拆角色、排大纲、出场景与道具设定、写剧本、切分镜 | Agent skills for AI short-drama production — character bibles, adaptation outlines, art bibles, screenplays, storyboards. Runs in… The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ef4ac0c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteBashFrom allowed-tools in the SKILL.md frontmatter.
Ships 7 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Character Refs loads about 1.7k tokens when it runs, and up to ~7.6k if it reads all its reference files. Until then it costs about 101 tokens; SKILL.md has 305 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
可选 `COMFY_USER` / `COMFY_PASS`),放环境变量或一个 .env 文件3. **出完锚点要不要停下来等人确认**:推荐 `yes`——锚点是全组的根,它不对后面全白出。用户说「换成 xx」就重新跑 `config`。**不要把 .env 里的密码或 key 打印出来**,`config --show` 已经打码。allowed-tools: Read, Write, BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from eternityspring/shuohao-skills at commit ef4ac0c, republished under its Apache-2.0 licence (© eternityspring). 305 words, ~1,736 tokens.
.claude/skills/character-refs/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.输入一段角色描述,输出一组角色参考图——角色从哪来都行:小说改编、自己编的故事、临时想到的一个人。一张正面全身锚点,其余每张都只参考这张锚点。 给视频模型(H3 / Wan / Seedance)当参考图使用,也给人看。
{baseDir} = 本文件所在目录。脚本 {baseDir}/scripts/character-refs.mjs,零依赖,node 直接跑。
**这是仓库里唯一真出图的 skill。**其余 skill 只交提示词,因为出图那一刻才能决定模型和画风; 这个 skill 就是「那一刻」——模型在 Step 0 由用户选定,画风在建角色时选择(默认动漫,另有写实预设,也能挂自定义画风)。
**一组图只有一个根:正面全身锚点。**只有它是文生图,其余全是「锚点 + 一句改图指令」。 头发、脸、领口三类细节额外挂确认过的正脸大头照。图与图之间不再互相参考—— 所以任何一张出坏了,单独重出这一张就行,不会连锁。
分档,默认出到第二档:
| 档位 | 内容 | 什么时候出 |
|---|---|---|
| 1 | 正面全身(锚点) | 总是,第一张 |
| 2(默认) | 正脸大头照、90° 侧面(面朝画面右侧)、背面 | 默认就出齐 |
| 3 | 细节图(最多 8 张):用户点名的、角色最能认出来的地方;没有就用默认的头发 / 发饰、领口、袖口、鞋 | 有配饰或服装局部的特写 |
| 4(默认不出) | 45° 大头照(面朝画面左侧) | 用户明确要 |
H3 实测:只给正面全身,服装和背影都对,但脸会走样;加一张大头照,脸最接近。所以默认出齐第二档。
只要锚点(比如先看看长相再说):gen <asset.json> --tier 1。
模型不锁定:主图与派生图可以使用不同模型,重出单张也可以换模型。一致性来自「同一张锚点」, 不来自「同一个模型」(实测 Qwen 锚点 + GPT 派生、GPT 锚点 + Qwen 派生、同组混用都衔接得上)。 每张图记录自己的模型,同组混用只在报告里提醒。
冻结的只有三样:锚点文件(sha256)、画风快照、文字描述指纹。任何一样变了, 依赖它的图标成「过期」——只标记,不删除,旧版本全部留着。
node {baseDir}/scripts/character-refs.mjs config --show输出末尾写「还缺:……」就要问用户这三件事,一次问完:
qwen —— Qwen Image 2.1,走自己的 ComfyUI 服务器。快(每张 25–45 秒)、尺寸精确、不吃订阅额度。
需要 COMFY_URL(可选 COMFY_USER / COMFY_PASS),放环境变量或一个 .env 文件codex —— codex 内置出图(GPT)。不要 API key,但吃 ChatGPT 订阅额度(Plus 约 25 张会触顶,几小时后恢复),每张 80–160 秒openai —— OpenAI Images API,默认 gpt-image-2。按量计费,要 OPENAI_API_KEY;也能指到兼容接口(--openai-base-url)custom:<名字> —— 用户自己的出图命令,见 references/models.mdyes——锚点是全组的根,它不对后面全白出。
选 no 则自动放行,报告里标「未经人工确认」;没过检查门的锚点不会自动放行,要人看过再 confirm 或重出node {baseDir}/scripts/character-refs.mjs config --model qwen --confirm-anchor yes --qwen-env-file <.env 路径>
# 分开设置:--anchor-model codex --derive-model qwen配置写在 {baseDir}/config.local.json(不进版本控制,重新安装不会覆盖)。以后默认一直使用它,
用户说「换成 xx」就重新跑 config。不要把 .env 里的密码或 key 打印出来,config --show 已经打码。
用户一段话描述角色就够了,不要一项一项问。你(模型)来拆:
node {baseDir}/scripts/character-refs.mjs intake-template照模板把描述拆进各字段,写到 <工作目录>/<角色名>-intake.json。规则(详见 references/intake.md):
lang 填用户说话的语言(中文 zh、英文 en、日文 ja 内置)。确认表和报告都用这个语言;
其他语言先运行 ui-template <lang>,把打印出的英文文案逐项翻译,整块放进 intake 的 ui 字段stated,你推出来的标 inferred,按惯例补的标 default——如实标,确认表靠它提醒用户看哪几项en 进提示词:永远英文、不写角色名、不写画风词;text 给人看,用 lang 的语言写(旧输入写的 zh 照样认)top / bottom——大头照只用上装,带上下装模型就会把镜头拉远references/intake.mdnode {baseDir}/scripts/character-refs.mjs intake-check <intake.json>有问题按报错改到通过。通过后它打印确认表,原样给用户看,推断和默认的项带标记。 用户确认(或改完再确认)之后才往下走。
node {baseDir}/scripts/character-refs.mjs new <intake.json> --out <输出目录> [--look 画风]建出 <输出目录>/<角色名>/asset.json。画风层此时整份快照进资产,之后改预设不影响已有角色。
画风:用户说了就按用户说的选择,没说就是动漫。同一部剧的角色全部使用同一个画风。
| 预设 | --look 认的名字 |
|---|---|
| 动漫(默认) | 动漫 卡通 anime cartoon 二次元 アニメ |
| 写实照片 | 写实 realistic photo 真人 |
looks 列出全部预设。用户要别的画风(国风、美漫……):look-template <最接近的预设> > my-look.json,改 style(介质、线条)、
clean(背景与光,必须保留白底)、neg(反向词——换成画出来的画风要把 anime illustration 从反向词里拿掉),
画出来的画风把 medium 写成 drawn,然后 --look my-look.json。自定义画风没有实测,先出锚点看效果。
已经建好的角色要换画风:
node {baseDir}/scripts/character-refs.mjs restyle <asset.json> --look 动漫换完所有已有的图(连锚点)都标过期,旧图保留,从锚点开始重出。
node {baseDir}/scripts/character-refs.mjs gen <asset.json>不给视图和档位,就是补齐第一、二档里还没出的、已过期的图。
配置了确认:这条命令只出锚点就停下。把图给用户看(报告或直接打开 PNG),用户说可以再
node {baseDir}/scripts/character-refs.mjs confirm <asset.json>
node {baseDir}/scripts/character-refs.mjs gen <asset.json> # 同一条命令,接着出大头照、侧面、背面不满意就再跑一次 gen <asset.json> front-full(出 v2,可 --seed 换种子、--model 换模型),
或者回 Step 1 改描述。**锚点没确认,派生图会被拒。**配置为不确认时,一条命令出齐四张。
node {baseDir}/scripts/character-refs.mjs gen <asset.json> --tier 3 --reason "E03 有发饰和领口特写"--reason 写为什么升档,记进资产。也可以只出某几张:gen <asset.json> detail-hair detail-neck。
node {baseDir}/scripts/character-refs.mjs check <asset.json>每张图过代码门(尺寸 300–5760、宽高比 0.4–2.5、比例对得上、≤20MB、背景够白),再看过期。 **有问题 exit 1。**门没过或过期的,单独重出那一张:
node {baseDir}/scripts/character-refs.mjs gen <asset.json> detail-neck --model codex门里「背景够白」对全身图查四边,对大头照只查上边和两侧上半段(身体本来就顶到下边),细节图跳过并明说。 门查不了长相、角度、取景——出完一定要看图,这几项靠眼睛。
node {baseDir}/scripts/character-refs.mjs render <asset.json>... --out <输出目录>/character-refs.html多个角色可以一起出。语言默认取资产的 lang,临时换加 --lang en;非内置语言没带 ui 时,用 --ui <文件> 传自译文案,
缺文案会直接报错,不出半中半英的报告。界面文案换语言,角色描述保持原文。
第一档只有一张卡片;第二档起是设定图版面(左大头照,右上正面 / 侧面 / 背面,右下细节条),
默认不显示细节图,页面上一键切换。过期的图标红框,页面顶部有图例说明,鼠标移到红框图上能看到原因;混用模型会提醒。
一句话:出了哪几张、使用的哪个模型、报告路径。门没过或过期的点名。没看过图不要说「效果很好」。
<输出目录>/
├── character-refs.html ← render 产出
└── <角色名>/
├── asset.json ← 角色描述 + 每张图的全部版本
└── default/ ← 造型(v1 只有 default 一套)
├── front-full.v1.png ← 锚点
├── face-front.v1.png
├── face-front.v2.png ← 重出不覆盖
└── detail-hair.v1.png …每张 PNG 里都写着标识(角色/造型/视图/版本)、模型、参考了哪几张,图被单独拷走也查得到来历。
asset.json 的结构见 references/schema.md。
openai 适配器只使用本地假服务器验过请求格式,没有用真 key 跑过;第一次使用时先出一张锚点看看node {baseDir}/scripts/selftest.mjs230 项断言,不调模型、不花额度:PNG 标识读写、检查门、输入校验、多语言确认表与报告、画风预设与换画风、提示词、过期传导、出图适配器的请求格式(Qwen 与 GPT Image 使用本地假服务器)、 以及使用自定义命令跑通的完整流程。改完脚本先跑这个。
{baseDir}/examples/阿禾-描述.txt 是一段用户式的一句话描述(1920 年代江南采茶姑娘),
阿禾-intake.json 是拆好的输入,推断和默认的字段都标了。样例图不进版本控制,要看就使用自己的模型跑一遍。
© eternityspring, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 16 other files (scripts, references, assets) in skills/character-refs of eternityspring/shuohao-skills.
Open the folder on GitHubat commit ef4ac0c
Character Refs next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Character Refs this skilleternityspring/shuohao-skills | 4.2k | — | ~1.7k | Automated safety check: Warn | Apache-2.0 | |
| Anima Baseartokun/comfyui-mcp | 793 | — | ~4k | Automated safety check: Pass | MIT | |
| Image Genopen-octo/octo-agent | 125 | — | ~3.1k | Automated safety check: Notes | MIT | |
| 9Router Image Generationdecolua/9router | 30k | — | ~830 | Automated safety check: Pass | MIT | |
| Iibzanllp/infinite-image-browsing | 1.4k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Zy Cinematic Realismpopopo-99/zy-cinematic-realism | 557 | — | ~4.6k | Automated safety check: Pass | CC-BY-NC-4.0 |
artokun/comfyui-mcp
Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT).
open-octo/octo-agent
Acquire images as files — generate them with an AI image model (14 providers: OpenAI/gpt-image, Gemini, Qwen, Zhipu, Volcengine, Stability, FLUX, Ideogram, MiniMax, and more), search openly-licensed…
decolua/9router
Generates images through a 9Router gateway's image endpoint, with model discovery, the request fields and per-provider quirks for OpenAI, Gemini, MiniMax and others.
zanllp/infinite-image-browsing
Interact with IIB (Infinite Image Browsing) service for searching, browsing, tagging, and organizing AI-generated images.
popopo-99/zy-cinematic-realism
Develop supplied scripts, short stories, or synopses into scene understanding, director-facing art concepts, and motivated narrative keyframes; compile scene ideas, visual references, or existing…
guaardvark/guaardvark
Generate or edit images on the user's own GPU through Guaardvark: single images, instruction edits, background cut-outs, inpaint and outpaint, consistent characters from the Cast Library, and batch…
eternityspring/shuohao-skills
给 AI 短剧出美术设定集(场景 + 叙事道具):场景的设计意图、一致性锚点、光照时段变体、 空景提示词;道具的戏剧功能、状态变体、尺度参照、白底无手提示词。
eternityspring/shuohao-skills
从小说或短故事里拆出角色表、人物画像、形象提示词、音色提示词, 其中形象提示词含一张角色设定图的完整版面指令(左半身像 + 右全身三视图 + 细节条), 产出 JSON + Markdown + 可交互的 report.html。
eternityspring/shuohao-skills
把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单, 产出 outline.json + Markdown + 单页评审报告(KPI 带、关键决策、爽点时间轴、调度矩阵、场景概览、质量门)。
eternityspring/shuohao-skills
给 AI 短剧写剧本:把 novel-outline 的分集梗概落成结构化的场次 + 节拍流(动作节拍与台词行交替), 台词逐句带说话人与语气,时长逐集按语速确定性折算。产出 script.json + Markdown + 单页评审报告 (时长仪表 / 分集剧本 / 场次总表 / 按角色聚合的台词本,含导出 JSON)。
eternityspring/shuohao-skills
给 AI 短剧出分镜:三层结构——段(一次视频生成,≤15 秒)→ 分镜(段内 2–5 秒的剪切,认领剧本节拍) → 分镜图(每切一张关键帧:主分镜图钉 0.00 秒,子分镜图钉各自切点)。
给任何故事里的角色真出参考图(小说改编、自己原创的故事、单独设计一个角色都行,不需要小说原文): 一段话描述角色,拆成分层字段、补全后确认, 先出一张正面全身锚点,其余视图(大头照、90° 侧面、背面、细节、45° 大头照)都只参考这张锚点, 按需分档出图。每张图带标识、可单独重出,重出后自动标出哪些图过期。. Character Refs is an agent skill from eternityspring/shuohao-skills.
Character Refs fits situations like: asked to 出角色图、做角色参考图、给我的角色出图、定妆照、真出三视图、character reference images; tasks that involve Diffusion and image models; tasks that involve Image generation.
Run `npx skills add eternityspring/shuohao-skills --skill character-refs -a claude-code`. Or copy the skill folder (skills/character-refs in eternityspring/shuohao-skills) into .claude/skills/character-refs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add eternityspring/shuohao-skills --skill character-refs -a codex`. Or copy the skill folder (skills/character-refs in eternityspring/shuohao-skills) into .agents/skills/character-refs in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add eternityspring/shuohao-skills --skill character-refs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/character-refs, .gemini/skills/character-refs, .github/skills/character-refs and .opencode/skills/character-refs in your project.
Going by SKILL.md and its folder, Character Refs needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node) and credentials named OPENAI_API_KEY. Our summary lists: Node.js; A credential in OPENAI_API_KEY. Its frontmatter pre-approves these tools: Read, Write, Bash.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Character Refs is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Character Refs: Anima Base (artokun/comfyui-mcp, 793 stars), Image Gen (open-octo/octo-agent, 125 stars), 9Router Image Generation (decolua/9router, 30k stars) and Iib (zanllp/infinite-image-browsing, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
eternityspring (a GitHub user) maintains it in eternityspring/shuohao-skills, which has 4,205 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on September 26, 2026.
Source: eternityspring/shuohao-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.