做了一套跨 agent 的 AI 生图技能包
起因:同一份能力,装五遍
手上的 agent 越来越多——Claude Code、Codex、Cursor、Gemini CLI、Hermes Agent。每个都有自己的技能目录,同一份提示词、同一个脚本,要在五个地方各放一份。
agentskills.io 的 SKILL.md 标准解决了「长什么样」的问题:YAML front matter 加正文,一个目录一个技能。但「放在哪」还是各家自己说了算。
于是把这阵子在用的两个技能整理成一套可移植的包,配一个能自动认路子的安装器。
里面有什么
| 技能 | 作用 | 依赖 |
|---|---|---|
z-image-generation | 免费 AI 生图,走 HuggingFace 的 Z-Image-Turbo Space,纯标准库 Python CLI,出图存本地 | Python 3.8+,能访问 huggingface.co |
asian-adult-image-prompts | 成人向提示词模板库,16 个模块可自由组合 | 无,纯 Markdown |
第二个是 18+ 内容,这里不展开。它的价值在于「模块化」这个思路:场景、景别、服装、光影、姿势、表情、胶片质感各自成篇,用的时候按需拼,而不是每次从零编一段长提示词。
装上
从仓库拉下来,进目录,先预演再安装:
1
2
3
4
5
git clone https://github.com/poisonhs/image-gen-agent-skills.git
cd image-gen-agent-skills
./install.sh --dry-run # 先看会写到哪些目录,不落盘
./install.sh # 正式安装
install.sh 是纯 bash,没有额外依赖。--dry-run 会打印探测到的 agent 和各自解析出的路径,确认没问题再执行真正的安装。
装完要重启一次 agent 会话,它才会重新扫描技能目录。之后用 ./install.sh --list 可以随时查看探测结果。
如果是从 tar 包解压出来的,先补一下执行权限:
1
chmod +x install.sh
安装器认的路
install.sh 是纯 bash,没有依赖。它会探测机器上装了哪些 agent,把技能放进对应目录:
| Agent | 全局路径 | 项目内路径 |
|---|---|---|
universal(.agents) | ~/.agents/skills/ | .agents/skills/ |
| Claude Code | ~/.claude/skills/ | .claude/skills/ |
| Codex | ~/.codex/skills/ | .agents/skills/ |
| Gemini CLI | ~/.gemini/skills/ | .gemini/skills/ |
| Cursor | ~/.cursor/skills/ | .cursor/skills/ |
| GitHub Copilot | ~/.copilot/skills/ | .github/skills/ |
| OpenCode | ~/.config/opencode/skills/ | .opencode/skills/ |
| Hermes Agent | ~/.hermes/skills/ | — |
大多数 agent 会读 .agents/skills/,所以放一份在那儿,Codex、Copilot、Cursor、OpenCode 能同时认到。
常用命令:
1
2
3
4
./install.sh # 自动检测并安装
./install.sh --list # 只列出探测结果和解析出的路径
./install.sh --dry-run # 预演,不落盘
./install.sh --uninstall # 按同样的目标清理
重复执行是幂等的,每个技能目录整体替换。
生图那条链
zimage.py 只用标准库,不需要 API key:
1
2
python3 skills/z-image-generation/scripts/zimage.py "a cat in a sunlit kitchen" \
--width 1024 --height 1536 --steps 12
--seed N 可以复现同一张图。在 ~/.hf_token 放一个 HuggingFace 的 read token,能提高 ZeroGPU 的共享配额——匿名访问很容易被排队卡住。
还有一道校验
不同 agent 对 front matter 的容忍度不一样,字段写多了可能被忽略甚至报错。所以加了 validate-skills.py,只用标准库:
1
python3 scripts/validate-skills.py skills/
它会检查 name 和 description 的长度约束、front matter 是否只用了可移植的键,以及目录名和 name 字段不一致时给出警告。
一点体会
SKILL.md 这个标准真正的价值不在格式,而在它把「能力」变成了可搬运的文件。工具会换,模型会换,但一个写清楚的技能目录,换个 agent 还能继续用。
仓库地址:poisonhs/image-gen-agent-skills,MIT 许可。