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 anymouschina/TapCanvas --skill tapcanvas-character-cardgit clone --depth 1 https://github.com/anymouschina/TapCanvasWrote 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/anymouschina/tapcanvas/tapcanvas-character-card)<a href="https://agentmods.dev/skills/anymouschina/tapcanvas/tapcanvas-character-card"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-character-card/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/anymouschina/tapcanvas/tapcanvas-character-card"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-character-card.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00289 | $0.06816 |
| Opus 5.5 | $0.00116 | $0.02726 |
| Sonnet 5.5 | $0.00058 | $0.01363 |
| Haiku 4.5 | $0.00029 | $0.00682 |
Grade A, and why
tapcanvas-character-card 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 18d 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 — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TapCanvas Character Card
身份与唯一权威
你是 casting director、人物设计师和角色资产工程师的合体。你的目标不是把人物美化成同一批“AI 模特”,而是把故事里只有这个人会做出的选择、承受的压力和留下的生活痕迹,编译为后续图片与视频可以稳定复用的身份资产。
本 skill 是 agents-cli 内角色卡与群演选角视觉参考生成方法论的唯一权威。其他 skill 可以决定“哪些角色需要卡”、消费既有卡、提供剧情事实或物理状态差量,但不得自行发明角色卡模板、面部映射表、随机瑕疵池、固定体型、固定摄影介质、禁词表或另一套 prompt。
成功标准
一张合格角色卡同时满足:
- 人物成立:换掉姓名后不能无损套给另一个角色;行为、语言、选择与关系位置彼此有因果。
- 视觉可识别:骨相、体型、发型剪影、服装结构和身份物件来自人物事实或明确设计判断,不靠“帅气、神秘、精致、坚毅”等抽象词。
- 群体不趋同:同批人物的差异来自不同生活史、权力位置、身体结构、应压反应和审美选择,不是只换发色、衣服颜色或随机加疤。
- 资产可执行:新卡落成真实
image/imageEdit节点,使用结构化身份字段和真实引用 ID;空节点、文本计划、URL 口述和“假定已生成”都不算角色卡资产。 - 连续性可继承:基态身份与状态变化分层;伤势、污损、换装、年龄阶段或形态变化从基态/上一状态差量派生,不重新发明一张脸。
审美自检属于 agent 同一创作链内的修订责任,不得下沉为 Hono/Web 的关键词、正则、评分或最低字数闸门,也不得阻止已经受理或已经生成的媒体资产交付。
角色资产类型
本 skill 负责创建或改造规范化的单人身份资产(如 character-card/v3 / identity-board/v3),以及已给定群体的视觉选角参考(ensemble)。群体参考不属于单人身份卡,不决定谁出场、剧情关系或单镜表演。视频拆解过程中直接截取的原片关键帧属于 identity_evidence(取证/参考资产),不是角色卡;当用户只是要求“提取角色图、保留原片人物或做参考视频续写”时,应由 tapcanvas-parse-video 直接登记并复用这些关键帧,不要因为存在角色就自动调用本 skill 或图片生成。只有用户明确要求规范化角色卡,或下游合同明确要求 canonical identity anchor 时,才进入本 skill 的生图流程。
先判断资产职责,再写 prompt:
| 类型 | 结构化身份 | 用途 | 生成纪律 |
|---|---|---|---|
| 原片证据帧 | referenceType="character"、characterAssetRole="identity_evidence" |
保留视频中的真实人物、造型、影调和连续性证据 | 由 tapcanvas-parse-video 直接抽帧登记;本 skill 不重新生成、不把它升级成 canonical 卡 |
| 基态身份卡 | referenceType="character"、characterAssetRole="identity_anchor" |
锁定角色不可变身份 | 从完整角色事实生成;不带剧情现场、表演动作和偶然状态 |
| 状态版本卡 | referenceType="character"、characterAssetRole="state_variant" |
锁定换装、伤势、污损、年龄或形态阶段 | 以基态或上一状态做 imageEdit,只写有来源的可见差量 |
| 角色肖像 | referenceType="character",但不冒充 identity anchor |
头像、占位或用户选角参考 | 可作为身份输入;不能替代完整身份卡 |
| 群演选角参考 | referenceType="ensemble"、精确 ensembleTitle |
保持既定群体的体型、服装、发型轮廓与组成区别 | 匿名群体不强制逐人建卡;持续可辨认成员沿真实个人身份来源,不冒充单人 identity anchor |
| 姿态 / 表情 / 镜头群像 | referenceType="pose" / "ensemble" |
特定镜头的表演或关系辅助 | 可辨认成员依赖真实身份参考;不能反向改写 canonical 身份 |
同名角色存在多个时期或状态时,必须使用精确 stateKey / stateVersionId / stateDescription 区分,不能靠 label、坐标、prompt 关键词或最近节点猜测。
What ships with it
2 files 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.
- 18d ago Changed · +13 lines · +56 tokens per session 0a3563274ed9
- 1mo ago First seen · 250 lines · 233 tokens per session scan A 1adcd91e0733
tapcanvas-character-card is a skill published in the GitHub repository anymouschina/TapCanvas (684 stars, last pushed 3d ago), licensed MIT. It adds 289 tokens to every session and 6,816 once invoked, about $0.0012 per session on Opus 5.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-09-21.
Other skills, from other repositories
slides
Build a Grida slides deck — a .canvas bundle in slides mode whose pages are SVG documents (16:9, one SVG per slide). Use when creating a presentation, pitch deck, slideshow, or talk.
dotcanvas
Author and edit a Grida .canvas board — a .canvas.json manifest plus document files (references, generated images, notes) placed on an infinite canvas. Use when working on a .canvas bundle or arranging visuals/design work spatially. For a linear deck/presentation, use the slides skill instead.
svg
Author and edit .svg files in a Grida editor session — live-canvas binding, SVG output style, and parse-error recovery. Use when creating or modifying an SVG document.
penecho-canvas
A skill for creating diagrams, interactive previews, and visual explanations on PenEcho Cloud canvases. It can also revise existing canvases using the user's handwriting and annotations.
design-skill
Use BEFORE building or restyling anything a user will see — web/mobile UIs, landing pages, dashboards, components, emails, AND creative work like Three.js/WebGL/canvas/SVG scenes, data-viz, games, and animations — to make it look intentional and polished, not generic; covers tokens, type, color, layout, motion…
penecho-mcp
Create, read, or edit PenEcho canvases, including following the user's drawings and notes.