From debec29ef0c0b48caa9a2829eb17ad15cf5574eb Mon Sep 17 00:00:00 2001 From: Santhi Prakash Date: Mon, 17 Aug 2026 03:57:19 +0000 Subject: [PATCH] fix(skills): require user confirmation before skill updates Replace "run silently, don't ask" with explicit confirmation guidance in ten workflow SKILL.md files so agents do not auto-run npx updates without the user. Regenerate skills-manifest.json. Refs heygen-com/hyperframes#2613 --- skills-manifest.json | 20 ++++++++++---------- skills/embedded-captions/SKILL.md | 2 +- skills/faceless-explainer/SKILL.md | 2 +- skills/figma/SKILL.md | 2 +- skills/motion-graphics/SKILL.md | 2 +- skills/music-to-video/SKILL.md | 2 +- skills/pr-to-video/SKILL.md | 2 +- skills/product-launch-video/SKILL.md | 2 +- skills/remotion-to-hyperframes/SKILL.md | 2 +- skills/slideshow/SKILL.md | 2 +- skills/talking-head-recut/SKILL.md | 2 +- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/skills-manifest.json b/skills-manifest.json index d6291f0e8c..a1b0858ce7 100644 --- a/skills-manifest.json +++ b/skills-manifest.json @@ -2,15 +2,15 @@ "source": "heygen-com/hyperframes", "skills": { "embedded-captions": { - "hash": "14e79d53c24e3945", + "hash": "dbdd4dac3ea590c2", "files": 138 }, "faceless-explainer": { - "hash": "c70b904aa68cf7e5", + "hash": "5d29f35e2038a1ef", "files": 24 }, "figma": { - "hash": "4f524b4962bd8d7c", + "hash": "642cce1b5e211182", "files": 2 }, "general-video": { @@ -54,31 +54,31 @@ "files": 152 }, "motion-graphics": { - "hash": "1434e22bb0259bbb", + "hash": "63b288f24c2df8da", "files": 23 }, "music-to-video": { - "hash": "55a2b5fdcd6f892c", + "hash": "c63bf05a7d2ca4f9", "files": 132 }, "pr-to-video": { - "hash": "7769801640dca521", + "hash": "8a891ad7a9608bb1", "files": 30 }, "product-launch-video": { - "hash": "81953f054fcb9d91", + "hash": "ecbba84554dce5dd", "files": 28 }, "remotion-to-hyperframes": { - "hash": "3ecc684432b298dd", + "hash": "b8068b62955329f4", "files": 70 }, "slideshow": { - "hash": "6a24a84b0c1a75f9", + "hash": "36867b7a45eb3c1d", "files": 2 }, "talking-head-recut": { - "hash": "2f5d99f823c48e75", + "hash": "4ff7455ced4cca78", "files": 28 } } diff --git a/skills/embedded-captions/SKILL.md b/skills/embedded-captions/SKILL.md index 07c994524e..dbb201776d 100644 --- a/skills/embedded-captions/SKILL.md +++ b/skills/embedded-captions/SKILL.md @@ -9,7 +9,7 @@ description: > including transcription and subject matting; split multi-shot footage before applying it. --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update embedded-captions`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update embedded-captions`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. # Embedded Captions diff --git a/skills/faceless-explainer/SKILL.md b/skills/faceless-explainer/SKILL.md index 3a519b3f48..e712f1225e 100644 --- a/skills/faceless-explainer/SKILL.md +++ b/skills/faceless-explainer/SKILL.md @@ -3,7 +3,7 @@ name: faceless-explainer description: "Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes." --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update faceless-explainer`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update faceless-explainer`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. > **media-use**: Before sourcing audio/images/logos, call `/media-use` to resolve BGM/SFX/images from the HeyGen catalog and brand logos from their official sources. Run `--adopt` first to register existing assets. See `/media-use` skill. diff --git a/skills/figma/SKILL.md b/skills/figma/SKILL.md index 9189125076..c611e24f5f 100644 --- a/skills/figma/SKILL.md +++ b/skills/figma/SKILL.md @@ -3,7 +3,7 @@ name: figma description: Import Figma content into a HyperFrames composition — rendered assets, brand tokens, components, storyboard sections → reconstructed motion (frames read as states, not slides) (REST/CLI), connector-assisted motion when available, and shaders from a connector or native export. Use when the user pastes a figma.com link or asks to bring a Figma design, frame, logo, brand, or animation into a video/composition. --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update figma`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update figma`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. # Figma → HyperFrames diff --git a/skills/motion-graphics/SKILL.md b/skills/motion-graphics/SKILL.md index 90bf727088..6a9ee3b00e 100644 --- a/skills/motion-graphics/SKILL.md +++ b/skills/motion-graphics/SKILL.md @@ -11,7 +11,7 @@ description: > Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes. --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update motion-graphics`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update motion-graphics`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. > **figma source**: If the logo/asset/animation to build from comes from a figma.com URL, run `/figma` first — asset export, brand tokens, and Motion→GSAP translation if the graphic is a Figma Motion import — then build from its output. Don't drive Figma via raw MCP tools directly: that skips SVG sanitization, `.media/manifest.jsonl` provenance, and brand-token `var()` binding, so a later brand change can't propagate without a full re-import. diff --git a/skills/music-to-video/SKILL.md b/skills/music-to-video/SKILL.md index 7c5402f698..4e7d2e9023 100644 --- a/skills/music-to-video/SKILL.md +++ b/skills/music-to-video/SKILL.md @@ -3,7 +3,7 @@ name: music-to-video description: "Turn a music track (an audio file, a video to pull audio from, or a track generated from a mood brief) into a beat-synced video — lyric video, slideshow, or kinetic promo. The music drives all pacing; any user-supplied images/videos are cut onto the same beat grid, and a complete video needs zero assets. Narrated pieces → the input-matched workflow (see /hyperframes). Unclear → /hyperframes." --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update music-to-video`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update music-to-video`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. # music-to-video — one music-grounded, beat-synced video workflow diff --git a/skills/pr-to-video/SKILL.md b/skills/pr-to-video/SKILL.md index a4999132ca..e38a5c808c 100644 --- a/skills/pr-to-video/SKILL.md +++ b/skills/pr-to-video/SKILL.md @@ -3,7 +3,7 @@ name: pr-to-video description: "Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR topic explainer (/faceless-explainer). Unclear → /hyperframes." --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update pr-to-video`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update pr-to-video`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. > **media-use**: Before sourcing audio/images/logos, call `/media-use` to resolve BGM/SFX/images from the HeyGen catalog and brand logos from their official sources. Run `--adopt` first to register existing assets. See `/media-use` skill. diff --git a/skills/product-launch-video/SKILL.md b/skills/product-launch-video/SKILL.md index 1fd786de99..6c6499fa79 100644 --- a/skills/product-launch-video/SKILL.md +++ b/skills/product-launch-video/SKILL.md @@ -3,7 +3,7 @@ name: product-launch-video description: "Turn a product or marketing URL, pasted script, or brief into a product launch / promo video — SaaS promos, feature reveals, product demos, app and company launches. Use when the user wants to market, launch, promote, or reveal a product; the default for any commercial URL. Site tours / showcases of a website route here too — the brief carries the show-it-as-is intent. Unclear → /hyperframes." --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update product-launch-video`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update product-launch-video`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. > **media-use**: Before sourcing audio/images/logos, call `/media-use` to resolve BGM/SFX/images from the HeyGen catalog and brand logos from their official sources. Run `--adopt` first to register existing assets. See `/media-use` skill. diff --git a/skills/remotion-to-hyperframes/SKILL.md b/skills/remotion-to-hyperframes/SKILL.md index ec7c8f1af3..b75e7cbe54 100644 --- a/skills/remotion-to-hyperframes/SKILL.md +++ b/skills/remotion-to-hyperframes/SKILL.md @@ -3,7 +3,7 @@ name: remotion-to-hyperframes description: 'Port an existing Remotion (React) composition''s source to HyperFrames HTML. Use ONLY on an explicit ask to port/convert/migrate/translate a Remotion source — one-way, Remotion-only. A passing Remotion mention, reference-only code, or "make something like my Remotion video" is a fresh build (/general-video). Unclear → /hyperframes.' --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update remotion-to-hyperframes`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update remotion-to-hyperframes`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. # Remotion to HyperFrames diff --git a/skills/slideshow/SKILL.md b/skills/slideshow/SKILL.md index fffa3f99b2..1c7d061018 100644 --- a/skills/slideshow/SKILL.md +++ b/skills/slideshow/SKILL.md @@ -9,7 +9,7 @@ description: > Unclear → /hyperframes. --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update slideshow`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update slideshow`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. > **figma source**: If the deck's content or storyboard comes from a figma.com URL, run `/figma` first — asset export, brand tokens, and storyboard reconstruction if the source is a strip of scene frames — then build from its output. Don't drive Figma via raw MCP tools directly: that skips SVG sanitization, `.media/manifest.jsonl` provenance, and brand-token `var()` binding, so a later brand change can't propagate without a full re-import. diff --git a/skills/talking-head-recut/SKILL.md b/skills/talking-head-recut/SKILL.md index a9c797ff52..cc25baa6a9 100644 --- a/skills/talking-head-recut/SKILL.md +++ b/skills/talking-head-recut/SKILL.md @@ -3,7 +3,7 @@ name: talking-head-recut description: Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on "graphic overlays", "on-screen graphics", "package / dress up my video". Not plain subtitles (/embedded-captions). Unclear → /hyperframes. --- -> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update talking-head-recut`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. +> **First, keep this skill fresh — confirm with the user before running:** `npx hyperframes skills update talking-head-recut`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them. # Talking Head Recut