chart-animation

chart-animation is a skill for Claude Code, Codex from 2233admin/design-pipeline. It costs 101 tokens per session (2,680 once invoked), scanned A, original, MIT.

A method for turning data into an animated chart, such as bars changing rank, a line being drawn, or a number counting upward. It calculates the displayed values for each video frame so the result stays consistent.

In plain words
What is it for?
Use it for animated statistics, bar-chart races, ranking changes, line or area reveals, number counters, and videos generated from CSV files.
Why use it?
It keeps chart movement tied to the data and video timeline, avoiding flicker or timing problems caused by separate animation clocks. One design can be reused with multiple datasets.

Skill for Claude CodeCodex

Part of the data-animation-skills plugin — 3 skills shipped together

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.

agentmods
npx agentmods add skills/2233admin/design-pipeline/chart-animation
Any agent
npx skills add 2233admin/design-pipeline --skill chart-animation
Clone the repo
git clone --depth 1 https://github.com/2233admin/design-pipeline

Made for: Claude Code, Codex.

Or install data-animation-skills, the plugin that ships this one along with the rest of its 3 skills.

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 chart-animation

README.md
[![agentmods](https://agentmods.dev/badge/skills/2233admin/design-pipeline/chart-animation.svg)](https://agentmods.dev/skills/2233admin/design-pipeline/chart-animation)
Your own site
<a href="https://agentmods.dev/skills/2233admin/design-pipeline/chart-animation"><img src="https://agentmods.dev/badge/skills/2233admin/design-pipeline/chart-animation.svg" alt="Measured on agentmods" height="20"></a>
Per session 101 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,680 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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.00101 $0.02680
Opus 5 $0.00051 $0.01340
Sonnet 5 $0.00020 $0.00536
Haiku 4.5 $0.00010 $0.00268

Measured yesterday against content hash 4a77aa776f45, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

chart-animation 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 yesterday.

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.

skill/references/iart-motion-skills/upstream/data-animation-skills/skills/chart-animation/SKILL.md · 174 lines

How it starts

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

Data Video

Turn a dataset into a chart that moves with intent: a bar chart race, a growing line, a count-up stat. The craft is mapping numbers to pixels every frame, easing the value (not just the opacity), and pacing the data so a viewer can actually read it.

When to use

  • Bar chart race / ranking-over-time (the headline use case).
  • Animated line/area reveal, animated counters and number tickers.
  • One chart design rendered across many datasets (template × CSV → N videos).

The one rule that prevents 90% of bugs

Drive every value from the current frame — never from wall-clock time or a library's internal animation loop. A video frame is rendered deterministically; if a bar's height comes from a CSS transition or a D3/GSAP/Chart.js animation, it flickers or desyncs because the renderer and the animation clock disagree. Compute the displayed value as a pure function of frame.

import { useCurrentFrame, interpolate } from "remotion";
const frame = useCurrentFrame();
const value = interpolate(frame, [0, 60], [0, 1287], { extrapolateRight: "clamp" });

In Remotion, disable all third-party chart animations (animation: false in Chart.js, no D3 .transition()) and let useCurrentFrame() be the only clock. D3 is still great for scales and shapes (scaleLinear, scaleBand, line()) — just not its timers.

Map data → pixels

A chart is two functions: a value scale and a frame interpolator. Keep them separate.

Layer Tool Job
Value scale scaleLinear / scaleBand data units → px (height, x-position)
Frame interpolation interpolate / spring frame → eased progress 0→1
Display value round + Intl.NumberFormat progress → the number a human reads
import { scaleLinear } from "d3-scale";
const yScale = scaleLinear().domain([0, maxValue]).range([0, chartHeight]);
const barHeight = yScale(interpolate(frame, [0, 45], [0, datum.value], { extrapolateRight: "clamp" }));

Easing value changes

Read the full file on GitHub · 174 lines

Files

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.

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. yesterday First seen · 174 lines · 101 tokens per session scan A 4a77aa776f45

Subscribe to this mod's changes

chart-animation is a skill published in the GitHub repository 2233admin/design-pipeline (7 stars, last pushed 2d ago), licensed MIT. It adds 101 tokens to every session and 2,680 once invoked, about $0.0005 per session on Opus 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-04.

Related

Other skills, from other repositories

omd-apply

프로젝트 DESIGN.md를 UI/시각 작업의 brand context로 적용. 컴포넌트·색상·폰트·레이아웃 수정 같은 구체적 요청과 톤·분위기 표현 — KR '좀 더 따뜻하게', EN 'make it warmer/cooler', 日本語「もう少し暖かく」, 繁體中文「更溫暖一點」 — 모두에 트리거. DESIGN.md 부재 시 omd:init 우선. 화면 전체 신규 디자인은 omd:harness, 교정 기록은 omd:remember.

kwakseongjae/oh-my-design · 129 tokens

omd:codex-image

이미지 placeholder를 동적으로 materialize. Codex 채널에서는 내장 image-generation primitive 호출, Claude Code 채널에서는 omd-asset-curator로 fall back, OpenCode에서는 spec dump. HTML/MD의 블록을 단일 source of truth로 사용. '이미지 생성해줘', '플레이스홀더 채워줘', '코덱스로 이미지 만들어' 류 트리거.

kwakseongjae/oh-my-design · 104 tokens

omd:experiment-gallery

N개 brand experiment를 한 화면에서 비교하는 gallery index.html을 생성. 각 카드는 brand name, wow rating, multi-turn refinement deltas, iframe scaled preview, standalone link 포함. '결과물 한 번에 보여줘', '갤러리 만들어', '5개 비교 뷰', 'experiment 결과 정리' 류 트리거. omd:harness가 N개 brand batch 작업 끝낸 직후 자동 호출되거나 사용자가 명시적으로 호출.

kwakseongjae/oh-my-design · 107 tokens

omd-lab-02-design-harness

Skill "omd-lab-02-design-harness" from kwakseongjae/oh-my-design, covering omd lab #02 — design harness refinement, 왜, 디렉토리 구조, lab run 프로토콜 and 새 v 정의 (lab 운영자 — 사용자 또는 claude).

kwakseongjae/oh-my-design · 13 tokens

omd:locale-adapter

한국어 canonical 문서·UX copy를 EN/JA/ZH-CN/ZH-TW로 번역이 아니라 locale adaptation한다. thesis·사실·명령어는 보존하되 문장 순서, 주어, register, 제품 용어와 호흡은 각 언어에서 다시 쓴다. '다국어 적용', '영문/일문/간체/대만어 버전', 'locale 문서 만들어줘' 요청에 사용한다.

kwakseongjae/oh-my-design · 109 tokens

omd:update

Safely update an existing oh-my-design installation in place and verify it afterward. Use when the user asks to update, upgrade, refresh, reinstall, or check whether their OmD skills, agents, hooks, or reference catalog are current.

kwakseongjae/oh-my-design · 52 tokens