文章

做了一套跨 agent 的 AI 生图技能包

做了一套跨 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 许可。

本文由作者按照 CC BY 4.0 进行授权