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 zhuanggenhua/BoardGame --skill e2e-animation-evidencegit clone --depth 1 https://github.com/zhuanggenhua/BoardGameWrote 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/zhuanggenhua/boardgame/e2e-animation-evidence)<a href="https://agentmods.dev/skills/zhuanggenhua/boardgame/e2e-animation-evidence"><img src="https://agentmods.dev/badge/skills/zhuanggenhua/boardgame/e2e-animation-evidence/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/zhuanggenhua/boardgame/e2e-animation-evidence"><img src="https://agentmods.dev/badge/skills/zhuanggenhua/boardgame/e2e-animation-evidence.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.00093 | $0.03819 |
| Opus 5.5 | $0.00037 | $0.01528 |
| Sonnet 5.5 | $0.00019 | $0.00764 |
| Haiku 4.5 | $0.00009 | $0.00382 |
Grade A, and why
e2e-animation-evidence 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 17d 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 — 151 lines — stays where its author put it; the contents beside it link to each section on GitHub.
E2E Animation Evidence
把连续动效的“跑过了”收敛成可复核的真实动态证据。该 skill 是项目内动效录制与 GIF 证据的唯一执行入口;它不替代:
animation-effects:定义 FX 的职责、时序和表现质量;e2e-verification:定义真实入口、状态注入、截图资格和 E2E 证据边界;ui-audit-loop:负责玩家视角的图面 / 动效 PASS 或 REVISE;show-image-to-user:负责把已通过验收的 GIF / 录屏 / 图片交给用户查看。
唯一真相源与吸收边界
- 本文件是 BoardGame 项目动态证据录制的
canonical-source。 animation-effects、e2e-verification和各游戏专项只做入口、适配或证据引用,不复制本文件的完整录制 SOP。- 当前项目继续使用已有 Playwright runtime、正式游戏路由、现有截图 / evidence 目录和本地网页查看器;不因为吸收外部方法而新增第二个测试框架、第二套录制器或第二个查看器。
- 外部候选只吸收可迁移的方法:持久浏览器上下文、基于语义状态采集、过程媒体与测试结果绑定、原始帧保留、动态时间保真和失败后可追溯。
- 不吸收外部候选的仓库结构、命令、浏览器插件、UI 组件、临时注入方式或与 BoardGame 现有入口冲突的证据格式。外部候选与吸收裁决见
references/absorbed-patterns.md。
录制前锁定
开始录制或修改测试前,先按
conversation-handoff-target-lock 锁定通用四项前提。本 skill 只补动效专属合同:动作语法、FX cue / tuning、操作者视角、目标视口、证据目录,以及来源 / 过程 / 命中 / 收口四段是否必须自然流程。前提未锁定时,只做定位和证据盘点,不录制、不改实现、不把代表态命名成完整流程。
录制合同
1. 真实页面与真实动作
- 录制必须来自正式游戏页面,而不是孤立组件、静态 mock、预览页、标注图或只渲染 FX 的诊断页。
- 玩家可完成的动作必须由真实浏览器点击、拖拽、选择和确认产生;测试不能用内部状态直接替玩家完成本轮要证明的决策。
- 状态注入只允许建立与本轮动作无关的前置条件,或控制随机 / 骰子结果本身。注入法师、法术、目标、资源等前置条件时,必须在 evidence 中标为
representative-state,不能写成“从新局自然走到攻击”。 - 要证明完整自然流程时,必须从正式入口走到动作发生;要证明特效局部合同时,可以使用正式页面代表态,但标题、manifest 和汇报必须明确是代表态。
- 测试辅助不得给玩家 UI 注入
source、target、legal、selected等解释标签,也不得提供只有测试存在的点击按钮来替代真实对象本体。
2. 四段动态证据
每个连续动效至少覆盖同一条动作链的四段:
- 来源唤醒:玩家刚完成合法动作,来源对象仍可辨;
- 过程 / 路径:能看出对象如何移动、蓄力、投射、斩击、爆发或发生其它规则相关变化;
- 命中 / 结果:目标本体、命中反馈、骰子 / 伤害 / 状态结果同时成立;
- 稳定收口:残留 ghost、临时高亮、阻塞层和结果层退场,主界面恢复可继续操作。
同格效果可以没有路径段,但不能省略来源、结果和稳定收口。只截“来源出现”和“最终静态结果”不能判为动态证据。
3. 独立动作语法覆盖
- 远程攻击和近战攻击必须分别录制、分别等待、分别验收,不能用远程 GIF 推断近战已正确。
- 一个 GIF 只能证明一个连续动作族的一条动作链;召唤、远程攻击、近战攻击、治疗、推斥、传送等不同动作语法必须各自独立录制、独立等待来源 / 过程 / 结果 / 收口、独立生成 GIF 和 PASS 条目,不能把多个动作串在一个混合 GIF 里再宣称“全部动效已覆盖”。
- 选择模式、响应窗口、目标高亮、确认 / 拒绝、阶段推进等没有独立连续运动语义的交互,不强行伪造成 GIF;改用按真实玩家动作顺序排列的静态截图组或短录屏,并在覆盖矩阵中逐项列出触发前、交互出现、玩家提交、结果和收口。
- 普通移动不复用远程攻击 / 飞弹 / 投射物语法;移动是否需要轨迹必须由规则语义和现有 tuning 决定。
- 传送属于直接位置切换语义:只能表现来源闪现 / 消散与目标落点 / 到达,不得复用
BoardProjectilePathPreset、子弹、飞行路径、travel 中间态或路径中间爆发。E2E 必须同时反向断言传送没有 travel 节点,并证明结算后对象已位于目标区域。 - 骰子结果层只表达骰子 / 随机结果;行动、守卫、就绪、资源和其它单位状态继续由具体单位本体、单位附属 token 或玩家板上的正式承载对象表达。
ready / 就绪不是骰子内容,也不是全局攻击反馈;截图和断言必须能指出它属于哪一个单位 / 玩家对象。 - 行动 token、守卫 token、资源条、生命值和单位本体不能因为攻击结果层出现而被误读成骰子内容,也不能覆盖骰子、目标或当前合法交互对象。录制前后都要核对层级和几何关系。
- 攻击过程期间,来源和目标本体必须保持可辨;不能因为特效挂载、遮罩、放大卡、骰子或提示卡把正在证明的单位遮住。
What ships with it
1 file 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.
- 17d ago Changed · +3 lines 4ff9f4cd291a
- 27d ago Changed · +4 lines 2f0ed5de3657
- 28d ago Changed · +3 lines 3ad1951e6a25
- 1mo ago First seen · 141 lines · 93 tokens per session scan A b6fd62a85592
e2e-animation-evidence is a skill published in the GitHub repository zhuanggenhua/BoardGame (24 stars, last pushed yesterday), licensed MIT. It adds 93 tokens to every session and 3,819 once invoked, about $0.0004 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-24.
Other skills, from other repositories
develop-web-game
Use when Codex is building or iterating on a web game (HTML/JS) and needs a reliable development + testing loop: implement small changes, run a Playwright-based test script with short input bursts and intentional pauses, inspect screenshots/text, and review console errors with rendergametotext.
test-playable-web-games
Test a playable browser game end to end with deterministic fixtures and real browser evidence. Use for gameplay QA, regression testing, controls, accessibility, responsive/mobile testing, save flows, console checks, performance smoke tests, and release verification.
godot-e2e
Write and run E2E (end-to-end) game tests using the godot-e2e framework. Python controls a live Godot game over TCP — Locator-based semantic queries, expect() auto-retry assertions, and engine log capture make failures self-diagnosing. Use this skill whenever you need to: Test actual gameplay: player movement…
threejs-qa-release
Verify and release Three.js browser games: playtest QA, automated bot playtests, mobile and responsive checks, production builds, static-hosting base paths, debug gating, bundle review, screenshots, visual regression baselines, canvas-pixel inspection with measured metrics, and release risk reports.
pie-testing
Start, stop, and query Play-In-Editor (PIE) sessions for runtime testing of Blueprints, gameplay logic, widgets, AI, and any in-game behavior. Use when the user asks you to "play", "test", "run", "PIE", "start/stop the game", or otherwise needs a live game world to validate changes.
visual-qa
Inspect Godot screenshots or short frame sequences for acceptance issues. Use after capturing a scene, when checking camera framing, missing assets, UI overlap, collision visualization, animation, or a black/empty viewport.