<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HyperFrames on Top AI Skills</title><link>https://topaiskills.com/tags/hyperframes/</link><description>Recent content in HyperFrames on Top AI Skills</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 16 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://topaiskills.com/tags/hyperframes/index.xml" rel="self" type="application/rss+xml"/><item><title>hyperframes-studio: What Keeps a Timeline Editable (370K)</title><link>https://topaiskills.com/skills/image/hyperframes-studio/</link><pubDate>Fri, 16 Oct 2026 00:00:00 +0000</pubDate><guid>https://topaiskills.com/skills/image/hyperframes-studio/</guid><description>&lt;p&gt;&lt;code&gt;hyperframes-studio&lt;/code&gt; decides whether a HyperFrames project opens as a short, readable timeline or as a wall of unlabeled rows you cannot trim part by part. It is the newest entry in the heygen-com/hyperframes pack and the fastest-rising one: &lt;strong&gt;370,619 installs, rank 404&lt;/strong&gt; on the skills.sh board I scraped on 2026-10-16, weekly installs &lt;code&gt;[0, 0, 0, 0, 21,751, 57,106, 84,410, 115,369]&lt;/code&gt; — five weeks listed, and every week bigger than the last. I read the entire SKILL.md (11,640 bytes, one file, no references folder) against the repo at 65,128 stars, pushed 2026-10-16.&lt;/p&gt;</description></item><item><title>general-video: HyperFrames' Catch-All Video Builder (594K)</title><link>https://topaiskills.com/skills/image/general-video/</link><pubDate>Thu, 15 Oct 2026 00:00:00 +0000</pubDate><guid>https://topaiskills.com/skills/image/general-video/</guid><description>&lt;p&gt;&lt;code&gt;general-video&lt;/code&gt; is the HyperFrames skill you land on when a video brief matches no shipped workflow — and its most valuable content is the arithmetic about when &lt;em&gt;not&lt;/em&gt; to parallelize. I read the whole SKILL.md (21,964 bytes, inside &lt;a href="https://github.com/heygen-com/hyperframes" rel="nofollow" target="_blank"&gt;heygen-com/hyperframes&lt;/a&gt;, 64,315 stars, last push 2026-10-15) and scraped the skills.sh detail page the same day: &lt;strong&gt;594.1K installs&lt;/strong&gt;, weekly [18,371, 16,183, 15,346, 28,322, 57,814, 41,804, 61,758, 97,530]. The pack around it is riding that curve together — sibling &lt;a href="https://topaiskills.com/skills/automation/media-use/"&gt;media-use&lt;/a&gt; reads 912.1K, hyperframes-core 823.4K. What the skill actually delivers is a router that refuses to guess your intent, plus a dispatch rule that only pays for itself at scale.&lt;/p&gt;</description></item><item><title>HyperFrames CLI FAQ: Gates, Catalog Search, and Rendering</title><link>https://topaiskills.com/tutorials/guides/hyperframes-cli-faq/</link><pubDate>Tue, 13 Oct 2026 00:00:00 +0000</pubDate><guid>https://topaiskills.com/tutorials/guides/hyperframes-cli-faq/</guid><description>&lt;script type="application/ld+json"&gt;{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"The whole HyperFrames development loop rather than one command: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single and batch render, publish, cloud, cloudrun, lambda, feedback, doctor, browser, info, upgrade, skills, compositions, timeline, history, clean, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. It also covers diagnosing build and render failures. Local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering are all in scope. Requirements are Node.js 22 or newer plus FFmpeg."},"name":"What does the hyperframes-cli skill actually cover?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"It grew. The copy I pulled on 2026-08-30 was 18,291 bytes; today's SKILL.md is 24,551 bytes. The additions are mostly collaboration machinery: a `history` system that records every project write as an undoable entry, `npx hyperframes catch-up` for picking up edits someone made in the desktop app after a hand-off, and `npx hyperframes open` to hand the project to the HyperFrames desktop app, where the chat picks up the conversation under Claude Code, Codex, or Grok. A `doctor --json` gate and a `benchmark` command are in the description now too."},"name":"How has the skill changed since HyperFrames' earlier releases?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"`npx hyperframes check`. Run `npx hyperframes lint` while authoring for fast feedback, then let `check` serve as the final gate — it reruns lint itself before opening a browser, so prepending a redundant standalone lint call just wastes a run. `check` uses one browser session and one seek pass to audit runtime errors, failed requests, layout, `*.motion.json` assertions, and WCAG contrast. Persistent findings gate the exit code; transient entrance and exit findings are informational. Add `--snapshots` for annotated overview frames and finding crops, or `--strict` when warnings should gate too. `validate`, `inspect`, and `layout` still work as aliases but must not appear in new instructions or scripts."},"name":"What is the one command I must not skip before rendering?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"Because the catalog indexes English only. A query written in another script produces no searchable terms, which is why the error reads `No searchable words in query` — that is a language problem, not a missing component, so do not file it as a catalog gap. Query in English even when the final video is not; the on-screen copy stays in whatever language the brief needs."},"name":"Why does catalog search return nothing for my query?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"`words` is the default local tier and ranks on vocabulary shared with an item's name, title, description, and tags. It is fast and entirely offline, but it misses any phrasing that does not reuse the catalog's own wording. `on-device` ranks by meaning using a quantized ONNX build of `bge-small-en-v1.5` pinned to a fixed revision — roughly a 33 MB one-time download cached under `~/.hyperframes/`, never added to your project or package. Declaring the size and getting consent before passing `--on-device` is the skill's rule. With `--json`, the envelope's `tier` field names the answering tier: never infer it from results appearing. A weak result on `words` is expected; the same weak result on `on-device` is a bug."},"name":"What are the two search tiers and how do I tell which one answered?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"There is no threshold. `top_score` appears only on the on-device tier, and the ranker returns the whole catalog in some order for every query, so read it as evidence rather than pass or fail. Treating it as a cutoff is the mistake."},"name":"What does top_score mean, and is there a threshold?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"They are opposite skews between the registry and the local index, and rewording your query fixes neither. `dropped` counts ranked names the registry cannot install, so your strongest matches are the ones being lost. `unindexed` counts registry moves the index cannot see at all — no query will ever return them. Refreshing the registry is not the remedy for either, since its manifest carries a 24-hour TTL and heals itself. Re-running with `--on-device` refetches the vector index when `unindexed` is above zero, which is the fix to hand the user. The pure over-coverage case — `dropped` above zero with `unindexed` at zero — does not trigger that refetch, so clearing `~/.hyperframes/catalog/` is the only way out. Both counts count names, not results, so either can exceed `total`."},"name":"What do the dropped and unindexed counts mean?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"Use `npx hyperframes feedback --search-miss \"\u003cquery\u003e\" --wanted \"\u003cmove you needed\u003e\" --tier \u003ctier\u003e`. You rarely have to assemble that line by hand: `catalog --query` prints it pre-filled, and every `--json` search envelope carries it as `report_gap` with query and tier already correct. Fill in `--wanted` and send. This is the only path that sends a query anywhere, which is exactly why plain `catalog --query` can promise to send nothing. Report on either tier whenever the results do not do the thing — the on-device tier needs that consented 33 MB download and stays off in most agent runs, so waiting for it means never reporting at all."},"name":"How do I report a component the catalog does not have?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"Three. `--quality draft` while iterating, `--quality looks` for the first real encode (also the CLI default), and `--quality delivery` for the final file. After rendering, confirm the output exists and is non-empty, then read the render summary's second line: `beginframe` versus `screenshot`, GPU, and stage timings. `screenshot` with a software GPU on Linux is the slow path. Finish with `ffprobe -v error -show_format -show_streams` and compare duration against the root `data-duration`."},"name":"What are the render quality levels?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"No. The skill states it directly: never render merely because checks pass. Stop at the final preview, verify the URL returns HTTP 200, hand the timeline project URL to the user, and wait for approval. Keep the preview alive until review ends. The plan in chat and the `storyboard.html` sketch sheet are not approval of the final video."},"name":"Do passing checks mean I can render?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"Hosted cloud projects approaching or exceeding the 200 MB upload limit need investigation rather than deletion: run `npx hyperframes cloud render --dry-run --json` and follow the `.hyperframesignore` guidance in the cloud reference. The skill forbids ignoring an asset simply because it is large."},"name":"What are the cloud rendering limits?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"`npx hyperframes doctor --json` always exits zero, so exit codes tell you nothing — gate on the payload instead: `npx hyperframes doctor --json | jq -e '.ok' \u003e/dev/null`. Prefer `--json` for agent and CI calls in general, with one exception: server-mode `render`, `preview`, and `play` have no ordinary JSON output, and only `preview --selection --json` and `preview --context --json` exist as query-mode exceptions. Use a single `HYPERFRAMES_RUN_ID` for every command in one verification loop."},"name":"How should agents call doctor and other commands?"},{"@type":"Question","acceptedAnswer":{"@type":"Answer","text":"As of 2026-10-13, skills.sh lists hyperframes-cli at 981.9K installs and rank #8 overall, with weekly [35,245, 32,591, 36,139, 46,204, 85,128, 73,279, 96,486, 146,752] — the last two weeks are 4.2x the two before them, so the growth is recent and still climbing. The rest of the pack moves in the same wave (hyperframes-animation 832.0K, hyperframes-registry 831.3K, hyperframes-core 792.0K), which is the pack-counter pattern rather than per-skill demand. The genuinely separate counter is the newborn `hyperframes-studio`, at 308.5K with weekly [0, 0, 0, 0, 21,751, 57,106, 84,410, 115,369] — roughly five weeks old and accelerating, the way the sibling skills looked when HyperFrames launched."},"name":"What do the install numbers say?"}]}&lt;/script&gt;
&lt;div class="space-y-6 mt-8"&gt;
 &lt;h2 class="text-xl font-bold text-foreground mb-6"&gt;Frequently Asked Questions&lt;/h2&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What does the hyperframes-cli skill actually cover?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 The whole HyperFrames development loop rather than one command: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single and batch render, publish, cloud, cloudrun, lambda, feedback, doctor, browser, info, upgrade, skills, compositions, timeline, history, clean, docs, benchmark, telemetry, transcribe, auth, tts, and remove-background. It also covers diagnosing build and render failures. Local, HeyGen-hosted cloud, AWS Lambda, and Google Cloud Run rendering are all in scope. Requirements are Node.js 22 or newer plus FFmpeg.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;How has the skill changed since HyperFrames&amp;#39; earlier releases?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 It grew. The copy I pulled on 2026-08-30 was 18,291 bytes; today&amp;rsquo;s SKILL.md is 24,551 bytes. The additions are mostly collaboration machinery: a &lt;code&gt;history&lt;/code&gt; system that records every project write as an undoable entry, &lt;code&gt;npx hyperframes catch-up&lt;/code&gt; for picking up edits someone made in the desktop app after a hand-off, and &lt;code&gt;npx hyperframes open&lt;/code&gt; to hand the project to the HyperFrames desktop app, where the chat picks up the conversation under Claude Code, Codex, or Grok. A &lt;code&gt;doctor --json&lt;/code&gt; gate and a &lt;code&gt;benchmark&lt;/code&gt; command are in the description now too.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What is the one command I must not skip before rendering?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 &lt;code&gt;npx hyperframes check&lt;/code&gt;. Run &lt;code&gt;npx hyperframes lint&lt;/code&gt; while authoring for fast feedback, then let &lt;code&gt;check&lt;/code&gt; serve as the final gate — it reruns lint itself before opening a browser, so prepending a redundant standalone lint call just wastes a run. &lt;code&gt;check&lt;/code&gt; uses one browser session and one seek pass to audit runtime errors, failed requests, layout, &lt;code&gt;*.motion.json&lt;/code&gt; assertions, and WCAG contrast. Persistent findings gate the exit code; transient entrance and exit findings are informational. Add &lt;code&gt;--snapshots&lt;/code&gt; for annotated overview frames and finding crops, or &lt;code&gt;--strict&lt;/code&gt; when warnings should gate too. &lt;code&gt;validate&lt;/code&gt;, &lt;code&gt;inspect&lt;/code&gt;, and &lt;code&gt;layout&lt;/code&gt; still work as aliases but must not appear in new instructions or scripts.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;Why does catalog search return nothing for my query?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 Because the catalog indexes English only. A query written in another script produces no searchable terms, which is why the error reads &lt;code&gt;No searchable words in query&lt;/code&gt; — that is a language problem, not a missing component, so do not file it as a catalog gap. Query in English even when the final video is not; the on-screen copy stays in whatever language the brief needs.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What are the two search tiers and how do I tell which one answered?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 &lt;code&gt;words&lt;/code&gt; is the default local tier and ranks on vocabulary shared with an item&amp;rsquo;s name, title, description, and tags. It is fast and entirely offline, but it misses any phrasing that does not reuse the catalog&amp;rsquo;s own wording. &lt;code&gt;on-device&lt;/code&gt; ranks by meaning using a quantized ONNX build of &lt;code&gt;bge-small-en-v1.5&lt;/code&gt; pinned to a fixed revision — roughly a 33 MB one-time download cached under &lt;code&gt;~/.hyperframes/&lt;/code&gt;, never added to your project or package. Declaring the size and getting consent before passing &lt;code&gt;--on-device&lt;/code&gt; is the skill&amp;rsquo;s rule. With &lt;code&gt;--json&lt;/code&gt;, the envelope&amp;rsquo;s &lt;code&gt;tier&lt;/code&gt; field names the answering tier: never infer it from results appearing. A weak result on &lt;code&gt;words&lt;/code&gt; is expected; the same weak result on &lt;code&gt;on-device&lt;/code&gt; is a bug.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What does top_score mean, and is there a threshold?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 There is no threshold. &lt;code&gt;top_score&lt;/code&gt; appears only on the on-device tier, and the ranker returns the whole catalog in some order for every query, so read it as evidence rather than pass or fail. Treating it as a cutoff is the mistake.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What do the dropped and unindexed counts mean?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 They are opposite skews between the registry and the local index, and rewording your query fixes neither. &lt;code&gt;dropped&lt;/code&gt; counts ranked names the registry cannot install, so your strongest matches are the ones being lost. &lt;code&gt;unindexed&lt;/code&gt; counts registry moves the index cannot see at all — no query will ever return them. Refreshing the registry is not the remedy for either, since its manifest carries a 24-hour TTL and heals itself. Re-running with &lt;code&gt;--on-device&lt;/code&gt; refetches the vector index when &lt;code&gt;unindexed&lt;/code&gt; is above zero, which is the fix to hand the user. The pure over-coverage case — &lt;code&gt;dropped&lt;/code&gt; above zero with &lt;code&gt;unindexed&lt;/code&gt; at zero — does not trigger that refetch, so clearing &lt;code&gt;~/.hyperframes/catalog/&lt;/code&gt; is the only way out. Both counts count names, not results, so either can exceed &lt;code&gt;total&lt;/code&gt;.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;How do I report a component the catalog does not have?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 Use &lt;code&gt;npx hyperframes feedback --search-miss &amp;quot;&amp;lt;query&amp;gt;&amp;quot; --wanted &amp;quot;&amp;lt;move you needed&amp;gt;&amp;quot; --tier &amp;lt;tier&amp;gt;&lt;/code&gt;. You rarely have to assemble that line by hand: &lt;code&gt;catalog --query&lt;/code&gt; prints it pre-filled, and every &lt;code&gt;--json&lt;/code&gt; search envelope carries it as &lt;code&gt;report_gap&lt;/code&gt; with query and tier already correct. Fill in &lt;code&gt;--wanted&lt;/code&gt; and send. This is the only path that sends a query anywhere, which is exactly why plain &lt;code&gt;catalog --query&lt;/code&gt; can promise to send nothing. Report on either tier whenever the results do not do the thing — the on-device tier needs that consented 33 MB download and stays off in most agent runs, so waiting for it means never reporting at all.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What are the render quality levels?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 Three. &lt;code&gt;--quality draft&lt;/code&gt; while iterating, &lt;code&gt;--quality looks&lt;/code&gt; for the first real encode (also the CLI default), and &lt;code&gt;--quality delivery&lt;/code&gt; for the final file. After rendering, confirm the output exists and is non-empty, then read the render summary&amp;rsquo;s second line: &lt;code&gt;beginframe&lt;/code&gt; versus &lt;code&gt;screenshot&lt;/code&gt;, GPU, and stage timings. &lt;code&gt;screenshot&lt;/code&gt; with a software GPU on Linux is the slow path. Finish with &lt;code&gt;ffprobe -v error -show_format -show_streams&lt;/code&gt; and compare duration against the root &lt;code&gt;data-duration&lt;/code&gt;.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;Do passing checks mean I can render?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 No. The skill states it directly: never render merely because checks pass. Stop at the final preview, verify the URL returns HTTP 200, hand the timeline project URL to the user, and wait for approval. Keep the preview alive until review ends. The plan in chat and the &lt;code&gt;storyboard.html&lt;/code&gt; sketch sheet are not approval of the final video.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What are the cloud rendering limits?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 Hosted cloud projects approaching or exceeding the 200 MB upload limit need investigation rather than deletion: run &lt;code&gt;npx hyperframes cloud render --dry-run --json&lt;/code&gt; and follow the &lt;code&gt;.hyperframesignore&lt;/code&gt; guidance in the cloud reference. The skill forbids ignoring an asset simply because it is large.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;How should agents call doctor and other commands?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 &lt;code&gt;npx hyperframes doctor --json&lt;/code&gt; always exits zero, so exit codes tell you nothing — gate on the payload instead: &lt;code&gt;npx hyperframes doctor --json | jq -e '.ok' &amp;gt;/dev/null&lt;/code&gt;. Prefer &lt;code&gt;--json&lt;/code&gt; for agent and CI calls in general, with one exception: server-mode &lt;code&gt;render&lt;/code&gt;, &lt;code&gt;preview&lt;/code&gt;, and &lt;code&gt;play&lt;/code&gt; have no ordinary JSON output, and only &lt;code&gt;preview --selection --json&lt;/code&gt; and &lt;code&gt;preview --context --json&lt;/code&gt; exist as query-mode exceptions. Use a single &lt;code&gt;HYPERFRAMES_RUN_ID&lt;/code&gt; for every command in one verification loop.
 &lt;/div&gt;
 &lt;/details&gt;&lt;details class="group rounded-xl border border-border/40 bg-card/30 backdrop-blur-sm transition-all duration-200 hover:border-primary/30 hover:bg-card/40"&gt;
 &lt;summary class="flex cursor-pointer items-center justify-between gap-4 px-5 py-4 text-sm font-semibold text-foreground"&gt;
 &lt;span&gt;What do the install numbers say?&lt;/span&gt;
 &lt;svg class="h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200 group-open:rotate-45" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"&gt;&lt;line x1="12" y1="5" x2="12" y2="19"&gt;&lt;/line&gt;&lt;line x1="5" y1="12" x2="19" y2="12"&gt;&lt;/line&gt;&lt;/svg&gt;
 &lt;/summary&gt;
 &lt;div class="px-5 pb-5 pt-0 text-sm leading-relaxed text-muted-foreground border-t border-border/30 mt-0 pt-4"&gt;
 As of 2026-10-13, skills.sh lists hyperframes-cli at 981.9K installs and rank #8 overall, with weekly [35,245, 32,591, 36,139, 46,204, 85,128, 73,279, 96,486, 146,752] — the last two weeks are 4.2x the two before them, so the growth is recent and still climbing. The rest of the pack moves in the same wave (hyperframes-animation 832.0K, hyperframes-registry 831.3K, hyperframes-core 792.0K), which is the pack-counter pattern rather than per-skill demand. The genuinely separate counter is the newborn &lt;code&gt;hyperframes-studio&lt;/code&gt;, at 308.5K with weekly [0, 0, 0, 0, 21,751, 57,106, 84,410, 115,369] — roughly five weeks old and accelerating, the way the sibling skills looked when HyperFrames launched.
 &lt;/div&gt;
 &lt;/details&gt;&lt;/div&gt;
&lt;p&gt;The HyperFrames CLI skill is the largest moving part of the HeyGen video framework&amp;rsquo;s skill pack, and it is also the one whose instructions changed most since summer. I re-read the full SKILL.md on 2026-10-13 (24,551 bytes, up from 18,291 bytes on 2026-08-30) and checked the live skills.sh detail page for the numbers. Short version: the interesting updates are not new render flags, they are collaboration and search mechanics. Here are the questions worth asking before you point an agent at a HyperFrames project.&lt;/p&gt;</description></item></channel></rss>