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.
git clone --depth 1 https://github.com/heygen-com/hyperframes-community-skillsnpx agentmods add skills/heygen-com/hyperframes-community-skills/duoWrote 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/heygen-com/hyperframes-community-skills/duo)<a href="https://agentmods.dev/skills/heygen-com/hyperframes-community-skills/duo"><img src="https://agentmods.dev/badge/skills/heygen-com/hyperframes-community-skills/duo/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/heygen-com/hyperframes-community-skills/duo"><img src="https://agentmods.dev/badge/skills/heygen-com/hyperframes-community-skills/duo.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.00160 | $0.02044 |
| Opus 5.5 | $0.00064 | $0.00818 |
| Sonnet 5.5 | $0.00032 | $0.00409 |
| Haiku 4.5 | $0.00016 | $0.00204 |
Grade A, and why
duo 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 1mo 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 — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Duo
One fixed 1448×1086 @ 30fps composition: a photo of two hands holding an open foldable, with both screens blanked. You fill the two screen slots with HTML (live video, a mock chat, a scrolling feed, anything HyperFrames renders) and the rig masks it to the phone's true rounded-corner geometry.

The phone and hands are a photograph, not something you build.
assets/plate.png IS the device. Never recreate, redraw, or CSS-model the
foldable, its bezel, the hinge, or the hands, and never substitute a different
image. build.mjs copies the plate into every project; if it is missing, stop
and reinstall the skill rather than improvising a phone.
Do not edit the rig. The two .screen rects, their corner radii and the
hinge divider were measured from that photo pixel by pixel. Every visual change
you make happens inside #screen-left .content and #screen-right .content,
plus the one shared GSAP timeline.
When to use / when not to
- Use for any "two things side by side on a phone" beat: app vs app, feed vs feed, two chats answering the same prompt, two versions of a product.
- Do not use when the user wants a single phone, a laptop, or a real device
bezel they supply — this skill is one specific photo. For a different device
plate you would re-measure geometry the same way (see
references/screen-geometry.md) rather than stretch this one.
Requirements
- Node 18+ and the HyperFrames CLI via
npx hyperframes@latest(@latestis mutable; pin a version for byte-identical re-renders). - Load your motion doctrine first if your workspace has one. The rig's only built-in motion is one slow camera push; everything inside the screens must perform (scrolls, swipes, typing, taps), never idle-wobble.
Network and side effects (complete list)
registry.npmjs.org— the HyperFrames CLI itself, vianpx.cdn.jsdelivr.net— the composition loads GSAP (pinned3.14.2) at preview/render time. Rendering is not fully offline.- Anything YOU add to the screens (video clips, avatars, fonts) is your side
effect: fetching a site, downloading media, or scraping UI happens only if the
user's request calls for real content, and only from sources they are entitled
to use.
references/sourcing-real-ui.mddocuments how, and the rights caveat.
What ships with it
10 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.
- assets/icons-instagram.svg 4.4 KB
- assets/icons-tiktok.svg 7.3 KB
- assets/plate-preview.jpg 24 KB
- assets/plate.png 389 KB
- assets/screen-spec.json 1.4 KB
- references/feed-recipes.md 4.2 KB
- references/screen-geometry.md 2.6 KB
- references/sourcing-real-ui.md 3.2 KB
- scripts/build.mjs 3.1 KB runs code
- template/index.template.html 2.2 KB
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.
- 1mo ago First seen · 164 lines · 160 tokens per session scan A ebf19d43a676
duo is a skill published in the GitHub repository heygen-com/hyperframes-community-skills (233 stars, last pushed yesterday), licensed Apache-2.0. It adds 160 tokens to every session and 2,044 once invoked, about $0.0006 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-11.
Other skills, from other repositories
paperclip-capsules
Generate, implement, or review Paperclip capsule visuals. Use for capsule art, agent capsules, heartbeat status capsules, identicons, capsule banks, or brand-usage validation.
video-hyperframes
Hyperframes / Remotion-compatible continuous frame animation with autoplay support.
brag
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag", "let's brag about this", "make a launch video", "turn this into a video", or wants to share what they built. Reads the project code directly — no live URL or screenshots needed.
video-hyperframes
A web-based sequence of video frames designed for Hyperframes or Remotion, with each frame presenting one visual idea.
brag-slim
Turn a project directory or a website URL into a short, shareable launch video with music, motion, and share copy. One file, no bundled assets — built entirely by the model with the tools already on the machine. Use when someone says "/brag-slim", "let's /brag about this", "brag about a website", "make a launch…
broll-director
Turn a complete original SRT and design into immutable shot truth, revisable creative proposals, semantic chapters, a shared visual world, a compact motion map, and three representative-scene choices.