evidence-video

evidence-video is a skill for Claude Code, Codex from heristop/leclap. It costs 43 tokens per session (5,468 once invoked), scanned A, original, MIT.

A fixed workflow for producing a before-and-after video for user-interface changes in a pull request. It captures the changed behavior and builds the final MP4 from structured content.

In plain words
What is it for?
Use it to create and attach a UI behavior video to a pull or merge request using the provided capture and rendering pipeline.
Why use it?
It prevents ad hoc recordings and keeps the required evidence video in the project's expected format.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions Codex.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node demo-shop/record.mjs --out build/evidence/raw.

Good fit Use it to create and attach a UI behavior video to a pull or merge request using the provided capture and rendering pipeline.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/heristop/leclap
agentmods
npx agentmods add skills/heristop/leclap/evidence-skill

Made for: Claude Code, Codex.

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 evidence-video

README.md
[![agentmods](https://agentmods.dev/badge/skills/heristop/leclap/evidence-skill/github.svg)](https://agentmods.dev/skills/heristop/leclap/evidence-skill)
Your own site
<a href="https://agentmods.dev/skills/heristop/leclap/evidence-skill"><img src="https://agentmods.dev/badge/skills/heristop/leclap/evidence-skill/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 evidence-video

Your own site · 80×15
<a href="https://agentmods.dev/skills/heristop/leclap/evidence-skill"><img src="https://agentmods.dev/badge/skills/heristop/leclap/evidence-skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 43 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,468 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.00043 $0.05468
Opus 5.5 $0.00017 $0.02187
Sonnet 5.5 $0.00009 $0.01094
Haiku 4.5 $0.00004 $0.00547

Measured 3d ago against content hash 94ea9dd8c61c, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

evidence-video 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 3d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (build.py, wrap.py), 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.

examples/agentic-pr-video/evidence-skill/SKILL.md · 347 lines

How it starts

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

Evidence video: the LeClap house template

When a task calls for the house before/after evidence video, prepare it for the pull or merge request beside any stills. This skill covers that one workflow: the template behind the render, the script that composes it, and the traps between a Playwright capture and a finished clip.

The video is three parts, joined by 0.5 s fades:

  1. The slate. A LeClap card on the ink canvas: the mark, the ticket decoding in, the headline in the brand gradient (Oswald, word by word), the change in one line, and the BEFORE and AFTER fields. A sheen crosses the card, with a clap, just before the cut into the comparison.
  2. The comparison. BEFORE and AFTER play at the same time, in two exact 4:3 panes, each trimmed so the change lands on the same second. With freeze, both panes hold on that frame, a frame stroke in each side's colour rings the changed area and a one-line callout names what each side does.
  3. The closing card. The same card: what to review, the summary again, where to look first, and "Made with LeClap" typed in.

It is an example from the LeClap repo, written to be dropped into .agents/skills/evidence-video/ of the app under review. The look is LeClap's on purpose: see "The house look" below before changing it.

The published artifact is the final .mp4, played inline in the description. No GIF anywhere, not even as a preview or fallback: it is not the deterministic artifact, and it makes the real video easy to miss.


0. Do not hand-roll it. Run the two files in this directory.

python3 .agents/skills/evidence-video/build.py \
  --content <work>/content.json \
  --work <work> \
  --leclap "npx @leclap/cli"      # omit to render with the leclap MCP's compose_video instead

build.py and template.json are the house video together; neither is it alone. The template draws the slate, the closing card, the highlights and the clap. build.py composes the comparison clip (the two panes, their badges, titles, descriptions and callouts, the baked freeze), fills the template's fields with your copy, and checks every string against its box. An agent that copies template.json and hand-composes its own comparison ships something that looks plausible alone and is obviously not the house video beside a real one. If you did not run build.py, you did not build the house video.

Read the full file on GitHub · 347 lines

Files

What ships with it

4 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. 3d ago Changed · -129 lines · +3 tokens per session 94ea9dd8c61c
  2. 11d ago Changed · +4 lines · -77 tokens per session 177e2798048d
  3. 17d ago First seen · 472 lines · 117 tokens per session scan A 6ee26c69acee

Subscribe to this mod's changes

evidence-video is a skill published in the GitHub repository heristop/leclap (34 stars, last pushed yesterday), licensed MIT. It adds 43 tokens to every session and 5,468 once invoked, about $0.0002 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-29.

Related

Other skills, from other repositories

qiaomu-cut

A workflow for turning a brief video idea into a planned, sourced, edited, rendered, and checked video project.

joeseesun/qiaomu-cut-skill · 218 tokens

writing-react-native-storybook-stories

Create and edit React Native Storybook stories using Component Story Format (CSF). Use when writing .stories.tsx files, adding stories to React Native components, configuring Storybook addons (controls, actions, backgrounds, notes), setting up argTypes, decorators, parameters, or working with portable stories for…

storybookjs/react-native · 83 tokens

setup-react-native-storybook

Set up Storybook for React Native in Expo, React Native CLI, or Re.Pack projects. Use when adding Storybook to a project, configuring metro.config.js with withStorybook, creating .rnstorybook configuration files, setting up Storybook routes in Expo Router, configuring getStorybookUI, or adding the StorybookPlugin to a…

storybookjs/react-native · 102 tokens

uniwind

Uniwind — Tailwind CSS v4 styling for React Native. Use when adding, building, or debugging components in a React Native project that uses Uniwind classNames. Covers setup, Metro config, global.css, theming, className props, accent- color props, platform/data/state/responsive variants, CSS variables, custom utilities…

uni-stack/uniwind · 130 tokens

upgrading-react-native-storybook

Incrementally upgrade React Native Storybook across the supported migration paths. Use when upgrading @storybook/react-native projects from 5.3.x to 6.5.x, 6.5.x to 7.6.x, 7.6.x to 8.3.x, 8.x to 9.x, or 9.x to 10.x. Detect the currently installed Storybook version, choose only the next migration step, update…

storybookjs/react-native · 151 tokens

expo

Use when shipping a React Native app with Expo — EAS Build/Submit/Update, eas.json profiles and channels, config plugins, prebuild/CNG, runtime-version policy, OTA updates that never land, SDK upgrades, the New Architecture. NOT RN UI, navigation or native-module authoring (that is react-native), NOT a Dart app (that…

ericrisco/rsc-harness · 79 tokens