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-visual-focusgit 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-visual-focus)<a href="https://agentmods.dev/skills/anymouschina/tapcanvas/tapcanvas-visual-focus"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-visual-focus/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-visual-focus"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-visual-focus.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00069 | $0.01162 |
| Opus 5.5 | $0.00028 | $0.00465 |
| Sonnet 5.5 | $0.00014 | $0.00232 |
| Haiku 4.5 | $0.00007 | $0.00116 |
Grade A, and why
tapcanvas-visual-focus 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 27d 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.
What it actually says
TapCanvas 视觉重点提取(Visual Focus)
适用场景:
- 用户在当前画布/项目中有图片(图片节点或已上传资产),并希望你提取“视觉重点/关键要素/注意力在哪里/风格要点/拍摄布光要点”。
- 用户的目标来自对话:例如“复现这张图”“做同风格海报”“做分镜/视频风格对齐”“提炼这张图的视觉主轴”。
目标
- 不“看图编故事”:只基于图中可见内容;不确定就标注“推测/不清晰”。
- 把“视觉重点”拆成可执行清单:必须保留 vs 可以替换。
- 给出后续生成/改图可直接用的“提示词骨架”(必要时给英文 prompt + negative prompt)。
工作流(按对话驱动)
- 拿到图片输入
- 优先使用当前 flow 中图片节点的
nodeId。 - 其次使用上传图片 / 素材资产的
assetId(含素材具体版本 ID)。 - 工具不接受 URL 或 DataURL;用户只给了外链、
blob:或本地路径时,先让用户把图片上传到画布或素材库,再按节点/资产 ID 调用。
- 从对话中抽取“用户想要的视觉重点”
- 用途:复现/改图/海报/视频/风格对齐
- 强调:主体、材质、文字、光线、氛围、配色、构图、镜头
- 忽略:不想要的元素(背景、道具、文字等)
- 输出偏好:要中文总结、要 JSON、要英文 prompt、要负面词等
- 调用图片理解工具(必做)
- 使用
tapcanvas_analyze_image,nodeId与assetId二选一。 - 图片理解模型由部署配置固定(
IMAGE_UNDERSTANDING_MODEL_KEY),不得传模型、厂商或温度参数;模型不可用时工具会显式失败,不要改用其它工具"看图"。 - 若上游已经提供外部
prompt,直接透传;若未提供,再使用下方推荐模板。
建议给 tapcanvas_analyze_image.prompt 的模板(把对话目标填进去):
“你是资深视觉导演与提示词工程师。请基于输入图片,结合我的目标:<用户目标>,提取我需要的视觉重点。输出严格有效 JSON(不要代码块/多余文字),字段如下:
- summaryZh: 一句话画面摘要
- focusPoints: 数组,每项包含 pointZh(重点)、importance(1-5)、evidence(图中依据/位置特征)、mustKeep(true/false)、canVary(可替换/可变化的方向)
- composition: 构图与镜头(景别/视角/主体位置/景深与焦段倾向;推测需标注)
- lighting: 光线(主光方向、软硬、色温、阴影特征)
- colorPalette: 主色/辅色与氛围
- styleTags: 风格标签数组(摄影/插画/3D/动漫等)
- textInImage: 画面可见文字(不清晰就写不清晰)
- englishPrompt: 可复现英文提示词(只输出提示词正文)
- negativePrompt: 建议的反向提示词(可选)
注意:不要编造不存在的品牌/文字/认证信息;对不确定内容用‘推测/可能’。””
- 把结果变成“可执行”输出
- 如果返回是 JSON:优先按 focusPoints 输出,并补齐“必须保留/可以替换/提示词骨架”。
- 如果返回不是 JSON:按同样结构用中文整理一份(不要臆测)。
推荐输出模板(中文)
- 视觉重点(Top 5-10):(每条含重要度、必须保留/可替换)
- 必须保留:用于风格对齐/复现的关键要素
- 可以替换:在不破坏风格前提下可变化的要素
- 提示词骨架(用于生成/改图):中文要点 +(如需要)英文 prompt
- 反向提示词建议(可选)
调用示例(工具参数示意)
tapcanvas_analyze_image参数要点:nodeId: "<当前 flow 图片节点 ID>"或assetId: "<图片资产/素材版本 ID>"(二选一)prompt: "<按上面模板拼装的任务描述>"- 工具不返回图片存储 URL;需要引用图片时使用返回的节点/资产 ID。
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.
- 27d ago Changed · -4 lines · +3 tokens per session 4917abd06c25
- 2mo ago First seen · 73 lines · 66 tokens per session scan A 69fbd3e3571b
tapcanvas-visual-focus is a skill published in the GitHub repository anymouschina/TapCanvas (688 stars, last pushed yesterday), licensed MIT. It adds 69 tokens to every session and 1,162 once invoked, about $0.0003 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-08-30.
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.