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-apigit 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-api)<a href="https://agentmods.dev/skills/anymouschina/tapcanvas/tapcanvas-api"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-api/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-api"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-api.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.00123 | $0.12636 |
| Opus 5.5 | $0.00049 | $0.05054 |
| Sonnet 5.5 | $0.00025 | $0.02527 |
| Haiku 4.5 | $0.00012 | $0.01264 |
Grade A, and why
tapcanvas-api 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 15d 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 — 243 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TapCanvas API
协议诊断或离线 Agent 评估需要直接测试已启用文本模型时,终端通过 llmChat endpoint 调用现有 /agents/llm/v1/chat/completions 用户鉴权代理,显式提供 model/messages 和所需协议字段。该调用不创建用户画布产物,也不自动执行返回的工具调用;不能作为一键成片的平行生产链。真实推理会正常计费,不切换模型或绕过自有网关。
TapCanvas 对外 API 的唯一 skill:统一入口、统一凭据、明确失败(不静默降级、不猜默认接口、不切旧 skill)。
用户只要视频节点时,在装配工作流调用中显式传 triggerPayload.onlyVideoNodes=true;该参数优先于章节默认设置。保留全章生产与真实素材链,验收视频节点、完整提示词和引用已持久化,不提交视频生成。
工作流恢复
当前新执行冻结 workflowMediaDeliveryPolicy.maxRetries=0:图片或视频供应商失败后保留精确回执和成功兄弟资产,不自动重提付费任务;已受理任务仍按原 taskId 对账。历史已冻结 maxRetries=1 的执行按原快照解释,不能把新策略倒灌到旧回执。需要再次生成失败项时,必须取得用户对精确失败项的明确授权,再使用下述 mediaRetries;不重复启动整条工作流。集合查询断连保留 waiting_external 与观察失败证据,由后台继续对账。
用户已授权重试失败图片时,executionResume 可传 mediaRetries:[{nodeId,itemId,taskId}],三项必须取自同一次 executionNodeRuns 的精确失败图片回执。服务端验证旧项 failed、旧 taskId 一致、没有产物及下游已受理副作用,再沿原执行族创建独立幂等的新图片尝试;旧失败节点和成功兄弟项保留。普通空对象 resume 不授权重复提交媒体。正在执行、已成功、身份不符或已有资产的项不能重试;不得通过新建完整工作流绕过。该模式与其他 resume 修订模式互斥,不修改模型、提示词或来源。
引用被判为废弃但公开删除清单没有对应节点时,用 chapterCanvasMembership --chapterId <真实章节ID> 读取只读归属诊断(需管理员身份并核对章节权限);核对精确节点/任务 ID、可见性、明确删除、执行脱离与保留事实。此接口不恢复节点、不允许据诊断自行复活用户已删除素材。
本地运维诊断已生成图片的读取/解码故障,可运行本 skill 的 scripts/inspect-execution-image-resources.mjs --profile local --execution-id <真实 executionId> --node-id <真实图片集合节点> --container <本地执行器容器名>。脚本仅通过正式 CLI executionNodeRuns 取得 asset-bindings,在指定执行器中探测原图片 HTTP 响应并解码,输出身份、状态码、MIME、字节数、哈希、尺寸及具体异常;不输出 URL/图片正文,不调用理解模型、不生成或回写资产。这是网络和解码事实,不是视觉语义理解。
已确认未提交媒体的计划结构错误,可用同族 tapcanvas_workflow_resume 的 planningRevision={nodeId,instruction,refreshAssetIds:[]} 交回精确作者修订。空列表明确表示保留全部冻结素材与观察,不刷新资产;修复指令依据本次真实失败证据,不更改用户目标、来源或模型。背景计划同 assetId 必须对应同一份完整计划,若作者需要不同背景状态则由作者赋予不同 ID,不由本地选择、合并提示词或覆盖旧结果。
带背景站位图沿正式图片工具先生成场景 Skill 编写的俯视底图,再调用 tapcanvas_render_blocking_diagram。新图传结构化 characters/compositionContract 和 backgroundNodeId;旧图新增背景版本传 sourceDiagramNodeId + backgroundNodeId。工具直接持久化并回读新节点,返回 nodeId/状态/构图来源,不返回图片 URL。底图和源图必须属于当前授权画布,原图与下游引用不改写。
若历史 BeatSheet 在同一字段的添加/删除间反复重试,先核对 Agent 提交 schema、Agent 校验和宿主校验实际加载的共享 clip-reference-selection 合同。字段缺失只修订同一候选;修复部署后沿原持久执行继续,不新建工作流、不复制输入素材、不把仍在修订说成供应商生成中。
What ships with it
9 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.
- config.json 265 B
- references/endpoint-reference.md 51 KB
- scripts/call-new-api-models.test.mjs 2.8 KB runs code
- scripts/call-workflow-launch.test.mjs 2.6 KB runs code
- scripts/call.mjs 31 KB runs code
- scripts/inspect-execution-image-resources.mjs 4.1 KB runs code
- scripts/internal-media-recovery-tick.mjs 1014 B runs code
- scripts/profile-config.mjs 2.8 KB runs code
- scripts/subscribe.mjs 5.2 KB runs code
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.
- 15d ago Changed b1c55f31e8ed
- 21d ago Changed 486578003b45
- 25d ago Changed · +4 lines 684d08a14a69
- 1mo ago Changed ff9da37eadd2
- 1mo ago Changed · +34 lines · +19 tokens per session b3c226986f13
- 1mo ago Changed · +25 lines 3977b38e0893
- 1mo ago First seen · 180 lines · 104 tokens per session scan A f9734893c00b
tapcanvas-api is a skill published in the GitHub repository anymouschina/TapCanvas (678 stars, last pushed yesterday), licensed MIT. It adds 123 tokens to every session and 12,636 once invoked, about $0.0005 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
ai-model-api-gateway-ai-hive
A workflow for designing an AI model API gateway, a service that gives applications one managed entry point to multiple AI model providers.
ai-api-gateway-migration-guide-ai-hive
A migration guide for teams comparing an AI API gateway, which connects software to multiple AI providers, with AI-HIVE.
ai-hive-api-token-hub
An enterprise gateway for connecting applications to multiple AI model providers through one interface. It covers tenant separation, API keys, usage limits, routing, task tracking, billing, logs and failover.
dramake
A production workflow for turning an idea, story, script, storyboard, or existing footage into a short AI drama or film. It covers planning, generation, voice, editing, and quality checks for formats such as vertical and horizontal video.
ai-api-failover-routing-ai-hive
A workflow for designing and testing fallback routes between AI APIs, meaning backup paths used when a model request fails.
mem0-oss-to-platform
Plan, then execute, a migration of a project from the mem0 open-source / self-hosted SDK (local Memory class) to the mem0 Platform / hosted SDK (MemoryClient). TRIGGER when: the developer wants to move, switch, or migrate mem0 off OSS/self-hosted to the hosted API, e.g. "migrate my mem0 setup to the platform", "switch…