tapcanvas-source-coverage

tapcanvas-source-coverage is a skill for Claude Code from anymouschina/TapCanvas. It costs 128 tokens per session (2,891 once invoked), scanned A, original, MIT.

A source-coverage checker for long texts, subtitles, interviews, videos, and collections of files. It records which parts were actually read and links them to evidence that can be checked later.

In plain words
What is it for?
Use it to verify that a long source was fully covered, audit chunked analysis, check time ranges or page ranges, and report partial or unverifiable delivery honestly.
Why use it?
It prevents a partial or failed reading from being reported as a complete review. It also reveals missing sections, duplicate overlaps, inaccessible material, and changes between source versions.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Good fit Use it to verify that a long source was fully covered, audit chunked analysis, check time ranges or page ranges, and report partial or unverifiable delivery honestly.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/anymouschina/tapcanvas/tapcanvas-source-coverage
Install

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.

Any agent
npx skills add anymouschina/TapCanvas --skill tapcanvas-source-coverage
Clone the repo
git clone --depth 1 https://github.com/anymouschina/TapCanvas

Made for: Claude Code.

Wrote 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.

agentmods badge for tapcanvas-source-coverage

README.md
[![agentmods](https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-source-coverage/github.svg)](https://agentmods.dev/skills/anymouschina/tapcanvas/tapcanvas-source-coverage)
Your own site
<a href="https://agentmods.dev/skills/anymouschina/tapcanvas/tapcanvas-source-coverage"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-source-coverage/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.

agentmods 80×15 button for tapcanvas-source-coverage

Your own site · 80×15
<a href="https://agentmods.dev/skills/anymouschina/tapcanvas/tapcanvas-source-coverage"><img src="https://agentmods.dev/badge/skills/anymouschina/tapcanvas/tapcanvas-source-coverage.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 128 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,891 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00128 $0.02891
Opus 5.5 $0.00051 $0.01156
Sonnet 5.5 $0.00026 $0.00578
Haiku 4.5 $0.00013 $0.00289

Measured 1mo ago against content hash b72116836586, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

tapcanvas-source-coverage 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.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/validate-coverage.mjs), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

apps/agents-cli/skills/tapcanvas-source-coverage/SKILL.md · 163 lines

How it starts

The opening of the file, as written. The whole thing — 163 lines — stays where its author put it; the contents beside it link to each section on GitHub.

TapCanvas Source Coverage

使命

你是来源覆盖审计员,不是内容结论的裁判。你的职责是回答一个更基础的问题:这次分析声称覆盖的材料,是否真的都进入了可回查的证据链?

完整不是“模型说看完了”,而是声明范围、实际读取范围和交付结论三者能逐段对账。语义判断仍由调用本 skill 的研究员、审稿人或导演完成;本 skill 不根据文本表面特征决定情节、价值或风险。

成功标准

  • 每个来源都有稳定 sourceId、唯一计量单位和明确 expectedRange;
  • 每个 coveredRange 都绑定真实 evidenceIds,后来的人能回到读取结果或工具调用;
  • 分块并集覆盖声明范围,重叠与缺口都可计算;
  • 读取失败、不可访问和主动缩小范围不会被“总结得很完整”掩盖;
  • 最终状态只表达覆盖事实,不越权证明内容结论质量;
  • 用户要求的交付范围与 coverage verifier 实际核验范围一致。
  • 交付由 runtime 的 expectedDelivery -> deliveryEvidence -> deliveryVerification 链明确收口;用户可见正文只需忠实报告结果与限制,不机械泄露内部账本。

操作回环

1. 先锁定期望交付范围

把用户要求编译成 expectedDelivery:来源有哪些、每个来源从哪里到哪里、最终是否允许部分交付。不要先分块再反推范围;那会让未读取的尾部从合同里消失。

范围以真实材料支持的单位表达:

  • 文本优先字符偏移、段落号或页码;
  • 字幕与视频使用秒或稳定时间码;
  • 多文件集合使用文件清单加每个文件自己的范围;
  • 离散记录使用 item index。

同一来源只能使用一种单位。无法知道总长度或总时长时,把状态设为 unverifiable,先取得真实元数据;不得用估计值制造完整范围。

2. 记录来源身份

为每个来源记录能防止串片、串章或版本漂移的身份:真实 URL、节点 ID、文件路径、内容 hash、章节 ID、资产 ID 或工具返回的等价标识。标题和用户口头简称只能作标签,不能单独证明是哪一版来源。

来源在处理中发生变化时,创建新 sourceId 或版本,不把新旧范围合并成同一账本。

3. 规划分块

先服从真实工具的上下文、字节、时长和文件限制,再沿自然边界切分。重叠只解决跨边界连续性,长度取决于任务所需上下文,不采用固定“200 字”或固定百分比。

计划必须覆盖全部 expectedRange。并发数限制只能控制批次,不能把后续块从计划中删除;本轮资源不足以完成时,交付已完成块并显式标为 partial。

4. 建立证据账本

每个成功读取区间记录:

  • start/end;
  • 对应 evidenceIds;
  • 可选的 chunk ID 与来源锚点;
  • 读取失败则进入 failedRanges,不能进入 coveredRanges。

重叠块出现相同结论时,按来源锚点和事实对象合并。两个 chunk 都提到同一句,不等于两份独立证据。

5. 运行结构校验

完整读取 references/coverage-contract.md,按其中 JSON 合同组装账本。将账本传给:

node apps/agents-cli/skills/tapcanvas-source-coverage/scripts/validate-coverage.mjs <ledger.json>

也可从 stdin 验证:

node apps/agents-cli/skills/tapcanvas-source-coverage/scripts/validate-coverage.mjs -

退出码 0 表示声明范围在结构上完整覆盖;1 表示合同有效但存在缺口;2 表示账本本身无效。校验器只合并数值区间、检查边界和证据 ID,不读取正文、不判断语义。

6. 形成交付验收

按三层链路收口:

  1. expectedDelivery:用户要求覆盖哪些真实来源与范围;
  2. deliveryEvidence:真实读取、工具调用和区间账本;
  3. deliveryVerification:结构校验结果,以及具体领域 skill 对语义产物的自检结果。

只有三者范围一致且 coverage 状态为 complete,才能声称“完整覆盖”。结构完整但领域结论尚未复核时,只能说“来源区间已覆盖”,不能说“分析已经正确”。

Read the full file on GitHub · 163 lines

Files

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.

Changes

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.

  1. 1mo ago First seen · 163 lines · 128 tokens per session scan A b72116836586

Subscribe to this mod's changes

tapcanvas-source-coverage is a skill published in the GitHub repository anymouschina/TapCanvas (684 stars, last pushed 2d ago), licensed MIT. It adds 128 tokens to every session and 2,891 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-09-21.