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-generate-shot-placeholdersgit 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-generate-shot-placeholders)<a href="https://agentmods.dev/skills/anymouschina/tapcanvas/tapcanvas-generate-shot-placeholders"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-generate-shot-placeholders/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-generate-shot-placeholders"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-generate-shot-placeholders.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.00165 | $0.14465 |
| Opus 5.5 | $0.00066 | $0.05786 |
| Sonnet 5.5 | $0.00033 | $0.02893 |
| Haiku 4.5 | $0.00016 | $0.01447 |
Grade A, and why
tapcanvas-generate-shot-placeholders 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 1mo 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 — 644 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TapCanvas Generate Shot Storyboard Design Boards
职责边界:本 skill 是「设计板落地执行器」——把镜头表落成画布上的
kind=image设计板节点(intent=generate_shot_placeholders)。拆镜/镜头表方法论(调度/景别/轴线/焦段/运镜/节拍)的真相源是tapcanvas-storyboard-expert(含镜头语言规则.md);本 skill 不另立一套拆镜规则,冲突以 storyboard-expert 为准。分镜表格列定义(13 列)的唯一权威也是tapcanvas-storyboard-expert § 分镜表格输出格式;本 skill 的shotText(§6.2)与图片 TABLE HEADER ROW(§6.1)均须与该 13 列规范对齐,不得另立冲突列序。
0. 调用合同(一句话)
读取源文本、章节上下文与用户生成参数,由 Agent 拆分完整设计板清单。每板完成镜头和引用设计后,通过 tapcanvas-api 当前工具目录读取 schema,使用 tapcanvas_image_generate_to_canvas 提交真实生图,不必先写完全部板。独立板可同轮并发;有前置视觉依赖的板等待真实资产就绪。已受理或成功的节点按原 ID 对账,不能重新提交。用户明确只要占位或文本时才只创建节点。
创建图片节点不等于生成图片,tapcanvas_flow_patch 只证明画布写入。结束前逐项核对清单的真实复用证据、受理回执与未执行原因;第一张受理不能结束整章请求。最终如实报告已提交、实际完成与剩余项,不调用已退役的 finalize 工具。技能中的创作规范用于同链自检与修订,不得成为运行时语义硬闸。
所有量化与必填项见 §1「硬约束速查表」。本节只解释流程顺序。
1. 硬约束速查表(单一权威)
下表列出本 skill 的全部强制约束。本文件其余章节均不得重复约束数值,只解释如何满足。任一项未达标必须修改后再进行交付核对。
1.1 工具与节点
| 项 | 约束 |
|---|---|
| 执行工具 | 以当前工具目录与动态 schema 为准;生图用 tapcanvas_image_generate_to_canvas,结构写入用 tapcanvas_flow_patch |
| 工具事实 | 不调用当前目录不存在的动作;允许读取动态 schema |
| 结果说明 | 依据真实节点、任务与资产证据区分已创建、已提交、已完成和未执行 |
节点 kind |
必须 "image",禁止 "text",禁止空壳节点 |
imageModel |
generationConfig.imageModel;缺失时 "gpt-image-2" |
imageSize |
generationConfig.imageSize;缺失时 "4K" |
aspect |
必须 "16:9",禁止 "9:16"(分镜表格是横板;最终视频比例和这里无关) |
prompt 格式 |
由 §2.5 场景类型决策确定:boardFormat=table 时必须以 Film storyboard table — 开头(§6.1 模板);boardFormat=design_doc 时必须以 Film production design document — 开头(§6.1b 模板)。禁止写成单张场景描述或任何不含结构化面板的 prompt。⚠️ 当 styleTone 为写实/电影类(clean-real/cinematic)时——无论 fullColor 与否——一律选 boardFormat=design_doc(Film production design document — 开头),避免 storyboard 一词触发 gpt-image-2 输出动漫插画风格(本仓 CV#11 实测:裸 storyboard/分镜板字样会让写实类偶发画成二次元,详见 tapcanvas-storyboard-expert §3 CV#11);仅当确属「非写实的黑白分镜草图」需求才用 Film storyboard table —。fullColor 只决定填色与否,不再单独作为避词触发条件——触发判据是 styleTone。** |
使用 tapcanvas_image_generate_to_canvas 直接出图时 |
同样必须遵守本 §1.1 全部约束(aspect=16:9、prompt 以 Film storyboard table — 或 Film production design document — 开头、13 列格式、有 shotText 字段)。禁止写"3 large panels, no lettering, no captions"此类纯视觉概念图格式——那不是分镜表,没有运镜/站位/时长信息,无法驱动视频生成。** |
| 画面渲染风格 | 默认:黑白线稿(画面 分镜格:纯黑色轮廓线稿,线条清晰锐利,零填色、零灰调、零晕染、零渐变;背景为白底黑线或黑底白线 chalk 风;禁止任何彩色像素渗入)。variantParams.fullColor=true 时切换为 §2.2 全彩 CG 模式。 |
What ships with it
3 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.
- 1mo ago First seen · 644 lines · 165 tokens per session scan A 5eb2278a822a
tapcanvas-generate-shot-placeholders is a skill published in the GitHub repository anymouschina/TapCanvas (684 stars, last pushed 3d ago), licensed MIT. It adds 165 tokens to every session and 14,465 once invoked, about $0.0007 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-22.
Other skills, from other repositories
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.
last30Days
Resolve "last30Days" to a concrete ISO date range relative to your run time — a rolling 30-day window ending today. Returns inclusive civil dates plus exact UTC instants so you have temporal context without computing dates by hand. Read-only: no writes, no network. Use before a "last 30 days" / trailing-month task…
thisWeek
Resolve "thisWeek" to a concrete ISO date range relative to your run time — this week so far (Monday → today). Returns inclusive civil dates plus exact UTC instants so you have temporal context without computing dates by hand. Read-only: no writes, no network. Use before a week-to-date task (this week's activity…
short-drama-storyboard
A workflow for turning a Chinese short-drama script and its visual facts into a shot-by-shot storyboard with frozen starting-frame prompts.
md-fetch-summarize
Fetch a URL and return a concise markdown summary of its content. Read-only: no files are written; the summary is returned as output only. Use when asked to "fetch and summarize", "summarize this URL", "what does this page say", or "get the content of ". Proactively suggest when the user pastes a URL and asks what it…
social-post
A workflow for planning, writing, publishing, and evaluating social-media posts in the user's established voice. It covers Facebook, Instagram, YouTube, Threads, and X, including selected comment operations.