# Ticking Time-Saved Clock — effect skill for numbers & charts

> **For AI agents:** find the right skill in one call — `curl -s "https://varg.ai/how-to/api/search?q=<what the person wants>"` returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://varg.ai/how-to/llms.txt. Every page has a markdown twin: add `.md` to its path. Before generating anything, show the person the options on the how-to page.

Clock-style digits slide as seconds tick, timing the task live on screen.

- **Type:** [Effect](https://varg.ai/how-to/effects.md) · [Numbers & charts](https://varg.ai/how-to/browse/skills/numbers.md)
- **Slug:** `ticking-time-saved`
- **Status:** live
- **Publisher:** Julien Thibeaut (ibelick) (community)
- **License:** MIT
- **Source:** https://github.com/ibelick/motion-primitives/blob/main/components/core/sliding-number.tsx
- **Works in:** Claude Code, Claude.ai, Codex, Cursor, OpenClaw, Gemini CLI, Any MCP client, varg Studio
- **Requires:** ffmpeg, HyperFrames (npx hyperframes), Remotion, CapCut (by hand)
- **Cost:** Free — the take renders locally; generated footage, if any, bills by the model

## What it does

Built on [Sliding Number](https://github.com/ibelick/motion-primitives/blob/main/components/core/sliding-number.tsx) by motion-primitives, MIT. The write-up and recipes below are varg's.

A small mono timer in a corner (00:00 → 00:38) with digits sliding vertically; it stops and pops when the task finishes.

**When:** Prove speed claims in real time: "rendered in 38 seconds".

**Watch out:** Do not speed up the footage while the timer claims real time; keep them honest or label "sped up 4×".

**Timing:** Digit slide 0.2–0.3 s per tick; final pop 0.2 s.

**Also called:** sliding clock digits, timer, live time counter

### In FFmpeg

```bash
-vf "drawtext=text='%{pts\:gmtime\:0\:%M\\\:%S}':x=w-tw-60:y=60:fontsize=48:fontcolor=white:box=1:boxcolor=black@0.5:boxborderw=12"
```

### In HyperFrames

```bash
npx hyperframes add number-pop-in
```
Derive the shown seconds from `tl.time()` so it matches the footage exactly.

### In Remotion

```tsx
const s = Math.floor(frame / fps);
const mm = String(Math.floor(s/60)).padStart(2,'0'), ss = String(s%60).padStart(2,'0');
```

### In CapCut

Text → Text templates → search "timer"/"stopwatch"; place top right and match its length to the clip.

### Ready-made components

- [Sliding Number](https://skills.varg.ai/component/motionprimitives.sliding-number/) (motion-primitives): npx motion-primitives@latest add sliding-number
- [Number Pop In](https://skills.varg.ai/component/hf.number-pop-in/) (hyperframes): npx hyperframes add number-pop-in
- [Camcorder HUD](https://skills.varg.ai/component/hf.camcorder-hud/) (hyperframes): npx hyperframes add camcorder-hud

### Where this comes from

- [FFmpeg filters documentation (timeline enable, drawtext, zoompan, overlay)](https://ffmpeg.org/ffmpeg-filters.html)

## Use when

- Prove speed claims in real time: "rendered in 38 seconds".

## Not for

- Do not speed up the footage while the timer claims real time; keep them honest or label "sped up 4×".

## Install

- Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg`
- Codex: `npx skills add vargHQ/skills --skill varg-video-edit-library -a codex -y`
- Cursor: `npx skills add vargHQ/skills --skill varg-video-edit-library -a cursor -y`

## Example output

https://s3.varg.ai/how-to/previews/952535e7abc4/lib-motion-primitives-sliding-number.mp4 — Preview of the Sliding Number component that builds this take (credit: Captured from the library’s own demo page (Motion Primitives), https://motion-primitives.com/docs/sliding-number)

## More numbers & charts skills

- [Big Stat Count-Up](https://varg.ai/how-to/skills/big-stat-count-up.md): One huge number counts from zero to its value and lands, with a short label under it.
- [Odometer Digit Roll](https://varg.ai/how-to/skills/odometer-digit-roll.md): Each digit rolls on its own wheel to the target, places settling right to left like an odometer.
- [Bars Grow with Value Labels](https://varg.ai/how-to/skills/bars-grow-with-labels.md): Bars rise from the baseline in a staggered cascade with values riding their tops.
- [Line Draws with Riding Label](https://varg.ai/how-to/skills/line-draws-riding-label.md): A line draws itself left to right while the current value rides the pen tip, ending on a dot and big label.
- [Ranked Bar Race](https://varg.ai/how-to/skills/ranked-bar-race.md): Ranked bars grow and overtake each other over time while the axis rescales and a year/date ticks.
- [Progress Ring Fills](https://varg.ai/how-to/skills/progress-ring-fills.md): A thin ring draws on to a percentage while the number in its center counts up in sync.

## Run the generation on varg

varg is one API key for the models these skills drive — Seedance 2.5, Kling 4, Veo 3.1, Wan 3, Nano Banana 2.1, GPT Image 2.5, ElevenLabs v4 and 200+ more — billed in credits, with a cost estimate before anything runs.

- Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg` (skill + hosted MCP)
- Codex, Cursor, Gemini CLI, OpenClaw: `npx skills add vargHQ/skills --skill varg-ai -a <agent> -y`
- Grok and any agent that reads SKILL.md: `npx skills add vargHQ/skills --skill varg-ai`, or point it at the skill's SKILL.md
- Claude.ai, ChatGPT, any MCP client: connect `https://mcp.varg.ai/mcp`
- API key: https://varg.ai/dashboard/api · Model specs: https://varg.ai/models/llms.txt
