Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add meitu/meitu-skills --skill meitu-id-photogit clone --depth 1 https://github.com/meitu/meitu-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/meitu/meitu-skills/meitu-id-photo)<a href="https://agentmods.dev/skills/meitu/meitu-skills/meitu-id-photo"><img src="https://agentmods.dev/badge/skills/meitu/meitu-skills/meitu-id-photo/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/meitu/meitu-skills/meitu-id-photo"><img src="https://agentmods.dev/badge/skills/meitu/meitu-skills/meitu-id-photo.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 7 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 5 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 7 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 13 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 15 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 21 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 68 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium Rogue Agent · line 34 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00143 | $0.04177 |
| Opus 5 | $0.00072 | $0.02089 |
| Sonnet 5 | $0.00029 | $0.00835 |
| Haiku 4.5 | $0.00014 | $0.00418 |
Grade A, and why
meitu-id-photo scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 310 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Overview
本 skill 采用“证件照与写真套图”决策方式,但执行统一收敛到现有公开模板工具集:
- 标准证件照:
image-edit - 已有照片换证件底色:
image-edit - 单人写真 / 三宫格写真 / 主题场景写真:
image-portrait-generate
核心原则只有两条:证件照求“规格准确、身份不漂移、不过度美化”,写真求“像本人、风格明确、摄影质感成立”。
执行前应让用户清楚知道:本 Skill 会读取 Meitu 凭证、调用本地 meitu CLI、将人像照片、生成提示词和任务参数发送到 Meitu OpenAPI,并把生成结果写入 ./output/ 或 $VISUAL/output/meitu-id-photo/。证件照场景只收集当前任务必需的信息,非必要不持久化姓名、性别或其他身份字段。
Dependencies
- meitu-cli (>=2.0.6):
npm install -g meitu-cli@latest- 首选环境变量:
MEITU_OPENAPI_ACCESS_KEY/MEITU_OPENAPI_SECRET_KEY - 或预置凭证文件:
~/.meitu/credentials.json - 如需人工初始化本地凭证,可显式执行
meitu config set-ak --value "..."+meitu config set-sk --value "..."(会写入本地文件) - 验证:
meitu auth verify --json
- 首选环境变量:
- 环境变量:
MEITU_OPENAPI_TOOL_TASK_MODE=command
路径别名: 下文中
$VISUAL={OPENCLAW_HOME}/workspace/visual/
Core Workflow
Preflight -> Intent Routing -> Execute -> Refine -> Deliver -> [Record]
Preflight
meitu --version-> 未安装则提示npm install -g meitu-cli@latestmeitu auth verify --json-> 凭证无效则引导配置- Detect mode: cwd has
openclaw.yaml-> project mode; else -> one-off 检查$VISUAL目录 -> 确定 capabilities can_record = cwd 有 openclaw.yaml AND $VISUAL 存在(两者缺一即 false) - output_dir 解析(Preflight 内 MUST 完成):
Resolve output_dir: openclaw.yaml ->
./output/| else ->$VISUAL/output/meitu-id-photo/mkdir -p {output_dir}
硬约束:
{output_dir}禁止指向 skill 文件夹内部。output/ 永远在 skill 文件夹外部。 Execute 中所有--download-dir {output_dir}使用此处解析的路径。
Intent Routing
先判断用户要的是哪一类任务,只走一条路径:
| 用户需求 | 工具路径 |
|---|---|
| 标准证件照(指定规格) | image-edit |
| 已有证件照 / 人像只换白底蓝底红底 | image-edit |
| 写真照 / 艺术照 / 主题场景写真 | image-portrait-generate |
| 三宫格写真(同一人多 pose,同主题同服装) | image-portrait-generate |
边界:
- 多人合影 / 多主体场景重制:不由本 skill 处理
- 卡通化、插画化、3D 头像:转对应风格化能力
- 普通人像美化、局部修脸、轻修图:转通用人像修图能力
Execute
路径 A:标准证件照
适用条件:用户明确要一寸、二寸、护照、签证、身份证、驾照、入学、结婚证、工牌等标准规格,或者明确说“做证件照”。
执行规则:
- 缺少照片 -> 提示上传正面单人人像
- 用户只说“做证件照”没说规格 -> 追问规格,优先给常用选项:一寸 / 二寸 / 护照
- 背景色未指定 -> 按规格默认背景推断;推断不出时默认白底
- 证件照不追求美颜美型,只接受必要的换装、换底、合规裁切
- 国家 / 平台规格冲突时必须先澄清,例如“中国一寸”和“美国签证照”不能混用
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 310 lines · 143 tokens per session scan A e81492cb8590
meitu-id-photo is a skill published in the GitHub repository meitu/meitu-skills (32 stars, last pushed 15d ago), licensed MIT. It adds 143 tokens to every session and 4,177 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…