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 agentmods add skills/pinkr1ver/vibe-roast/hyperframes-keyframesnpx skills add PinkR1ver/vibe-roast --skill hyperframes-keyframesgit clone --depth 1 https://github.com/PinkR1ver/vibe-roastWrote 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/pinkr1ver/vibe-roast/hyperframes-keyframes)<a href="https://agentmods.dev/skills/pinkr1ver/vibe-roast/hyperframes-keyframes"><img src="https://agentmods.dev/badge/skills/pinkr1ver/vibe-roast/hyperframes-keyframes.svg" alt="Measured on agentmods" 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 | $0.00086 | $0.02385 |
| Opus 5 | $0.00043 | $0.01192 |
| Sonnet 5 | $0.00017 | $0.00477 |
| Haiku 4.5 | $0.00009 | $0.00238 |
Grade A, and why
hyperframes-keyframes 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 4d 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.
This is a copy
89% identical to hyperframes-keyframes — 39 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.
HyperFrames Keyframes
Keyframes are a pose contract: visible states, continuous subject identity, seek-safe runtime, verified pixels.
Use hyperframes-animation for broad scene recipes. Use hyperframes-cli for full command docs. Use references/keyframe-patterns.md only when choosing implementation mechanisms, not visual style.
Procedure
- Identify the animated subject, visible states, final state, and runtime.
- Choose the smallest mechanism that proves the prompt. Read
references/keyframe-patterns.mdonly if the mechanism is unclear. - Author seek-safe keyframes in the declared runtime. Build synchronously and register the runtime instance.
- Verify with
hyperframes lint,hyperframes check,hyperframes keyframes, one focused--shot, and snapshots at proof times. - If proof fails, fix the source keyframes and rerun the smallest failing diagnostic before rendering.
Contract
- Name the moving subject.
- Name the poses needed to prove the intended motion, including the final state.
- Keyframe visible channels, not hidden helper state.
- Preserve object identity when continuity matters.
- Crossfade only when the intended motion is replacement or dissolve.
- Hold readable or semantic states long enough to see.
- Final frame is part of the animation, not cleanup.
- Do not reset to rest unless requested.
- Do not end on black unless requested.
- If editing a starter scene, preserve layout, copy, assets, colors, and final state unless asked to redesign.
Runtime Rules
GSAP:
- build synchronously at page load
- use
gsap.timeline({ paused: true }) - register as
window.__timelines[compositionId] - registry key must match
data-composition-id - do not call
tl.play()for render-critical motion - keep repeats finite
CSS keyframes:
- finite duration and iteration count
- deterministic delay
animation-fill-mode: both- use
data-startwhen timing belongs to a clip
Anime.js:
- create synchronously
autoplay: false- finite duration and loops
- push every instance to
window.__hfAnime
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.
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.
- 4d ago First seen · 230 lines · 86 tokens per session scan A 4577193cca20
hyperframes-keyframes is a skill published in the GitHub repository PinkR1ver/vibe-roast (49 stars, last pushed 18d ago), licensed MIT. It adds 86 tokens to every session and 2,385 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to hyperframes-keyframes, differing in 39 lines, and is treated as a copy.
Other skills, from other repositories
im-adapter
Format responses for instant messaging platforms such as Lark, DingTalk, WeCom, Slack, and Telegram. Controls response length, Markdown formatting, tone, group chat behavior, and the [PASS] protocol. Also covers sending images and files via [SENDIMAGE]/[SENDFILE] markers on channels that support media (currently WeCom…
message-push
Send proactive messages to IM groups or individual users via the gateway Send API. Use when the user says to send, post, notify, forward, or tell someone a message on Feishu, Slack, Telegram, Discord, DingTalk, or WeCom.
data-analysis
Loads CSV, Excel, and JSON data files, performs statistical analysis, and generates charts and reports. Use when the user asks to analyze a dataset, compute statistics, create visualizations, find trends, or produce a data report.
meeting
Meeting notes assistant — organizes transcripts into structured minutes, extracts action items, and tracks attendee decisions. Use when the user asks to summarize a meeting, take meeting notes, write up minutes, create a meeting recap, list attendees, or extract action items from a call.
ops
Content operations assistant — drafts blog posts, social media copy, and marketing materials, compiles data briefings, and tracks competitor activity. Use when the user asks to write a blog post, draft social media content, create marketing copy, generate a weekly report, compile operational metrics, update the…
research
Research assistant — gathers information, performs competitive analysis, and generates structured research reports. Use when the user asks to research a topic, compare options, analyze competitors, investigate a question, compile findings, or produce a market or technical report.