agent-skill-manager 2.13.0 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.backup.md +1237 -0
  2. package/README.md +367 -687
  3. package/data/skill-index/Affitor_affiliate-skills.json +171 -171
  4. package/data/skill-index/AvdLee_Core-Data-Agent-Skill.json +4 -4
  5. package/data/skill-index/AvdLee_Swift-Concurrency-Agent-Skill.json +4 -4
  6. package/data/skill-index/AvdLee_Swift-Testing-Agent-Skill.json +4 -4
  7. package/data/skill-index/AvdLee_SwiftUI-Agent-Skill.json +11 -11
  8. package/data/skill-index/AvdLee_Xcode-Build-Optimization-Agent-Skill.json +24 -24
  9. package/data/skill-index/Dimillian_Skills.json +54 -54
  10. package/data/skill-index/Egonex-AI_Understand-Anything.json +29 -29
  11. package/data/skill-index/Eronred_aso-skills.json +129 -129
  12. package/data/skill-index/GPTomics_bioSkills.json +8673 -6081
  13. package/data/skill-index/Galaxy-Dawn_claude-scholar.json +144 -144
  14. package/data/skill-index/Imbad0202_academic-research-skills.json +41 -41
  15. package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +1239 -633
  16. package/data/skill-index/Leonxlnx_taste-skill.json +47 -47
  17. package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +4 -4
  18. package/data/skill-index/MiniMax-AI_skills.json +78 -78
  19. package/data/skill-index/Paramchoudhary_ResumeSkills.json +408 -68
  20. package/data/skill-index/addyosmani_agent-skills.json +111 -105
  21. package/data/skill-index/affaan-m_everything-claude-code.json +1983 -1120
  22. package/data/skill-index/alirezarezvani_claude-skills.json +3214 -1707
  23. package/data/skill-index/anthropics_skills.json +67 -67
  24. package/data/skill-index/antonbabenko_terraform-skill.json +4 -4
  25. package/data/skill-index/badlogic_pi-skills.json +29 -29
  26. package/data/skill-index/briiirussell_cybersecurity-skills.json +314 -125
  27. package/data/skill-index/bytedance_deer-flow.json +86 -86
  28. package/data/skill-index/coreyhaines31_marketingskills.json +549 -191
  29. package/data/skill-index/davidondrej_skills.json +5050 -0
  30. package/data/skill-index/entireio_skills.json +196 -41
  31. package/data/skill-index/garrytan_gstack.json +384 -384
  32. package/data/skill-index/github_awesome-copilot.json +2480 -1177
  33. package/data/skill-index/google_skills.json +6380 -522
  34. package/data/skill-index/heygen-com_hyperframes.json +958 -374
  35. package/data/skill-index/himself65_finance-skills.json +84 -84
  36. package/data/skill-index/ivan-magda_uikit-expert-skill.json +11 -11
  37. package/data/skill-index/kemiljk_fluid-design.json +4 -4
  38. package/data/skill-index/kepano_obsidian-skills.json +19 -19
  39. package/data/skill-index/luongnv89_asm.json +135 -9
  40. package/data/skill-index/luongnv89_idd.json +1186 -0
  41. package/data/skill-index/luongnv89_skills.json +1496 -667
  42. package/data/skill-index/mattpocock_skills.json +1900 -655
  43. package/data/skill-index/mvanhorn_last30days-skill.json +17 -11
  44. package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +124 -124
  45. package/data/skill-index/obra_superpowers.json +57 -57
  46. package/data/skill-index/romainsimon_paperasse.json +26 -26
  47. package/data/skill-index/rudrankriyam_app-store-connect-cli-skills.json +87 -87
  48. package/data/skill-index/santifer_career-ops.json +666 -15
  49. package/data/skill-index/sickn33_antigravity-awesome-skills.json +75987 -36692
  50. package/data/skill-index/slavingia_skills.json +38 -38
  51. package/data/skill-index/twostraws_Swift-Concurrency-Agent-Skill.json +4 -4
  52. package/data/skill-index/twostraws_Swift-Testing-Agent-Skill.json +4 -4
  53. package/data/skill-index/twostraws_SwiftData-Agent-Skill.json +4 -4
  54. package/data/skill-index/twostraws_SwiftUI-Agent-Skill.json +4 -4
  55. package/data/skill-index/warpdotdev_oz-skills.json +52 -52
  56. package/data/skill-index/zarazhangrui_follow-builders.json +4 -4
  57. package/data/skill-index-resources.json +20 -2
  58. package/dist/agent-skill-manager.js +512 -402
  59. package/dist/{chunk-APSM2WG3.js → chunk-EOTW3XHQ.js} +1 -1
  60. package/dist/chunk-P5N3FU3P.js +3 -0
  61. package/dist/{chunk-HY3VQ3SV.js → chunk-UZ62MVXU.js} +2 -2
  62. package/dist/config-KPT63KLE.js +2 -0
  63. package/dist/{lock-6S53S4SC.js → lock-NOXBNSZW.js} +1 -1
  64. package/dist/{src-3UQIRSQN.js → src-IHHUE6TP.js} +1 -1
  65. package/package.json +1 -1
  66. package/dist/chunk-GHPE6SB3.js +0 -3
  67. package/dist/config-FRM3YOMA.js +0 -2
@@ -2,12 +2,12 @@
2
2
  "repoUrl": "https://github.com/heygen-com/hyperframes.git",
3
3
  "owner": "heygen-com",
4
4
  "repo": "hyperframes",
5
- "updatedAt": "2026-06-17T07:48:04.180Z",
6
- "skillCount": 16,
5
+ "updatedAt": "2026-07-07T08:55:07.838Z",
6
+ "skillCount": 20,
7
7
  "skills": [
8
8
  {
9
9
  "name": "embedded-captions",
10
- "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription hyperframes remove-background matting HTML render ffmpeg overlay. Requires hyperframes and a single-subject clip.",
10
+ "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 36 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Runs locally end-to-end (transcribes and mattes the subject itself, no API key). Requires hyperframes and a single-subject clip (multi-shot clips are split per shot).",
11
11
  "version": "0.0.0",
12
12
  "license": "",
13
13
  "creator": "",
@@ -16,7 +16,7 @@
16
16
  "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
17
17
  "relPath": "skills/embedded-captions",
18
18
  "verified": true,
19
- "tokenCount": 10355,
19
+ "tokenCount": 10408,
20
20
  "evalSummary": {
21
21
  "overallScore": 67,
22
22
  "grade": "C",
@@ -64,7 +64,7 @@
64
64
  "max": 10
65
65
  }
66
66
  ],
67
- "evaluatedAt": "2026-06-17T07:48:04.135Z",
67
+ "evaluatedAt": "2026-07-07T08:55:07.790Z",
68
68
  "evaluatedVersion": "0.0.0"
69
69
  },
70
70
  "evalSummaries": {
@@ -119,7 +119,7 @@
119
119
  "max": 10
120
120
  }
121
121
  ],
122
- "evaluatedAt": "2026-06-17T07:48:04.135Z",
122
+ "evaluatedAt": "2026-07-07T08:55:07.790Z",
123
123
  "evaluatedVersion": "0.0.0"
124
124
  },
125
125
  "skill-best-practice": {
@@ -127,24 +127,24 @@
127
127
  "providerVersion": "1.1.0",
128
128
  "schemaVersion": 1,
129
129
  "passed": false,
130
- "overallScore": 69,
131
- "grade": "C",
130
+ "overallScore": 62,
131
+ "grade": "D",
132
132
  "categories": [
133
133
  {
134
134
  "id": "validation",
135
135
  "name": "Deterministic validation",
136
- "score": 9,
136
+ "score": 8,
137
137
  "max": 13
138
138
  }
139
139
  ],
140
- "evaluatedAt": "2026-06-17T07:48:04.135Z",
140
+ "evaluatedAt": "2026-07-07T08:55:07.790Z",
141
141
  "evaluatedVersion": "0.0.0"
142
142
  }
143
143
  }
144
144
  },
145
145
  {
146
146
  "name": "faceless-explainer",
147
- "description": "faceless-explainer video workflow - arbitrary text (article / notes / topic / brief) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> typography / abstract-graphics / diagram / data-viz video. Typical length up to ~3 min (sweet spot ~30-90s); a genuinely longer piece is general-video, not this workflow. Generates its OWN narration (TTS) — it does not sync to a user-supplied / pre-recorded voiceover (that is general-video). No website capture, no real product screenshots. If the text names a product / its site to promote, that is /product-launch-video; when product-vs-topic is unclear, start at /hyperframes.",
147
+ "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 product promo (/product-launch-video) or a site tour (/website-to-video). Unclear /hyperframes.",
148
148
  "version": "0.0.0",
149
149
  "license": "",
150
150
  "creator": "",
@@ -153,9 +153,9 @@
153
153
  "installUrl": "github:heygen-com/hyperframes:skills/faceless-explainer",
154
154
  "relPath": "skills/faceless-explainer",
155
155
  "verified": true,
156
- "tokenCount": 14228,
156
+ "tokenCount": 6353,
157
157
  "evalSummary": {
158
- "overallScore": 67,
158
+ "overallScore": 74,
159
159
  "grade": "C",
160
160
  "categories": [
161
161
  {
@@ -167,19 +167,19 @@
167
167
  {
168
168
  "id": "description",
169
169
  "name": "Description quality",
170
- "score": 3,
170
+ "score": 5,
171
171
  "max": 10
172
172
  },
173
173
  {
174
174
  "id": "prompt-engineering",
175
175
  "name": "Prompt engineering",
176
- "score": 8,
176
+ "score": 10,
177
177
  "max": 10
178
178
  },
179
179
  {
180
180
  "id": "context-efficiency",
181
181
  "name": "Context efficiency",
182
- "score": 6,
182
+ "score": 7,
183
183
  "max": 10
184
184
  },
185
185
  {
@@ -201,7 +201,7 @@
201
201
  "max": 10
202
202
  }
203
203
  ],
204
- "evaluatedAt": "2026-06-17T07:48:04.140Z",
204
+ "evaluatedAt": "2026-07-07T08:55:07.793Z",
205
205
  "evaluatedVersion": "0.0.0"
206
206
  },
207
207
  "evalSummaries": {
@@ -210,7 +210,7 @@
210
210
  "providerVersion": "1.0.0",
211
211
  "schemaVersion": 1,
212
212
  "passed": true,
213
- "overallScore": 67,
213
+ "overallScore": 74,
214
214
  "grade": "C",
215
215
  "categories": [
216
216
  {
@@ -222,19 +222,19 @@
222
222
  {
223
223
  "id": "description",
224
224
  "name": "Description quality",
225
- "score": 3,
225
+ "score": 5,
226
226
  "max": 10
227
227
  },
228
228
  {
229
229
  "id": "prompt-engineering",
230
230
  "name": "Prompt engineering",
231
- "score": 8,
231
+ "score": 10,
232
232
  "max": 10
233
233
  },
234
234
  {
235
235
  "id": "context-efficiency",
236
236
  "name": "Context efficiency",
237
- "score": 6,
237
+ "score": 7,
238
238
  "max": 10
239
239
  },
240
240
  {
@@ -256,7 +256,7 @@
256
256
  "max": 10
257
257
  }
258
258
  ],
259
- "evaluatedAt": "2026-06-17T07:48:04.140Z",
259
+ "evaluatedAt": "2026-07-07T08:55:07.793Z",
260
260
  "evaluatedVersion": "0.0.0"
261
261
  },
262
262
  "skill-best-practice": {
@@ -264,36 +264,36 @@
264
264
  "providerVersion": "1.1.0",
265
265
  "schemaVersion": 1,
266
266
  "passed": false,
267
- "overallScore": 62,
268
- "grade": "D",
267
+ "overallScore": 69,
268
+ "grade": "C",
269
269
  "categories": [
270
270
  {
271
271
  "id": "validation",
272
272
  "name": "Deterministic validation",
273
- "score": 8,
273
+ "score": 9,
274
274
  "max": 13
275
275
  }
276
276
  ],
277
- "evaluatedAt": "2026-06-17T07:48:04.140Z",
277
+ "evaluatedAt": "2026-07-07T08:55:07.793Z",
278
278
  "evaluatedVersion": "0.0.0"
279
279
  }
280
280
  }
281
281
  },
282
282
  {
283
- "name": "general-video",
284
- "description": "Use as the fallback for custom HyperFrames HTML video composition authoring when no specialized workflow fits. Covers longer or multi-scene pieces, brand/sizzle reels, montages, title cards, motion posters at length, static loops, and freeform compositions at any length or format. Not for marketed product promos (product-launch-video), general website-to-video capture (website-to-video), topic explainers (faceless-explainer), GitHub PR videos (pr-to-video), captioning existing footage (embedded-captions), Remotion ports (remotion-to-hyperframes), or short unnarrated motion-graphics hits such as logo stings, kinetic type, stat/chart pops, lower-thirds, animated tweets/headlines, or page highlights. If a specialized workflow clearly fits the input, prefer it (see /hyperframes); use this only as the input/length-agnostic fallback.",
283
+ "name": "figma",
284
+ "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), Figma Motion animations (MCP), and shaders (MCP source / 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.",
285
285
  "version": "0.0.0",
286
286
  "license": "",
287
287
  "creator": "",
288
288
  "compatibility": "",
289
289
  "allowedTools": [],
290
- "installUrl": "github:heygen-com/hyperframes:skills/general-video",
291
- "relPath": "skills/general-video",
290
+ "installUrl": "github:heygen-com/hyperframes:skills/figma",
291
+ "relPath": "skills/figma",
292
292
  "verified": true,
293
- "tokenCount": 4508,
293
+ "tokenCount": 4434,
294
294
  "evalSummary": {
295
- "overallScore": 63,
296
- "grade": "D",
295
+ "overallScore": 69,
296
+ "grade": "C",
297
297
  "categories": [
298
298
  {
299
299
  "id": "structure",
@@ -304,25 +304,25 @@
304
304
  {
305
305
  "id": "description",
306
306
  "name": "Description quality",
307
- "score": 3,
307
+ "score": 5,
308
308
  "max": 10
309
309
  },
310
310
  {
311
311
  "id": "prompt-engineering",
312
312
  "name": "Prompt engineering",
313
- "score": 8,
313
+ "score": 6,
314
314
  "max": 10
315
315
  },
316
316
  {
317
317
  "id": "context-efficiency",
318
318
  "name": "Context efficiency",
319
- "score": 7,
319
+ "score": 8,
320
320
  "max": 10
321
321
  },
322
322
  {
323
323
  "id": "safety",
324
324
  "name": "Safety & guardrails",
325
- "score": 6,
325
+ "score": 9,
326
326
  "max": 10
327
327
  },
328
328
  {
@@ -338,7 +338,7 @@
338
338
  "max": 10
339
339
  }
340
340
  ],
341
- "evaluatedAt": "2026-06-17T07:48:04.144Z",
341
+ "evaluatedAt": "2026-07-07T08:55:07.796Z",
342
342
  "evaluatedVersion": "0.0.0"
343
343
  },
344
344
  "evalSummaries": {
@@ -347,8 +347,8 @@
347
347
  "providerVersion": "1.0.0",
348
348
  "schemaVersion": 1,
349
349
  "passed": true,
350
- "overallScore": 63,
351
- "grade": "D",
350
+ "overallScore": 69,
351
+ "grade": "C",
352
352
  "categories": [
353
353
  {
354
354
  "id": "structure",
@@ -359,25 +359,25 @@
359
359
  {
360
360
  "id": "description",
361
361
  "name": "Description quality",
362
- "score": 3,
362
+ "score": 5,
363
363
  "max": 10
364
364
  },
365
365
  {
366
366
  "id": "prompt-engineering",
367
367
  "name": "Prompt engineering",
368
- "score": 8,
368
+ "score": 6,
369
369
  "max": 10
370
370
  },
371
371
  {
372
372
  "id": "context-efficiency",
373
373
  "name": "Context efficiency",
374
- "score": 7,
374
+ "score": 8,
375
375
  "max": 10
376
376
  },
377
377
  {
378
378
  "id": "safety",
379
379
  "name": "Safety & guardrails",
380
- "score": 6,
380
+ "score": 9,
381
381
  "max": 10
382
382
  },
383
383
  {
@@ -393,7 +393,7 @@
393
393
  "max": 10
394
394
  }
395
395
  ],
396
- "evaluatedAt": "2026-06-17T07:48:04.144Z",
396
+ "evaluatedAt": "2026-07-07T08:55:07.796Z",
397
397
  "evaluatedVersion": "0.0.0"
398
398
  },
399
399
  "skill-best-practice": {
@@ -401,36 +401,36 @@
401
401
  "providerVersion": "1.1.0",
402
402
  "schemaVersion": 1,
403
403
  "passed": false,
404
- "overallScore": 77,
404
+ "overallScore": 69,
405
405
  "grade": "C",
406
406
  "categories": [
407
407
  {
408
408
  "id": "validation",
409
409
  "name": "Deterministic validation",
410
- "score": 10,
410
+ "score": 9,
411
411
  "max": 13
412
412
  }
413
413
  ],
414
- "evaluatedAt": "2026-06-17T07:48:04.144Z",
414
+ "evaluatedAt": "2026-07-07T08:55:07.796Z",
415
415
  "evaluatedVersion": "0.0.0"
416
416
  }
417
417
  }
418
418
  },
419
419
  {
420
- "name": "graphic-overlays",
421
- "description": "Package an existing talking-head / interview / podcast video by layering timed, designed GRAPHIC OVERLAY cards onto the playing video — titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript. The source video plays in full; the agent designs and writes each card's HTML in conversation, then renders to MP4 via hyperframes. Use when the user asks for graphic overlays, on-screen graphics / lower-thirds / data callouts / kinetic titles on a video, \"package / dress up my video\", \"add overlay cards / graphic cards\", or AI-composed graphic packaging of an existing video. NOT for plain subtitles (→ embedded-captions) or building a video from scratch (→ the creation workflows); when unsure overlays-vs-captions, see /hyperframes.",
420
+ "name": "general-video",
421
+ "description": "The fallback workflow for authoring or editing any custom HyperFrames composition at any length or format longer / multi-scene pieces, brand and sizzle reels, montages, title cards, static loops, freeform builds. Use only when no specialized workflow fits the input; routing table at /hyperframes.",
422
422
  "version": "0.0.0",
423
423
  "license": "",
424
424
  "creator": "",
425
425
  "compatibility": "",
426
426
  "allowedTools": [],
427
- "installUrl": "github:heygen-com/hyperframes:skills/graphic-overlays",
428
- "relPath": "skills/graphic-overlays",
427
+ "installUrl": "github:heygen-com/hyperframes:skills/general-video",
428
+ "relPath": "skills/general-video",
429
429
  "verified": true,
430
- "tokenCount": 23818,
430
+ "tokenCount": 4795,
431
431
  "evalSummary": {
432
- "overallScore": 63,
433
- "grade": "D",
432
+ "overallScore": 66,
433
+ "grade": "C",
434
434
  "categories": [
435
435
  {
436
436
  "id": "structure",
@@ -441,25 +441,25 @@
441
441
  {
442
442
  "id": "description",
443
443
  "name": "Description quality",
444
- "score": 3,
444
+ "score": 5,
445
445
  "max": 10
446
446
  },
447
447
  {
448
448
  "id": "prompt-engineering",
449
449
  "name": "Prompt engineering",
450
- "score": 9,
450
+ "score": 8,
451
451
  "max": 10
452
452
  },
453
453
  {
454
454
  "id": "context-efficiency",
455
455
  "name": "Context efficiency",
456
- "score": 4,
456
+ "score": 7,
457
457
  "max": 10
458
458
  },
459
459
  {
460
460
  "id": "safety",
461
461
  "name": "Safety & guardrails",
462
- "score": 10,
462
+ "score": 6,
463
463
  "max": 10
464
464
  },
465
465
  {
@@ -471,11 +471,11 @@
471
471
  {
472
472
  "id": "naming",
473
473
  "name": "Naming & conventions",
474
- "score": 8,
474
+ "score": 10,
475
475
  "max": 10
476
476
  }
477
477
  ],
478
- "evaluatedAt": "2026-06-17T07:48:04.149Z",
478
+ "evaluatedAt": "2026-07-07T08:55:07.798Z",
479
479
  "evaluatedVersion": "0.0.0"
480
480
  },
481
481
  "evalSummaries": {
@@ -484,8 +484,8 @@
484
484
  "providerVersion": "1.0.0",
485
485
  "schemaVersion": 1,
486
486
  "passed": true,
487
- "overallScore": 63,
488
- "grade": "D",
487
+ "overallScore": 66,
488
+ "grade": "C",
489
489
  "categories": [
490
490
  {
491
491
  "id": "structure",
@@ -496,25 +496,25 @@
496
496
  {
497
497
  "id": "description",
498
498
  "name": "Description quality",
499
- "score": 3,
499
+ "score": 5,
500
500
  "max": 10
501
501
  },
502
502
  {
503
503
  "id": "prompt-engineering",
504
504
  "name": "Prompt engineering",
505
- "score": 9,
505
+ "score": 8,
506
506
  "max": 10
507
507
  },
508
508
  {
509
509
  "id": "context-efficiency",
510
510
  "name": "Context efficiency",
511
- "score": 4,
511
+ "score": 7,
512
512
  "max": 10
513
513
  },
514
514
  {
515
515
  "id": "safety",
516
516
  "name": "Safety & guardrails",
517
- "score": 10,
517
+ "score": 6,
518
518
  "max": 10
519
519
  },
520
520
  {
@@ -526,11 +526,11 @@
526
526
  {
527
527
  "id": "naming",
528
528
  "name": "Naming & conventions",
529
- "score": 8,
529
+ "score": 10,
530
530
  "max": 10
531
531
  }
532
532
  ],
533
- "evaluatedAt": "2026-06-17T07:48:04.149Z",
533
+ "evaluatedAt": "2026-07-07T08:55:07.798Z",
534
534
  "evaluatedVersion": "0.0.0"
535
535
  },
536
536
  "skill-best-practice": {
@@ -538,24 +538,24 @@
538
538
  "providerVersion": "1.1.0",
539
539
  "schemaVersion": 1,
540
540
  "passed": false,
541
- "overallScore": 77,
541
+ "overallScore": 69,
542
542
  "grade": "C",
543
543
  "categories": [
544
544
  {
545
545
  "id": "validation",
546
546
  "name": "Deterministic validation",
547
- "score": 10,
547
+ "score": 9,
548
548
  "max": 13
549
549
  }
550
550
  ],
551
- "evaluatedAt": "2026-06-17T07:48:04.149Z",
551
+ "evaluatedAt": "2026-07-07T08:55:07.798Z",
552
552
  "evaluatedVersion": "0.0.0"
553
553
  }
554
554
  }
555
555
  },
556
556
  {
557
557
  "name": "hyperframes",
558
- "description": "READ THIS FIRST — the HyperFrames entry skill. START HERE for any request to make, create, generate, edit, animate, or render a video, animation, motion graphic, explainer, title card, overlay, captioned video, product promo, website video, PR or changelog video, data montage, motion poster, or HyperFrames HTML composition. Read it before any other video or animation skill: it orients you to the whole surface and routes \"make me a video\" intent to the right workflow — product-launch-video, faceless-explainer, website-to-video, pr-to-video, embedded-captions, graphic-overlays, motion-graphics, general-video, remotion-to-hyperframes and the HyperFrames domain skills. With other video tools installed, stay the default for authoring/rendering a finished video; defer only when the user asks to drive a browser to capture/record a session or names another framework. Especially important to read first when no project CLAUDE.md or AGENTS.md explains the video workflow.",
558
+ "description": "READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, slideshow / interactive deck, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.",
559
559
  "version": "0.0.0",
560
560
  "license": "",
561
561
  "creator": "",
@@ -564,7 +564,7 @@
564
564
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
565
565
  "relPath": "skills/hyperframes",
566
566
  "verified": true,
567
- "tokenCount": 9913,
567
+ "tokenCount": 7249,
568
568
  "evalSummary": {
569
569
  "overallScore": 57,
570
570
  "grade": "D",
@@ -584,35 +584,35 @@
584
584
  {
585
585
  "id": "prompt-engineering",
586
586
  "name": "Prompt engineering",
587
- "score": 5,
587
+ "score": 6,
588
588
  "max": 10
589
589
  },
590
590
  {
591
591
  "id": "context-efficiency",
592
592
  "name": "Context efficiency",
593
- "score": 5,
593
+ "score": 7,
594
594
  "max": 10
595
595
  },
596
596
  {
597
597
  "id": "safety",
598
598
  "name": "Safety & guardrails",
599
- "score": 5,
599
+ "score": 6,
600
600
  "max": 10
601
601
  },
602
602
  {
603
603
  "id": "testability",
604
604
  "name": "Testability",
605
- "score": 5,
605
+ "score": 3,
606
606
  "max": 10
607
607
  },
608
608
  {
609
609
  "id": "naming",
610
610
  "name": "Naming & conventions",
611
- "score": 10,
611
+ "score": 8,
612
612
  "max": 10
613
613
  }
614
614
  ],
615
- "evaluatedAt": "2026-06-17T07:48:04.155Z",
615
+ "evaluatedAt": "2026-07-07T08:55:07.801Z",
616
616
  "evaluatedVersion": "0.0.0"
617
617
  },
618
618
  "evalSummaries": {
@@ -639,35 +639,35 @@
639
639
  {
640
640
  "id": "prompt-engineering",
641
641
  "name": "Prompt engineering",
642
- "score": 5,
642
+ "score": 6,
643
643
  "max": 10
644
644
  },
645
645
  {
646
646
  "id": "context-efficiency",
647
647
  "name": "Context efficiency",
648
- "score": 5,
648
+ "score": 7,
649
649
  "max": 10
650
650
  },
651
651
  {
652
652
  "id": "safety",
653
653
  "name": "Safety & guardrails",
654
- "score": 5,
654
+ "score": 6,
655
655
  "max": 10
656
656
  },
657
657
  {
658
658
  "id": "testability",
659
659
  "name": "Testability",
660
- "score": 5,
660
+ "score": 3,
661
661
  "max": 10
662
662
  },
663
663
  {
664
664
  "id": "naming",
665
665
  "name": "Naming & conventions",
666
- "score": 10,
666
+ "score": 8,
667
667
  "max": 10
668
668
  }
669
669
  ],
670
- "evaluatedAt": "2026-06-17T07:48:04.155Z",
670
+ "evaluatedAt": "2026-07-07T08:55:07.801Z",
671
671
  "evaluatedVersion": "0.0.0"
672
672
  },
673
673
  "skill-best-practice": {
@@ -685,14 +685,14 @@
685
685
  "max": 13
686
686
  }
687
687
  ],
688
- "evaluatedAt": "2026-06-17T07:48:04.155Z",
688
+ "evaluatedAt": "2026-07-07T08:55:07.801Z",
689
689
  "evaluatedVersion": "0.0.0"
690
690
  }
691
691
  }
692
692
  },
693
693
  {
694
694
  "name": "hyperframes-animation",
695
- "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.",
695
+ "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.",
696
696
  "version": "0.0.0",
697
697
  "license": "",
698
698
  "creator": "",
@@ -701,9 +701,9 @@
701
701
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-animation",
702
702
  "relPath": "skills/hyperframes-animation",
703
703
  "verified": true,
704
- "tokenCount": 2697,
704
+ "tokenCount": 2809,
705
705
  "evalSummary": {
706
- "overallScore": 56,
706
+ "overallScore": 57,
707
707
  "grade": "D",
708
708
  "categories": [
709
709
  {
@@ -739,7 +739,7 @@
739
739
  {
740
740
  "id": "testability",
741
741
  "name": "Testability",
742
- "score": 0,
742
+ "score": 1,
743
743
  "max": 10
744
744
  },
745
745
  {
@@ -749,7 +749,7 @@
749
749
  "max": 10
750
750
  }
751
751
  ],
752
- "evaluatedAt": "2026-06-17T07:48:04.158Z",
752
+ "evaluatedAt": "2026-07-07T08:55:07.803Z",
753
753
  "evaluatedVersion": "0.0.0"
754
754
  },
755
755
  "evalSummaries": {
@@ -758,7 +758,7 @@
758
758
  "providerVersion": "1.0.0",
759
759
  "schemaVersion": 1,
760
760
  "passed": true,
761
- "overallScore": 56,
761
+ "overallScore": 57,
762
762
  "grade": "D",
763
763
  "categories": [
764
764
  {
@@ -794,7 +794,7 @@
794
794
  {
795
795
  "id": "testability",
796
796
  "name": "Testability",
797
- "score": 0,
797
+ "score": 1,
798
798
  "max": 10
799
799
  },
800
800
  {
@@ -804,7 +804,7 @@
804
804
  "max": 10
805
805
  }
806
806
  ],
807
- "evaluatedAt": "2026-06-17T07:48:04.158Z",
807
+ "evaluatedAt": "2026-07-07T08:55:07.803Z",
808
808
  "evaluatedVersion": "0.0.0"
809
809
  },
810
810
  "skill-best-practice": {
@@ -822,14 +822,14 @@
822
822
  "max": 13
823
823
  }
824
824
  ],
825
- "evaluatedAt": "2026-06-17T07:48:04.158Z",
825
+ "evaluatedAt": "2026-07-07T08:55:07.803Z",
826
826
  "evaluatedVersion": "0.0.0"
827
827
  }
828
828
  }
829
829
  },
830
830
  {
831
831
  "name": "hyperframes-cli",
832
- "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).",
832
+ "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies / sites`).",
833
833
  "version": "0.0.0",
834
834
  "license": "",
835
835
  "creator": "",
@@ -838,7 +838,7 @@
838
838
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
839
839
  "relPath": "skills/hyperframes-cli",
840
840
  "verified": true,
841
- "tokenCount": 2979,
841
+ "tokenCount": 3664,
842
842
  "evalSummary": {
843
843
  "overallScore": 80,
844
844
  "grade": "B",
@@ -886,7 +886,7 @@
886
886
  "max": 10
887
887
  }
888
888
  ],
889
- "evaluatedAt": "2026-06-17T07:48:04.160Z",
889
+ "evaluatedAt": "2026-07-07T08:55:07.804Z",
890
890
  "evaluatedVersion": "0.0.0"
891
891
  },
892
892
  "evalSummaries": {
@@ -941,7 +941,7 @@
941
941
  "max": 10
942
942
  }
943
943
  ],
944
- "evaluatedAt": "2026-06-17T07:48:04.160Z",
944
+ "evaluatedAt": "2026-07-07T08:55:07.804Z",
945
945
  "evaluatedVersion": "0.0.0"
946
946
  },
947
947
  "skill-best-practice": {
@@ -959,14 +959,14 @@
959
959
  "max": 13
960
960
  }
961
961
  ],
962
- "evaluatedAt": "2026-06-17T07:48:04.160Z",
962
+ "evaluatedAt": "2026-07-07T08:55:07.804Z",
963
963
  "evaluatedVersion": "0.0.0"
964
964
  }
965
965
  }
966
966
  },
967
967
  {
968
968
  "name": "hyperframes-core",
969
- "description": "HyperFrames HTML composition contract. Use for composition structure, data attributes, clips, tracks, sub-compositions, variables, media playback, deterministic render rules, and validation of minimal renderable projects.",
969
+ "description": "The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.",
970
970
  "version": "0.0.0",
971
971
  "license": "",
972
972
  "creator": "",
@@ -975,10 +975,10 @@
975
975
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-core",
976
976
  "relPath": "skills/hyperframes-core",
977
977
  "verified": true,
978
- "tokenCount": 3099,
978
+ "tokenCount": 2129,
979
979
  "evalSummary": {
980
- "overallScore": 70,
981
- "grade": "C",
980
+ "overallScore": 57,
981
+ "grade": "D",
982
982
  "categories": [
983
983
  {
984
984
  "id": "structure",
@@ -989,13 +989,13 @@
989
989
  {
990
990
  "id": "description",
991
991
  "name": "Description quality",
992
- "score": 7,
992
+ "score": 5,
993
993
  "max": 10
994
994
  },
995
995
  {
996
996
  "id": "prompt-engineering",
997
997
  "name": "Prompt engineering",
998
- "score": 5,
998
+ "score": 4,
999
999
  "max": 10
1000
1000
  },
1001
1001
  {
@@ -1007,13 +1007,13 @@
1007
1007
  {
1008
1008
  "id": "safety",
1009
1009
  "name": "Safety & guardrails",
1010
- "score": 6,
1010
+ "score": 4,
1011
1011
  "max": 10
1012
1012
  },
1013
1013
  {
1014
1014
  "id": "testability",
1015
1015
  "name": "Testability",
1016
- "score": 5,
1016
+ "score": 1,
1017
1017
  "max": 10
1018
1018
  },
1019
1019
  {
@@ -1023,7 +1023,7 @@
1023
1023
  "max": 10
1024
1024
  }
1025
1025
  ],
1026
- "evaluatedAt": "2026-06-17T07:48:04.161Z",
1026
+ "evaluatedAt": "2026-07-07T08:55:07.806Z",
1027
1027
  "evaluatedVersion": "0.0.0"
1028
1028
  },
1029
1029
  "evalSummaries": {
@@ -1032,8 +1032,8 @@
1032
1032
  "providerVersion": "1.0.0",
1033
1033
  "schemaVersion": 1,
1034
1034
  "passed": true,
1035
- "overallScore": 70,
1036
- "grade": "C",
1035
+ "overallScore": 57,
1036
+ "grade": "D",
1037
1037
  "categories": [
1038
1038
  {
1039
1039
  "id": "structure",
@@ -1044,13 +1044,13 @@
1044
1044
  {
1045
1045
  "id": "description",
1046
1046
  "name": "Description quality",
1047
- "score": 7,
1047
+ "score": 5,
1048
1048
  "max": 10
1049
1049
  },
1050
1050
  {
1051
1051
  "id": "prompt-engineering",
1052
1052
  "name": "Prompt engineering",
1053
- "score": 5,
1053
+ "score": 4,
1054
1054
  "max": 10
1055
1055
  },
1056
1056
  {
@@ -1062,13 +1062,13 @@
1062
1062
  {
1063
1063
  "id": "safety",
1064
1064
  "name": "Safety & guardrails",
1065
- "score": 6,
1065
+ "score": 4,
1066
1066
  "max": 10
1067
1067
  },
1068
1068
  {
1069
1069
  "id": "testability",
1070
1070
  "name": "Testability",
1071
- "score": 5,
1071
+ "score": 1,
1072
1072
  "max": 10
1073
1073
  },
1074
1074
  {
@@ -1078,7 +1078,7 @@
1078
1078
  "max": 10
1079
1079
  }
1080
1080
  ],
1081
- "evaluatedAt": "2026-06-17T07:48:04.161Z",
1081
+ "evaluatedAt": "2026-07-07T08:55:07.806Z",
1082
1082
  "evaluatedVersion": "0.0.0"
1083
1083
  },
1084
1084
  "skill-best-practice": {
@@ -1086,17 +1086,17 @@
1086
1086
  "providerVersion": "1.1.0",
1087
1087
  "schemaVersion": 1,
1088
1088
  "passed": false,
1089
- "overallScore": 77,
1089
+ "overallScore": 69,
1090
1090
  "grade": "C",
1091
1091
  "categories": [
1092
1092
  {
1093
1093
  "id": "validation",
1094
1094
  "name": "Deterministic validation",
1095
- "score": 10,
1095
+ "score": 9,
1096
1096
  "max": 13
1097
1097
  }
1098
1098
  ],
1099
- "evaluatedAt": "2026-06-17T07:48:04.161Z",
1099
+ "evaluatedAt": "2026-07-07T08:55:07.806Z",
1100
1100
  "evaluatedVersion": "0.0.0"
1101
1101
  }
1102
1102
  }
@@ -1112,7 +1112,7 @@
1112
1112
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-creative",
1113
1113
  "relPath": "skills/hyperframes-creative",
1114
1114
  "verified": true,
1115
- "tokenCount": 1558,
1115
+ "tokenCount": 1828,
1116
1116
  "evalSummary": {
1117
1117
  "overallScore": 71,
1118
1118
  "grade": "C",
@@ -1160,7 +1160,7 @@
1160
1160
  "max": 10
1161
1161
  }
1162
1162
  ],
1163
- "evaluatedAt": "2026-06-17T07:48:04.163Z",
1163
+ "evaluatedAt": "2026-07-07T08:55:07.807Z",
1164
1164
  "evaluatedVersion": "0.0.0"
1165
1165
  },
1166
1166
  "evalSummaries": {
@@ -1215,7 +1215,7 @@
1215
1215
  "max": 10
1216
1216
  }
1217
1217
  ],
1218
- "evaluatedAt": "2026-06-17T07:48:04.163Z",
1218
+ "evaluatedAt": "2026-07-07T08:55:07.807Z",
1219
1219
  "evaluatedVersion": "0.0.0"
1220
1220
  },
1221
1221
  "skill-best-practice": {
@@ -1233,26 +1233,26 @@
1233
1233
  "max": 13
1234
1234
  }
1235
1235
  ],
1236
- "evaluatedAt": "2026-06-17T07:48:04.163Z",
1236
+ "evaluatedAt": "2026-07-07T08:55:07.807Z",
1237
1237
  "evaluatedVersion": "0.0.0"
1238
1238
  }
1239
1239
  }
1240
1240
  },
1241
1241
  {
1242
- "name": "hyperframes-media",
1243
- "description": "Asset preprocessing for HyperFrames compositions multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), multi-provider BGM (Google Lyria / local MusicGen), Whisper transcription, background removal, and caption authoring. Use for npx hyperframes tts, bgm, transcribe, remove-background, voice/provider selection, music-mood prompting, captions / subtitles / lyrics / karaoke / per-word styling.",
1242
+ "name": "hyperframes-keyframes",
1243
+ "description": "Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.",
1244
1244
  "version": "0.0.0",
1245
1245
  "license": "",
1246
1246
  "creator": "",
1247
1247
  "compatibility": "",
1248
1248
  "allowedTools": [],
1249
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-media",
1250
- "relPath": "skills/hyperframes-media",
1249
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-keyframes",
1250
+ "relPath": "skills/hyperframes-keyframes",
1251
1251
  "verified": true,
1252
- "tokenCount": 1754,
1252
+ "tokenCount": 3628,
1253
1253
  "evalSummary": {
1254
- "overallScore": 54,
1255
- "grade": "D",
1254
+ "overallScore": 67,
1255
+ "grade": "C",
1256
1256
  "categories": [
1257
1257
  {
1258
1258
  "id": "structure",
@@ -1269,7 +1269,7 @@
1269
1269
  {
1270
1270
  "id": "prompt-engineering",
1271
1271
  "name": "Prompt engineering",
1272
- "score": 3,
1272
+ "score": 6,
1273
1273
  "max": 10
1274
1274
  },
1275
1275
  {
@@ -1281,13 +1281,13 @@
1281
1281
  {
1282
1282
  "id": "safety",
1283
1283
  "name": "Safety & guardrails",
1284
- "score": 4,
1284
+ "score": 7,
1285
1285
  "max": 10
1286
1286
  },
1287
1287
  {
1288
1288
  "id": "testability",
1289
1289
  "name": "Testability",
1290
- "score": 0,
1290
+ "score": 3,
1291
1291
  "max": 10
1292
1292
  },
1293
1293
  {
@@ -1297,7 +1297,7 @@
1297
1297
  "max": 10
1298
1298
  }
1299
1299
  ],
1300
- "evaluatedAt": "2026-06-17T07:48:04.163Z",
1300
+ "evaluatedAt": "2026-07-07T08:55:07.808Z",
1301
1301
  "evaluatedVersion": "0.0.0"
1302
1302
  },
1303
1303
  "evalSummaries": {
@@ -1306,8 +1306,8 @@
1306
1306
  "providerVersion": "1.0.0",
1307
1307
  "schemaVersion": 1,
1308
1308
  "passed": true,
1309
- "overallScore": 54,
1310
- "grade": "D",
1309
+ "overallScore": 67,
1310
+ "grade": "C",
1311
1311
  "categories": [
1312
1312
  {
1313
1313
  "id": "structure",
@@ -1324,7 +1324,7 @@
1324
1324
  {
1325
1325
  "id": "prompt-engineering",
1326
1326
  "name": "Prompt engineering",
1327
- "score": 3,
1327
+ "score": 6,
1328
1328
  "max": 10
1329
1329
  },
1330
1330
  {
@@ -1336,13 +1336,13 @@
1336
1336
  {
1337
1337
  "id": "safety",
1338
1338
  "name": "Safety & guardrails",
1339
- "score": 4,
1339
+ "score": 7,
1340
1340
  "max": 10
1341
1341
  },
1342
1342
  {
1343
1343
  "id": "testability",
1344
1344
  "name": "Testability",
1345
- "score": 0,
1345
+ "score": 3,
1346
1346
  "max": 10
1347
1347
  },
1348
1348
  {
@@ -1352,7 +1352,7 @@
1352
1352
  "max": 10
1353
1353
  }
1354
1354
  ],
1355
- "evaluatedAt": "2026-06-17T07:48:04.164Z",
1355
+ "evaluatedAt": "2026-07-07T08:55:07.808Z",
1356
1356
  "evaluatedVersion": "0.0.0"
1357
1357
  },
1358
1358
  "skill-best-practice": {
@@ -1360,17 +1360,17 @@
1360
1360
  "providerVersion": "1.1.0",
1361
1361
  "schemaVersion": 1,
1362
1362
  "passed": false,
1363
- "overallScore": 69,
1363
+ "overallScore": 77,
1364
1364
  "grade": "C",
1365
1365
  "categories": [
1366
1366
  {
1367
1367
  "id": "validation",
1368
1368
  "name": "Deterministic validation",
1369
- "score": 9,
1369
+ "score": 10,
1370
1370
  "max": 13
1371
1371
  }
1372
1372
  ],
1373
- "evaluatedAt": "2026-06-17T07:48:04.164Z",
1373
+ "evaluatedAt": "2026-07-07T08:55:07.808Z",
1374
1374
  "evaluatedVersion": "0.0.0"
1375
1375
  }
1376
1376
  }
@@ -1434,7 +1434,7 @@
1434
1434
  "max": 10
1435
1435
  }
1436
1436
  ],
1437
- "evaluatedAt": "2026-06-17T07:48:04.164Z",
1437
+ "evaluatedAt": "2026-07-07T08:55:07.809Z",
1438
1438
  "evaluatedVersion": "0.0.0"
1439
1439
  },
1440
1440
  "evalSummaries": {
@@ -1489,7 +1489,7 @@
1489
1489
  "max": 10
1490
1490
  }
1491
1491
  ],
1492
- "evaluatedAt": "2026-06-17T07:48:04.165Z",
1492
+ "evaluatedAt": "2026-07-07T08:55:07.809Z",
1493
1493
  "evaluatedVersion": "0.0.0"
1494
1494
  },
1495
1495
  "skill-best-practice": {
@@ -1507,26 +1507,26 @@
1507
1507
  "max": 13
1508
1508
  }
1509
1509
  ],
1510
- "evaluatedAt": "2026-06-17T07:48:04.165Z",
1510
+ "evaluatedAt": "2026-07-07T08:55:07.810Z",
1511
1511
  "evaluatedVersion": "0.0.0"
1512
1512
  }
1513
1513
  }
1514
1514
  },
1515
1515
  {
1516
- "name": "motion-graphics",
1517
- "description": "Use when the user wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (website-to-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.",
1516
+ "name": "media-use",
1517
+ "description": "Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, or voice into a frozen local file + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Keeps search noise on disk, hands the agent a path. Use for any audio, image, icon, voiceover, caption, or media-asset need.",
1518
1518
  "version": "0.0.0",
1519
1519
  "license": "",
1520
1520
  "creator": "",
1521
1521
  "compatibility": "",
1522
1522
  "allowedTools": [],
1523
- "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
1524
- "relPath": "skills/motion-graphics",
1523
+ "installUrl": "github:heygen-com/hyperframes:skills/media-use",
1524
+ "relPath": "skills/media-use",
1525
1525
  "verified": true,
1526
- "tokenCount": 4560,
1526
+ "tokenCount": 5769,
1527
1527
  "evalSummary": {
1528
- "overallScore": 73,
1529
- "grade": "C",
1528
+ "overallScore": 60,
1529
+ "grade": "D",
1530
1530
  "categories": [
1531
1531
  {
1532
1532
  "id": "structure",
@@ -1543,19 +1543,19 @@
1543
1543
  {
1544
1544
  "id": "prompt-engineering",
1545
1545
  "name": "Prompt engineering",
1546
- "score": 9,
1546
+ "score": 7,
1547
1547
  "max": 10
1548
1548
  },
1549
1549
  {
1550
1550
  "id": "context-efficiency",
1551
1551
  "name": "Context efficiency",
1552
- "score": 9,
1552
+ "score": 7,
1553
1553
  "max": 10
1554
1554
  },
1555
1555
  {
1556
1556
  "id": "safety",
1557
1557
  "name": "Safety & guardrails",
1558
- "score": 10,
1558
+ "score": 5,
1559
1559
  "max": 10
1560
1560
  },
1561
1561
  {
@@ -1571,7 +1571,7 @@
1571
1571
  "max": 10
1572
1572
  }
1573
1573
  ],
1574
- "evaluatedAt": "2026-06-17T07:48:04.166Z",
1574
+ "evaluatedAt": "2026-07-07T08:55:07.811Z",
1575
1575
  "evaluatedVersion": "0.0.0"
1576
1576
  },
1577
1577
  "evalSummaries": {
@@ -1580,8 +1580,8 @@
1580
1580
  "providerVersion": "1.0.0",
1581
1581
  "schemaVersion": 1,
1582
1582
  "passed": true,
1583
- "overallScore": 73,
1584
- "grade": "C",
1583
+ "overallScore": 60,
1584
+ "grade": "D",
1585
1585
  "categories": [
1586
1586
  {
1587
1587
  "id": "structure",
@@ -1598,19 +1598,19 @@
1598
1598
  {
1599
1599
  "id": "prompt-engineering",
1600
1600
  "name": "Prompt engineering",
1601
- "score": 9,
1601
+ "score": 7,
1602
1602
  "max": 10
1603
1603
  },
1604
1604
  {
1605
1605
  "id": "context-efficiency",
1606
1606
  "name": "Context efficiency",
1607
- "score": 9,
1607
+ "score": 7,
1608
1608
  "max": 10
1609
1609
  },
1610
1610
  {
1611
1611
  "id": "safety",
1612
1612
  "name": "Safety & guardrails",
1613
- "score": 10,
1613
+ "score": 5,
1614
1614
  "max": 10
1615
1615
  },
1616
1616
  {
@@ -1626,7 +1626,7 @@
1626
1626
  "max": 10
1627
1627
  }
1628
1628
  ],
1629
- "evaluatedAt": "2026-06-17T07:48:04.166Z",
1629
+ "evaluatedAt": "2026-07-07T08:55:07.811Z",
1630
1630
  "evaluatedVersion": "0.0.0"
1631
1631
  },
1632
1632
  "skill-best-practice": {
@@ -1634,35 +1634,35 @@
1634
1634
  "providerVersion": "1.1.0",
1635
1635
  "schemaVersion": 1,
1636
1636
  "passed": false,
1637
- "overallScore": 77,
1637
+ "overallScore": 69,
1638
1638
  "grade": "C",
1639
1639
  "categories": [
1640
1640
  {
1641
1641
  "id": "validation",
1642
1642
  "name": "Deterministic validation",
1643
- "score": 10,
1643
+ "score": 9,
1644
1644
  "max": 13
1645
1645
  }
1646
1646
  ],
1647
- "evaluatedAt": "2026-06-17T07:48:04.166Z",
1647
+ "evaluatedAt": "2026-07-07T08:55:07.811Z",
1648
1648
  "evaluatedVersion": "0.0.0"
1649
1649
  }
1650
1650
  }
1651
1651
  },
1652
1652
  {
1653
- "name": "pr-to-video",
1654
- "description": "pr-to-video workflow - a GitHub pull request (URL like github.com/<owner>/<repo>/pull/<N>, or <owner>/<repo>#<N>, or \"this PR\" in a checked-out repo) -> ingested PR facts (title, body, diff, commits, files, +/- stats) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> code-diff / before-after / impact explainer video. Input is a CODE CHANGE. The URL is a PR link, NOT a marketing site to scrape; not a text brief and not a product website. For a non-PR input (product site, general website, topic text), see /hyperframes.",
1653
+ "name": "motion-graphics",
1654
+ "description": "A short, design-led motion graphic where motion is the message kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene /general-video. Unclear /hyperframes.",
1655
1655
  "version": "0.0.0",
1656
1656
  "license": "",
1657
1657
  "creator": "",
1658
1658
  "compatibility": "",
1659
1659
  "allowedTools": [],
1660
- "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
1661
- "relPath": "skills/pr-to-video",
1660
+ "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
1661
+ "relPath": "skills/motion-graphics",
1662
1662
  "verified": true,
1663
- "tokenCount": 15799,
1663
+ "tokenCount": 5030,
1664
1664
  "evalSummary": {
1665
- "overallScore": 70,
1665
+ "overallScore": 66,
1666
1666
  "grade": "C",
1667
1667
  "categories": [
1668
1668
  {
@@ -1674,19 +1674,19 @@
1674
1674
  {
1675
1675
  "id": "description",
1676
1676
  "name": "Description quality",
1677
- "score": 3,
1677
+ "score": 0,
1678
1678
  "max": 10
1679
1679
  },
1680
1680
  {
1681
1681
  "id": "prompt-engineering",
1682
1682
  "name": "Prompt engineering",
1683
- "score": 8,
1683
+ "score": 9,
1684
1684
  "max": 10
1685
1685
  },
1686
1686
  {
1687
1687
  "id": "context-efficiency",
1688
1688
  "name": "Context efficiency",
1689
- "score": 6,
1689
+ "score": 7,
1690
1690
  "max": 10
1691
1691
  },
1692
1692
  {
@@ -1698,7 +1698,7 @@
1698
1698
  {
1699
1699
  "id": "testability",
1700
1700
  "name": "Testability",
1701
- "score": 5,
1701
+ "score": 3,
1702
1702
  "max": 10
1703
1703
  },
1704
1704
  {
@@ -1708,7 +1708,7 @@
1708
1708
  "max": 10
1709
1709
  }
1710
1710
  ],
1711
- "evaluatedAt": "2026-06-17T07:48:04.170Z",
1711
+ "evaluatedAt": "2026-07-07T08:55:07.813Z",
1712
1712
  "evaluatedVersion": "0.0.0"
1713
1713
  },
1714
1714
  "evalSummaries": {
@@ -1717,7 +1717,7 @@
1717
1717
  "providerVersion": "1.0.0",
1718
1718
  "schemaVersion": 1,
1719
1719
  "passed": true,
1720
- "overallScore": 70,
1720
+ "overallScore": 66,
1721
1721
  "grade": "C",
1722
1722
  "categories": [
1723
1723
  {
@@ -1729,19 +1729,19 @@
1729
1729
  {
1730
1730
  "id": "description",
1731
1731
  "name": "Description quality",
1732
- "score": 3,
1732
+ "score": 0,
1733
1733
  "max": 10
1734
1734
  },
1735
1735
  {
1736
1736
  "id": "prompt-engineering",
1737
1737
  "name": "Prompt engineering",
1738
- "score": 8,
1738
+ "score": 9,
1739
1739
  "max": 10
1740
1740
  },
1741
1741
  {
1742
1742
  "id": "context-efficiency",
1743
1743
  "name": "Context efficiency",
1744
- "score": 6,
1744
+ "score": 7,
1745
1745
  "max": 10
1746
1746
  },
1747
1747
  {
@@ -1753,7 +1753,7 @@
1753
1753
  {
1754
1754
  "id": "testability",
1755
1755
  "name": "Testability",
1756
- "score": 5,
1756
+ "score": 3,
1757
1757
  "max": 10
1758
1758
  },
1759
1759
  {
@@ -1763,7 +1763,7 @@
1763
1763
  "max": 10
1764
1764
  }
1765
1765
  ],
1766
- "evaluatedAt": "2026-06-17T07:48:04.170Z",
1766
+ "evaluatedAt": "2026-07-07T08:55:07.813Z",
1767
1767
  "evaluatedVersion": "0.0.0"
1768
1768
  },
1769
1769
  "skill-best-practice": {
@@ -1771,35 +1771,35 @@
1771
1771
  "providerVersion": "1.1.0",
1772
1772
  "schemaVersion": 1,
1773
1773
  "passed": false,
1774
- "overallScore": 62,
1775
- "grade": "D",
1774
+ "overallScore": 69,
1775
+ "grade": "C",
1776
1776
  "categories": [
1777
1777
  {
1778
1778
  "id": "validation",
1779
1779
  "name": "Deterministic validation",
1780
- "score": 8,
1780
+ "score": 9,
1781
1781
  "max": 13
1782
1782
  }
1783
1783
  ],
1784
- "evaluatedAt": "2026-06-17T07:48:04.170Z",
1784
+ "evaluatedAt": "2026-07-07T08:55:07.813Z",
1785
1785
  "evaluatedVersion": "0.0.0"
1786
1786
  }
1787
1787
  }
1788
1788
  },
1789
1789
  {
1790
- "name": "product-launch-video",
1791
- "description": "Use when the user wants a product launch, SaaS promo, feature reveal, app/company/site marketing video, or a script/brief turned into a product-focused video. Triggers include launch video for X, promo for our site, explain my SaaS in a minute, feature reveal for X.com, and turn this script into a 60s promo. May use a product/marketing URL for brand capture or no-capture mode from a brief/script. Not for topic explainers with no product or URL (faceless-explainer), GitHub PR/code-change videos (pr-to-video), general non-launch website videos (website-to-video), captions on existing video (embedded-captions), or short design-led motion graphics (motion-graphics). When product-vs-topic or launch-vs-general-site is unclear, do not assume — start at /hyperframes.",
1790
+ "name": "music-to-video",
1791
+ "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.",
1792
1792
  "version": "0.0.0",
1793
1793
  "license": "",
1794
1794
  "creator": "",
1795
1795
  "compatibility": "",
1796
1796
  "allowedTools": [],
1797
- "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
1798
- "relPath": "skills/product-launch-video",
1797
+ "installUrl": "github:heygen-com/hyperframes:skills/music-to-video",
1798
+ "relPath": "skills/music-to-video",
1799
1799
  "verified": true,
1800
- "tokenCount": 12136,
1800
+ "tokenCount": 4908,
1801
1801
  "evalSummary": {
1802
- "overallScore": 69,
1802
+ "overallScore": 67,
1803
1803
  "grade": "C",
1804
1804
  "categories": [
1805
1805
  {
@@ -1811,19 +1811,19 @@
1811
1811
  {
1812
1812
  "id": "description",
1813
1813
  "name": "Description quality",
1814
- "score": 3,
1814
+ "score": 0,
1815
1815
  "max": 10
1816
1816
  },
1817
1817
  {
1818
1818
  "id": "prompt-engineering",
1819
1819
  "name": "Prompt engineering",
1820
- "score": 9,
1820
+ "score": 10,
1821
1821
  "max": 10
1822
1822
  },
1823
1823
  {
1824
1824
  "id": "context-efficiency",
1825
1825
  "name": "Context efficiency",
1826
- "score": 6,
1826
+ "score": 7,
1827
1827
  "max": 10
1828
1828
  },
1829
1829
  {
@@ -1845,7 +1845,7 @@
1845
1845
  "max": 10
1846
1846
  }
1847
1847
  ],
1848
- "evaluatedAt": "2026-06-17T07:48:04.174Z",
1848
+ "evaluatedAt": "2026-07-07T08:55:07.815Z",
1849
1849
  "evaluatedVersion": "0.0.0"
1850
1850
  },
1851
1851
  "evalSummaries": {
@@ -1854,7 +1854,7 @@
1854
1854
  "providerVersion": "1.0.0",
1855
1855
  "schemaVersion": 1,
1856
1856
  "passed": true,
1857
- "overallScore": 69,
1857
+ "overallScore": 67,
1858
1858
  "grade": "C",
1859
1859
  "categories": [
1860
1860
  {
@@ -1866,19 +1866,19 @@
1866
1866
  {
1867
1867
  "id": "description",
1868
1868
  "name": "Description quality",
1869
- "score": 3,
1869
+ "score": 0,
1870
1870
  "max": 10
1871
1871
  },
1872
1872
  {
1873
1873
  "id": "prompt-engineering",
1874
1874
  "name": "Prompt engineering",
1875
- "score": 9,
1875
+ "score": 10,
1876
1876
  "max": 10
1877
1877
  },
1878
1878
  {
1879
1879
  "id": "context-efficiency",
1880
1880
  "name": "Context efficiency",
1881
- "score": 6,
1881
+ "score": 7,
1882
1882
  "max": 10
1883
1883
  },
1884
1884
  {
@@ -1900,7 +1900,7 @@
1900
1900
  "max": 10
1901
1901
  }
1902
1902
  ],
1903
- "evaluatedAt": "2026-06-17T07:48:04.174Z",
1903
+ "evaluatedAt": "2026-07-07T08:55:07.815Z",
1904
1904
  "evaluatedVersion": "0.0.0"
1905
1905
  },
1906
1906
  "skill-best-practice": {
@@ -1908,35 +1908,35 @@
1908
1908
  "providerVersion": "1.1.0",
1909
1909
  "schemaVersion": 1,
1910
1910
  "passed": false,
1911
- "overallScore": 77,
1911
+ "overallScore": 69,
1912
1912
  "grade": "C",
1913
1913
  "categories": [
1914
1914
  {
1915
1915
  "id": "validation",
1916
1916
  "name": "Deterministic validation",
1917
- "score": 10,
1917
+ "score": 9,
1918
1918
  "max": 13
1919
1919
  }
1920
1920
  ],
1921
- "evaluatedAt": "2026-06-17T07:48:04.174Z",
1921
+ "evaluatedAt": "2026-07-07T08:55:07.815Z",
1922
1922
  "evaluatedVersion": "0.0.0"
1923
1923
  }
1924
1924
  }
1925
1925
  },
1926
1926
  {
1927
- "name": "remotion-to-hyperframes",
1928
- "description": "Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) \"same video as my Remotion one\" without explicit migrate request treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.",
1927
+ "name": "pr-to-video",
1928
+ "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.",
1929
1929
  "version": "0.0.0",
1930
1930
  "license": "",
1931
1931
  "creator": "",
1932
1932
  "compatibility": "",
1933
1933
  "allowedTools": [],
1934
- "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
1935
- "relPath": "skills/remotion-to-hyperframes",
1934
+ "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
1935
+ "relPath": "skills/pr-to-video",
1936
1936
  "verified": true,
1937
- "tokenCount": 2853,
1937
+ "tokenCount": 7129,
1938
1938
  "evalSummary": {
1939
- "overallScore": 76,
1939
+ "overallScore": 69,
1940
1940
  "grade": "C",
1941
1941
  "categories": [
1942
1942
  {
@@ -1948,31 +1948,31 @@
1948
1948
  {
1949
1949
  "id": "description",
1950
1950
  "name": "Description quality",
1951
- "score": 3,
1951
+ "score": 2,
1952
1952
  "max": 10
1953
1953
  },
1954
1954
  {
1955
1955
  "id": "prompt-engineering",
1956
1956
  "name": "Prompt engineering",
1957
- "score": 10,
1957
+ "score": 8,
1958
1958
  "max": 10
1959
1959
  },
1960
1960
  {
1961
1961
  "id": "context-efficiency",
1962
1962
  "name": "Context efficiency",
1963
- "score": 9,
1963
+ "score": 8,
1964
1964
  "max": 10
1965
1965
  },
1966
1966
  {
1967
1967
  "id": "safety",
1968
1968
  "name": "Safety & guardrails",
1969
- "score": 7,
1969
+ "score": 10,
1970
1970
  "max": 10
1971
1971
  },
1972
1972
  {
1973
1973
  "id": "testability",
1974
1974
  "name": "Testability",
1975
- "score": 7,
1975
+ "score": 3,
1976
1976
  "max": 10
1977
1977
  },
1978
1978
  {
@@ -1982,7 +1982,7 @@
1982
1982
  "max": 10
1983
1983
  }
1984
1984
  ],
1985
- "evaluatedAt": "2026-06-17T07:48:04.177Z",
1985
+ "evaluatedAt": "2026-07-07T08:55:07.818Z",
1986
1986
  "evaluatedVersion": "0.0.0"
1987
1987
  },
1988
1988
  "evalSummaries": {
@@ -1991,8 +1991,556 @@
1991
1991
  "providerVersion": "1.0.0",
1992
1992
  "schemaVersion": 1,
1993
1993
  "passed": true,
1994
- "overallScore": 76,
1994
+ "overallScore": 69,
1995
+ "grade": "C",
1996
+ "categories": [
1997
+ {
1998
+ "id": "structure",
1999
+ "name": "Structure & completeness",
2000
+ "score": 7,
2001
+ "max": 10
2002
+ },
2003
+ {
2004
+ "id": "description",
2005
+ "name": "Description quality",
2006
+ "score": 2,
2007
+ "max": 10
2008
+ },
2009
+ {
2010
+ "id": "prompt-engineering",
2011
+ "name": "Prompt engineering",
2012
+ "score": 8,
2013
+ "max": 10
2014
+ },
2015
+ {
2016
+ "id": "context-efficiency",
2017
+ "name": "Context efficiency",
2018
+ "score": 8,
2019
+ "max": 10
2020
+ },
2021
+ {
2022
+ "id": "safety",
2023
+ "name": "Safety & guardrails",
2024
+ "score": 10,
2025
+ "max": 10
2026
+ },
2027
+ {
2028
+ "id": "testability",
2029
+ "name": "Testability",
2030
+ "score": 3,
2031
+ "max": 10
2032
+ },
2033
+ {
2034
+ "id": "naming",
2035
+ "name": "Naming & conventions",
2036
+ "score": 10,
2037
+ "max": 10
2038
+ }
2039
+ ],
2040
+ "evaluatedAt": "2026-07-07T08:55:07.818Z",
2041
+ "evaluatedVersion": "0.0.0"
2042
+ },
2043
+ "skill-best-practice": {
2044
+ "providerId": "skill-best-practice",
2045
+ "providerVersion": "1.1.0",
2046
+ "schemaVersion": 1,
2047
+ "passed": false,
2048
+ "overallScore": 69,
2049
+ "grade": "C",
2050
+ "categories": [
2051
+ {
2052
+ "id": "validation",
2053
+ "name": "Deterministic validation",
2054
+ "score": 9,
2055
+ "max": 13
2056
+ }
2057
+ ],
2058
+ "evaluatedAt": "2026-07-07T08:55:07.818Z",
2059
+ "evaluatedVersion": "0.0.0"
2060
+ }
2061
+ }
2062
+ },
2063
+ {
2064
+ "name": "product-launch-video",
2065
+ "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. Not a general site tour (/website-to-video). Unclear → /hyperframes.",
2066
+ "version": "0.0.0",
2067
+ "license": "",
2068
+ "creator": "",
2069
+ "compatibility": "",
2070
+ "allowedTools": [],
2071
+ "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
2072
+ "relPath": "skills/product-launch-video",
2073
+ "verified": true,
2074
+ "tokenCount": 5865,
2075
+ "evalSummary": {
2076
+ "overallScore": 71,
2077
+ "grade": "C",
2078
+ "categories": [
2079
+ {
2080
+ "id": "structure",
2081
+ "name": "Structure & completeness",
2082
+ "score": 7,
2083
+ "max": 10
2084
+ },
2085
+ {
2086
+ "id": "description",
2087
+ "name": "Description quality",
2088
+ "score": 5,
2089
+ "max": 10
2090
+ },
2091
+ {
2092
+ "id": "prompt-engineering",
2093
+ "name": "Prompt engineering",
2094
+ "score": 8,
2095
+ "max": 10
2096
+ },
2097
+ {
2098
+ "id": "context-efficiency",
2099
+ "name": "Context efficiency",
2100
+ "score": 7,
2101
+ "max": 10
2102
+ },
2103
+ {
2104
+ "id": "safety",
2105
+ "name": "Safety & guardrails",
2106
+ "score": 10,
2107
+ "max": 10
2108
+ },
2109
+ {
2110
+ "id": "testability",
2111
+ "name": "Testability",
2112
+ "score": 3,
2113
+ "max": 10
2114
+ },
2115
+ {
2116
+ "id": "naming",
2117
+ "name": "Naming & conventions",
2118
+ "score": 10,
2119
+ "max": 10
2120
+ }
2121
+ ],
2122
+ "evaluatedAt": "2026-07-07T08:55:07.820Z",
2123
+ "evaluatedVersion": "0.0.0"
2124
+ },
2125
+ "evalSummaries": {
2126
+ "quality": {
2127
+ "providerId": "quality",
2128
+ "providerVersion": "1.0.0",
2129
+ "schemaVersion": 1,
2130
+ "passed": true,
2131
+ "overallScore": 71,
2132
+ "grade": "C",
2133
+ "categories": [
2134
+ {
2135
+ "id": "structure",
2136
+ "name": "Structure & completeness",
2137
+ "score": 7,
2138
+ "max": 10
2139
+ },
2140
+ {
2141
+ "id": "description",
2142
+ "name": "Description quality",
2143
+ "score": 5,
2144
+ "max": 10
2145
+ },
2146
+ {
2147
+ "id": "prompt-engineering",
2148
+ "name": "Prompt engineering",
2149
+ "score": 8,
2150
+ "max": 10
2151
+ },
2152
+ {
2153
+ "id": "context-efficiency",
2154
+ "name": "Context efficiency",
2155
+ "score": 7,
2156
+ "max": 10
2157
+ },
2158
+ {
2159
+ "id": "safety",
2160
+ "name": "Safety & guardrails",
2161
+ "score": 10,
2162
+ "max": 10
2163
+ },
2164
+ {
2165
+ "id": "testability",
2166
+ "name": "Testability",
2167
+ "score": 3,
2168
+ "max": 10
2169
+ },
2170
+ {
2171
+ "id": "naming",
2172
+ "name": "Naming & conventions",
2173
+ "score": 10,
2174
+ "max": 10
2175
+ }
2176
+ ],
2177
+ "evaluatedAt": "2026-07-07T08:55:07.820Z",
2178
+ "evaluatedVersion": "0.0.0"
2179
+ },
2180
+ "skill-best-practice": {
2181
+ "providerId": "skill-best-practice",
2182
+ "providerVersion": "1.1.0",
2183
+ "schemaVersion": 1,
2184
+ "passed": false,
2185
+ "overallScore": 69,
2186
+ "grade": "C",
2187
+ "categories": [
2188
+ {
2189
+ "id": "validation",
2190
+ "name": "Deterministic validation",
2191
+ "score": 9,
2192
+ "max": 13
2193
+ }
2194
+ ],
2195
+ "evaluatedAt": "2026-07-07T08:55:07.820Z",
2196
+ "evaluatedVersion": "0.0.0"
2197
+ }
2198
+ }
2199
+ },
2200
+ {
2201
+ "name": "remotion-to-hyperframes",
2202
+ "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.",
2203
+ "version": "0.0.0",
2204
+ "license": "",
2205
+ "creator": "",
2206
+ "compatibility": "",
2207
+ "allowedTools": [],
2208
+ "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2209
+ "relPath": "skills/remotion-to-hyperframes",
2210
+ "verified": true,
2211
+ "tokenCount": 2707,
2212
+ "evalSummary": {
2213
+ "overallScore": 74,
2214
+ "grade": "C",
2215
+ "categories": [
2216
+ {
2217
+ "id": "structure",
2218
+ "name": "Structure & completeness",
2219
+ "score": 7,
2220
+ "max": 10
2221
+ },
2222
+ {
2223
+ "id": "description",
2224
+ "name": "Description quality",
2225
+ "score": 2,
2226
+ "max": 10
2227
+ },
2228
+ {
2229
+ "id": "prompt-engineering",
2230
+ "name": "Prompt engineering",
2231
+ "score": 10,
2232
+ "max": 10
2233
+ },
2234
+ {
2235
+ "id": "context-efficiency",
2236
+ "name": "Context efficiency",
2237
+ "score": 9,
2238
+ "max": 10
2239
+ },
2240
+ {
2241
+ "id": "safety",
2242
+ "name": "Safety & guardrails",
2243
+ "score": 7,
2244
+ "max": 10
2245
+ },
2246
+ {
2247
+ "id": "testability",
2248
+ "name": "Testability",
2249
+ "score": 7,
2250
+ "max": 10
2251
+ },
2252
+ {
2253
+ "id": "naming",
2254
+ "name": "Naming & conventions",
2255
+ "score": 10,
2256
+ "max": 10
2257
+ }
2258
+ ],
2259
+ "evaluatedAt": "2026-07-07T08:55:07.822Z",
2260
+ "evaluatedVersion": "0.0.0"
2261
+ },
2262
+ "evalSummaries": {
2263
+ "quality": {
2264
+ "providerId": "quality",
2265
+ "providerVersion": "1.0.0",
2266
+ "schemaVersion": 1,
2267
+ "passed": true,
2268
+ "overallScore": 74,
2269
+ "grade": "C",
2270
+ "categories": [
2271
+ {
2272
+ "id": "structure",
2273
+ "name": "Structure & completeness",
2274
+ "score": 7,
2275
+ "max": 10
2276
+ },
2277
+ {
2278
+ "id": "description",
2279
+ "name": "Description quality",
2280
+ "score": 2,
2281
+ "max": 10
2282
+ },
2283
+ {
2284
+ "id": "prompt-engineering",
2285
+ "name": "Prompt engineering",
2286
+ "score": 10,
2287
+ "max": 10
2288
+ },
2289
+ {
2290
+ "id": "context-efficiency",
2291
+ "name": "Context efficiency",
2292
+ "score": 9,
2293
+ "max": 10
2294
+ },
2295
+ {
2296
+ "id": "safety",
2297
+ "name": "Safety & guardrails",
2298
+ "score": 7,
2299
+ "max": 10
2300
+ },
2301
+ {
2302
+ "id": "testability",
2303
+ "name": "Testability",
2304
+ "score": 7,
2305
+ "max": 10
2306
+ },
2307
+ {
2308
+ "id": "naming",
2309
+ "name": "Naming & conventions",
2310
+ "score": 10,
2311
+ "max": 10
2312
+ }
2313
+ ],
2314
+ "evaluatedAt": "2026-07-07T08:55:07.822Z",
2315
+ "evaluatedVersion": "0.0.0"
2316
+ },
2317
+ "skill-best-practice": {
2318
+ "providerId": "skill-best-practice",
2319
+ "providerVersion": "1.1.0",
2320
+ "schemaVersion": 1,
2321
+ "passed": false,
2322
+ "overallScore": 69,
2323
+ "grade": "C",
2324
+ "categories": [
2325
+ {
2326
+ "id": "validation",
2327
+ "name": "Deterministic validation",
2328
+ "score": 9,
2329
+ "max": 13
2330
+ }
2331
+ ],
2332
+ "evaluatedAt": "2026-07-07T08:55:07.822Z",
2333
+ "evaluatedVersion": "0.0.0"
2334
+ }
2335
+ }
2336
+ },
2337
+ {
2338
+ "name": "slideshow",
2339
+ "description": "Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.",
2340
+ "version": "0.0.0",
2341
+ "license": "",
2342
+ "creator": "",
2343
+ "compatibility": "",
2344
+ "allowedTools": [],
2345
+ "installUrl": "github:heygen-com/hyperframes:skills/slideshow",
2346
+ "relPath": "skills/slideshow",
2347
+ "verified": true,
2348
+ "tokenCount": 10946,
2349
+ "evalSummary": {
2350
+ "overallScore": 69,
2351
+ "grade": "C",
2352
+ "categories": [
2353
+ {
2354
+ "id": "structure",
2355
+ "name": "Structure & completeness",
2356
+ "score": 7,
2357
+ "max": 10
2358
+ },
2359
+ {
2360
+ "id": "description",
2361
+ "name": "Description quality",
2362
+ "score": 5,
2363
+ "max": 10
2364
+ },
2365
+ {
2366
+ "id": "prompt-engineering",
2367
+ "name": "Prompt engineering",
2368
+ "score": 7,
2369
+ "max": 10
2370
+ },
2371
+ {
2372
+ "id": "context-efficiency",
2373
+ "name": "Context efficiency",
2374
+ "score": 3,
2375
+ "max": 10
2376
+ },
2377
+ {
2378
+ "id": "safety",
2379
+ "name": "Safety & guardrails",
2380
+ "score": 9,
2381
+ "max": 10
2382
+ },
2383
+ {
2384
+ "id": "testability",
2385
+ "name": "Testability",
2386
+ "score": 7,
2387
+ "max": 10
2388
+ },
2389
+ {
2390
+ "id": "naming",
2391
+ "name": "Naming & conventions",
2392
+ "score": 10,
2393
+ "max": 10
2394
+ }
2395
+ ],
2396
+ "evaluatedAt": "2026-07-07T08:55:07.826Z",
2397
+ "evaluatedVersion": "0.0.0"
2398
+ },
2399
+ "evalSummaries": {
2400
+ "quality": {
2401
+ "providerId": "quality",
2402
+ "providerVersion": "1.0.0",
2403
+ "schemaVersion": 1,
2404
+ "passed": true,
2405
+ "overallScore": 69,
2406
+ "grade": "C",
2407
+ "categories": [
2408
+ {
2409
+ "id": "structure",
2410
+ "name": "Structure & completeness",
2411
+ "score": 7,
2412
+ "max": 10
2413
+ },
2414
+ {
2415
+ "id": "description",
2416
+ "name": "Description quality",
2417
+ "score": 5,
2418
+ "max": 10
2419
+ },
2420
+ {
2421
+ "id": "prompt-engineering",
2422
+ "name": "Prompt engineering",
2423
+ "score": 7,
2424
+ "max": 10
2425
+ },
2426
+ {
2427
+ "id": "context-efficiency",
2428
+ "name": "Context efficiency",
2429
+ "score": 3,
2430
+ "max": 10
2431
+ },
2432
+ {
2433
+ "id": "safety",
2434
+ "name": "Safety & guardrails",
2435
+ "score": 9,
2436
+ "max": 10
2437
+ },
2438
+ {
2439
+ "id": "testability",
2440
+ "name": "Testability",
2441
+ "score": 7,
2442
+ "max": 10
2443
+ },
2444
+ {
2445
+ "id": "naming",
2446
+ "name": "Naming & conventions",
2447
+ "score": 10,
2448
+ "max": 10
2449
+ }
2450
+ ],
2451
+ "evaluatedAt": "2026-07-07T08:55:07.826Z",
2452
+ "evaluatedVersion": "0.0.0"
2453
+ },
2454
+ "skill-best-practice": {
2455
+ "providerId": "skill-best-practice",
2456
+ "providerVersion": "1.1.0",
2457
+ "schemaVersion": 1,
2458
+ "passed": false,
2459
+ "overallScore": 69,
1995
2460
  "grade": "C",
2461
+ "categories": [
2462
+ {
2463
+ "id": "validation",
2464
+ "name": "Deterministic validation",
2465
+ "score": 9,
2466
+ "max": 13
2467
+ }
2468
+ ],
2469
+ "evaluatedAt": "2026-07-07T08:55:07.826Z",
2470
+ "evaluatedVersion": "0.0.0"
2471
+ }
2472
+ }
2473
+ },
2474
+ {
2475
+ "name": "talking-head-recut",
2476
+ "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.",
2477
+ "version": "0.0.0",
2478
+ "license": "",
2479
+ "creator": "",
2480
+ "compatibility": "",
2481
+ "allowedTools": [],
2482
+ "installUrl": "github:heygen-com/hyperframes:skills/talking-head-recut",
2483
+ "relPath": "skills/talking-head-recut",
2484
+ "verified": true,
2485
+ "tokenCount": 23721,
2486
+ "evalSummary": {
2487
+ "overallScore": 63,
2488
+ "grade": "D",
2489
+ "categories": [
2490
+ {
2491
+ "id": "structure",
2492
+ "name": "Structure & completeness",
2493
+ "score": 7,
2494
+ "max": 10
2495
+ },
2496
+ {
2497
+ "id": "description",
2498
+ "name": "Description quality",
2499
+ "score": 3,
2500
+ "max": 10
2501
+ },
2502
+ {
2503
+ "id": "prompt-engineering",
2504
+ "name": "Prompt engineering",
2505
+ "score": 9,
2506
+ "max": 10
2507
+ },
2508
+ {
2509
+ "id": "context-efficiency",
2510
+ "name": "Context efficiency",
2511
+ "score": 4,
2512
+ "max": 10
2513
+ },
2514
+ {
2515
+ "id": "safety",
2516
+ "name": "Safety & guardrails",
2517
+ "score": 10,
2518
+ "max": 10
2519
+ },
2520
+ {
2521
+ "id": "testability",
2522
+ "name": "Testability",
2523
+ "score": 3,
2524
+ "max": 10
2525
+ },
2526
+ {
2527
+ "id": "naming",
2528
+ "name": "Naming & conventions",
2529
+ "score": 8,
2530
+ "max": 10
2531
+ }
2532
+ ],
2533
+ "evaluatedAt": "2026-07-07T08:55:07.832Z",
2534
+ "evaluatedVersion": "0.0.0"
2535
+ },
2536
+ "evalSummaries": {
2537
+ "quality": {
2538
+ "providerId": "quality",
2539
+ "providerVersion": "1.0.0",
2540
+ "schemaVersion": 1,
2541
+ "passed": true,
2542
+ "overallScore": 63,
2543
+ "grade": "D",
1996
2544
  "categories": [
1997
2545
  {
1998
2546
  "id": "structure",
@@ -2009,35 +2557,35 @@
2009
2557
  {
2010
2558
  "id": "prompt-engineering",
2011
2559
  "name": "Prompt engineering",
2012
- "score": 10,
2560
+ "score": 9,
2013
2561
  "max": 10
2014
2562
  },
2015
2563
  {
2016
2564
  "id": "context-efficiency",
2017
2565
  "name": "Context efficiency",
2018
- "score": 9,
2566
+ "score": 4,
2019
2567
  "max": 10
2020
2568
  },
2021
2569
  {
2022
2570
  "id": "safety",
2023
2571
  "name": "Safety & guardrails",
2024
- "score": 7,
2572
+ "score": 10,
2025
2573
  "max": 10
2026
2574
  },
2027
2575
  {
2028
2576
  "id": "testability",
2029
2577
  "name": "Testability",
2030
- "score": 7,
2578
+ "score": 3,
2031
2579
  "max": 10
2032
2580
  },
2033
2581
  {
2034
2582
  "id": "naming",
2035
2583
  "name": "Naming & conventions",
2036
- "score": 10,
2584
+ "score": 8,
2037
2585
  "max": 10
2038
2586
  }
2039
2587
  ],
2040
- "evaluatedAt": "2026-06-17T07:48:04.177Z",
2588
+ "evaluatedAt": "2026-07-07T08:55:07.833Z",
2041
2589
  "evaluatedVersion": "0.0.0"
2042
2590
  },
2043
2591
  "skill-best-practice": {
@@ -2055,14 +2603,14 @@
2055
2603
  "max": 13
2056
2604
  }
2057
2605
  ],
2058
- "evaluatedAt": "2026-06-17T07:48:04.177Z",
2606
+ "evaluatedAt": "2026-07-07T08:55:07.833Z",
2059
2607
  "evaluatedVersion": "0.0.0"
2060
2608
  }
2061
2609
  }
2062
2610
  },
2063
2611
  {
2064
2612
  "name": "website-to-video",
2065
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (/faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
2613
+ "description": "Capture a general website/URL and turn it into a video OF the site tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear /hyperframes.",
2066
2614
  "version": "0.0.0",
2067
2615
  "license": "",
2068
2616
  "creator": "",
@@ -2071,9 +2619,9 @@
2071
2619
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2072
2620
  "relPath": "skills/website-to-video",
2073
2621
  "verified": true,
2074
- "tokenCount": 4001,
2622
+ "tokenCount": 4214,
2075
2623
  "evalSummary": {
2076
- "overallScore": 66,
2624
+ "overallScore": 69,
2077
2625
  "grade": "C",
2078
2626
  "categories": [
2079
2627
  {
@@ -2085,7 +2633,7 @@
2085
2633
  {
2086
2634
  "id": "description",
2087
2635
  "name": "Description quality",
2088
- "score": 3,
2636
+ "score": 5,
2089
2637
  "max": 10
2090
2638
  },
2091
2639
  {
@@ -2119,7 +2667,7 @@
2119
2667
  "max": 10
2120
2668
  }
2121
2669
  ],
2122
- "evaluatedAt": "2026-06-17T07:48:04.179Z",
2670
+ "evaluatedAt": "2026-07-07T08:55:07.837Z",
2123
2671
  "evaluatedVersion": "0.0.0"
2124
2672
  },
2125
2673
  "evalSummaries": {
@@ -2128,7 +2676,7 @@
2128
2676
  "providerVersion": "1.0.0",
2129
2677
  "schemaVersion": 1,
2130
2678
  "passed": true,
2131
- "overallScore": 66,
2679
+ "overallScore": 69,
2132
2680
  "grade": "C",
2133
2681
  "categories": [
2134
2682
  {
@@ -2140,7 +2688,7 @@
2140
2688
  {
2141
2689
  "id": "description",
2142
2690
  "name": "Description quality",
2143
- "score": 3,
2691
+ "score": 5,
2144
2692
  "max": 10
2145
2693
  },
2146
2694
  {
@@ -2174,7 +2722,7 @@
2174
2722
  "max": 10
2175
2723
  }
2176
2724
  ],
2177
- "evaluatedAt": "2026-06-17T07:48:04.179Z",
2725
+ "evaluatedAt": "2026-07-07T08:55:07.837Z",
2178
2726
  "evaluatedVersion": "0.0.0"
2179
2727
  },
2180
2728
  "skill-best-practice": {
@@ -2182,17 +2730,17 @@
2182
2730
  "providerVersion": "1.1.0",
2183
2731
  "schemaVersion": 1,
2184
2732
  "passed": false,
2185
- "overallScore": 77,
2733
+ "overallScore": 69,
2186
2734
  "grade": "C",
2187
2735
  "categories": [
2188
2736
  {
2189
2737
  "id": "validation",
2190
2738
  "name": "Deterministic validation",
2191
- "score": 10,
2739
+ "score": 9,
2192
2740
  "max": 13
2193
2741
  }
2194
2742
  ],
2195
- "evaluatedAt": "2026-06-17T07:48:04.179Z",
2743
+ "evaluatedAt": "2026-07-07T08:55:07.837Z",
2196
2744
  "evaluatedVersion": "0.0.0"
2197
2745
  }
2198
2746
  }
@@ -2204,7 +2752,7 @@
2204
2752
  "name": "heygen-com-hyperframes-data-ai",
2205
2753
  "description": "Data, analytics, AI, model, prompt, agent, and automation skills. Derived from heygen-com/hyperframes.",
2206
2754
  "author": "ASM (heygen-com/hyperframes)",
2207
- "createdAt": "2026-06-17T07:48:04.180Z",
2755
+ "createdAt": "2026-07-07T08:55:07.838Z",
2208
2756
  "tags": [
2209
2757
  "repo-derived",
2210
2758
  "inferred",
@@ -2218,73 +2766,55 @@
2218
2766
  {
2219
2767
  "name": "embedded-captions",
2220
2768
  "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
2221
- "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription hyperframes remove-background matting HTML render ffmpeg overlay. Requires hyperframes and a single-subject clip.",
2769
+ "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 36 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Runs locally end-to-end (transcribes and mattes the subject itself, no API key). Requires hyperframes and a single-subject clip (multi-shot clips are split per shot).",
2222
2770
  "version": "0.0.0"
2223
2771
  },
2224
2772
  {
2225
2773
  "name": "faceless-explainer",
2226
2774
  "installUrl": "github:heygen-com/hyperframes:skills/faceless-explainer",
2227
- "description": "faceless-explainer video workflow - arbitrary text (article / notes / topic / brief) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> typography / abstract-graphics / diagram / data-viz video. Typical length up to ~3 min (sweet spot ~30-90s); a genuinely longer piece is general-video, not this workflow. Generates its OWN narration (TTS) — it does not sync to a user-supplied / pre-recorded voiceover (that is general-video). No website capture, no real product screenshots. If the text names a product / its site to promote, that is /product-launch-video; when product-vs-topic is unclear, start at /hyperframes.",
2228
- "version": "0.0.0"
2229
- },
2230
- {
2231
- "name": "general-video",
2232
- "installUrl": "github:heygen-com/hyperframes:skills/general-video",
2233
- "description": "Use as the fallback for custom HyperFrames HTML video composition authoring when no specialized workflow fits. Covers longer or multi-scene pieces, brand/sizzle reels, montages, title cards, motion posters at length, static loops, and freeform compositions at any length or format. Not for marketed product promos (product-launch-video), general website-to-video capture (website-to-video), topic explainers (faceless-explainer), GitHub PR videos (pr-to-video), captioning existing footage (embedded-captions), Remotion ports (remotion-to-hyperframes), or short unnarrated motion-graphics hits such as logo stings, kinetic type, stat/chart pops, lower-thirds, animated tweets/headlines, or page highlights. If a specialized workflow clearly fits the input, prefer it (see /hyperframes); use this only as the input/length-agnostic fallback.",
2234
- "version": "0.0.0"
2235
- },
2236
- {
2237
- "name": "graphic-overlays",
2238
- "installUrl": "github:heygen-com/hyperframes:skills/graphic-overlays",
2239
- "description": "Package an existing talking-head / interview / podcast video by layering timed, designed GRAPHIC OVERLAY cards onto the playing video — titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript. The source video plays in full; the agent designs and writes each card's HTML in conversation, then renders to MP4 via hyperframes. Use when the user asks for graphic overlays, on-screen graphics / lower-thirds / data callouts / kinetic titles on a video, \"package / dress up my video\", \"add overlay cards / graphic cards\", or AI-composed graphic packaging of an existing video. NOT for plain subtitles (→ embedded-captions) or building a video from scratch (→ the creation workflows); when unsure overlays-vs-captions, see /hyperframes.",
2775
+ "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 product promo (/product-launch-video) or a site tour (/website-to-video). Unclear /hyperframes.",
2240
2776
  "version": "0.0.0"
2241
2777
  },
2242
2778
  {
2243
2779
  "name": "hyperframes",
2244
2780
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2245
- "description": "READ THIS FIRST — the HyperFrames entry skill. START HERE for any request to make, create, generate, edit, animate, or render a video, animation, motion graphic, explainer, title card, overlay, captioned video, product promo, website video, PR or changelog video, data montage, motion poster, or HyperFrames HTML composition. Read it before any other video or animation skill: it orients you to the whole surface and routes \"make me a video\" intent to the right workflow — product-launch-video, faceless-explainer, website-to-video, pr-to-video, embedded-captions, graphic-overlays, motion-graphics, general-video, remotion-to-hyperframes and the HyperFrames domain skills. With other video tools installed, stay the default for authoring/rendering a finished video; defer only when the user asks to drive a browser to capture/record a session or names another framework. Especially important to read first when no project CLAUDE.md or AGENTS.md explains the video workflow.",
2781
+ "description": "READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, slideshow / interactive deck, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.",
2246
2782
  "version": "0.0.0"
2247
2783
  },
2248
2784
  {
2249
2785
  "name": "hyperframes-core",
2250
2786
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-core",
2251
- "description": "HyperFrames HTML composition contract. Use for composition structure, data attributes, clips, tracks, sub-compositions, variables, media playback, deterministic render rules, and validation of minimal renderable projects.",
2787
+ "description": "The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.",
2788
+ "version": "0.0.0"
2789
+ },
2790
+ {
2791
+ "name": "hyperframes-keyframes",
2792
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-keyframes",
2793
+ "description": "Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.",
2252
2794
  "version": "0.0.0"
2253
2795
  },
2254
2796
  {
2255
- "name": "hyperframes-media",
2256
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-media",
2257
- "description": "Asset preprocessing for HyperFrames compositions multi-provider TTS (HeyGen / ElevenLabs / Kokoro local), multi-provider BGM (Google Lyria / local MusicGen), Whisper transcription, background removal, and caption authoring. Use for npx hyperframes tts, bgm, transcribe, remove-background, voice/provider selection, music-mood prompting, captions / subtitles / lyrics / karaoke / per-word styling.",
2797
+ "name": "media-use",
2798
+ "installUrl": "github:heygen-com/hyperframes:skills/media-use",
2799
+ "description": "Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, or voice into a frozen local file + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Keeps search noise on disk, hands the agent a path. Use for any audio, image, icon, voiceover, caption, or media-asset need.",
2258
2800
  "version": "0.0.0"
2259
2801
  },
2260
2802
  {
2261
2803
  "name": "motion-graphics",
2262
2804
  "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
2263
- "description": "Use when the user wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (website-to-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.",
2805
+ "description": "A short, design-led motion graphic where motion is the message kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene /general-video. Unclear /hyperframes.",
2264
2806
  "version": "0.0.0"
2265
2807
  },
2266
2808
  {
2267
2809
  "name": "pr-to-video",
2268
2810
  "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
2269
- "description": "pr-to-video workflow - a GitHub pull request (URL like github.com/<owner>/<repo>/pull/<N>, or <owner>/<repo>#<N>, or \"this PR\" in a checked-out repo) -> ingested PR facts (title, body, diff, commits, files, +/- stats) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> code-diff / before-after / impact explainer video. Input is a CODE CHANGE. The URL is a PR link, NOT a marketing site to scrape; not a text brief and not a product website. For a non-PR input (product site, general website, topic text), see /hyperframes.",
2270
- "version": "0.0.0"
2271
- },
2272
- {
2273
- "name": "product-launch-video",
2274
- "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
2275
- "description": "Use when the user wants a product launch, SaaS promo, feature reveal, app/company/site marketing video, or a script/brief turned into a product-focused video. Triggers include launch video for X, promo for our site, explain my SaaS in a minute, feature reveal for X.com, and turn this script into a 60s promo. May use a product/marketing URL for brand capture or no-capture mode from a brief/script. Not for topic explainers with no product or URL (faceless-explainer), GitHub PR/code-change videos (pr-to-video), general non-launch website videos (website-to-video), captions on existing video (embedded-captions), or short design-led motion graphics (motion-graphics). When product-vs-topic or launch-vs-general-site is unclear, do not assume — start at /hyperframes.",
2276
- "version": "0.0.0"
2277
- },
2278
- {
2279
- "name": "remotion-to-hyperframes",
2280
- "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2281
- "description": "Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) \"same video as my Remotion one\" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.",
2811
+ "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.",
2282
2812
  "version": "0.0.0"
2283
2813
  },
2284
2814
  {
2285
- "name": "website-to-video",
2286
- "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2287
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (→ /faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (/embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
2815
+ "name": "talking-head-recut",
2816
+ "installUrl": "github:heygen-com/hyperframes:skills/talking-head-recut",
2817
+ "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.",
2288
2818
  "version": "0.0.0"
2289
2819
  }
2290
2820
  ],
@@ -2300,7 +2830,7 @@
2300
2830
  "name": "heygen-com-hyperframes-devops",
2301
2831
  "description": "Deployment, CI/CD, infrastructure, cloud, Docker, Kubernetes, and automation skills. Derived from heygen-com/hyperframes.",
2302
2832
  "author": "ASM (heygen-com/hyperframes)",
2303
- "createdAt": "2026-06-17T07:48:04.180Z",
2833
+ "createdAt": "2026-07-07T08:55:07.838Z",
2304
2834
  "tags": [
2305
2835
  "repo-derived",
2306
2836
  "inferred",
@@ -2314,43 +2844,31 @@
2314
2844
  {
2315
2845
  "name": "embedded-captions",
2316
2846
  "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
2317
- "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription hyperframes remove-background matting HTML render ffmpeg overlay. Requires hyperframes and a single-subject clip.",
2318
- "version": "0.0.0"
2319
- },
2320
- {
2321
- "name": "faceless-explainer",
2322
- "installUrl": "github:heygen-com/hyperframes:skills/faceless-explainer",
2323
- "description": "faceless-explainer video workflow - arbitrary text (article / notes / topic / brief) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> typography / abstract-graphics / diagram / data-viz video. Typical length up to ~3 min (sweet spot ~30-90s); a genuinely longer piece is general-video, not this workflow. Generates its OWN narration (TTS) — it does not sync to a user-supplied / pre-recorded voiceover (that is general-video). No website capture, no real product screenshots. If the text names a product / its site to promote, that is /product-launch-video; when product-vs-topic is unclear, start at /hyperframes.",
2847
+ "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 36 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Runs locally end-to-end (transcribes and mattes the subject itself, no API key). Requires hyperframes and a single-subject clip (multi-shot clips are split per shot).",
2324
2848
  "version": "0.0.0"
2325
2849
  },
2326
2850
  {
2327
2851
  "name": "general-video",
2328
2852
  "installUrl": "github:heygen-com/hyperframes:skills/general-video",
2329
- "description": "Use as the fallback for custom HyperFrames HTML video composition authoring when no specialized workflow fits. Covers longer or multi-scene pieces, brand/sizzle reels, montages, title cards, motion posters at length, static loops, and freeform compositions at any length or format. Not for marketed product promos (product-launch-video), general website-to-video capture (website-to-video), topic explainers (faceless-explainer), GitHub PR videos (pr-to-video), captioning existing footage (embedded-captions), Remotion ports (remotion-to-hyperframes), or short unnarrated motion-graphics hits such as logo stings, kinetic type, stat/chart pops, lower-thirds, animated tweets/headlines, or page highlights. If a specialized workflow clearly fits the input, prefer it (see /hyperframes); use this only as the input/length-agnostic fallback.",
2330
- "version": "0.0.0"
2331
- },
2332
- {
2333
- "name": "graphic-overlays",
2334
- "installUrl": "github:heygen-com/hyperframes:skills/graphic-overlays",
2335
- "description": "Package an existing talking-head / interview / podcast video by layering timed, designed GRAPHIC OVERLAY cards onto the playing video — titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript. The source video plays in full; the agent designs and writes each card's HTML in conversation, then renders to MP4 via hyperframes. Use when the user asks for graphic overlays, on-screen graphics / lower-thirds / data callouts / kinetic titles on a video, \"package / dress up my video\", \"add overlay cards / graphic cards\", or AI-composed graphic packaging of an existing video. NOT for plain subtitles (→ embedded-captions) or building a video from scratch (→ the creation workflows); when unsure overlays-vs-captions, see /hyperframes.",
2853
+ "description": "The fallback workflow for authoring or editing any custom HyperFrames composition at any length or format longer / multi-scene pieces, brand and sizzle reels, montages, title cards, static loops, freeform builds. Use only when no specialized workflow fits the input; routing table at /hyperframes.",
2336
2854
  "version": "0.0.0"
2337
2855
  },
2338
2856
  {
2339
2857
  "name": "hyperframes",
2340
2858
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2341
- "description": "READ THIS FIRST — the HyperFrames entry skill. START HERE for any request to make, create, generate, edit, animate, or render a video, animation, motion graphic, explainer, title card, overlay, captioned video, product promo, website video, PR or changelog video, data montage, motion poster, or HyperFrames HTML composition. Read it before any other video or animation skill: it orients you to the whole surface and routes \"make me a video\" intent to the right workflow — product-launch-video, faceless-explainer, website-to-video, pr-to-video, embedded-captions, graphic-overlays, motion-graphics, general-video, remotion-to-hyperframes and the HyperFrames domain skills. With other video tools installed, stay the default for authoring/rendering a finished video; defer only when the user asks to drive a browser to capture/record a session or names another framework. Especially important to read first when no project CLAUDE.md or AGENTS.md explains the video workflow.",
2859
+ "description": "READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, slideshow / interactive deck, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.",
2342
2860
  "version": "0.0.0"
2343
2861
  },
2344
2862
  {
2345
2863
  "name": "hyperframes-animation",
2346
2864
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-animation",
2347
- "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.",
2865
+ "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.",
2348
2866
  "version": "0.0.0"
2349
2867
  },
2350
2868
  {
2351
2869
  "name": "hyperframes-cli",
2352
2870
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2353
- "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).",
2871
+ "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies / sites`).",
2354
2872
  "version": "0.0.0"
2355
2873
  },
2356
2874
  {
@@ -2359,28 +2877,46 @@
2359
2877
  "description": "Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.",
2360
2878
  "version": "0.0.0"
2361
2879
  },
2880
+ {
2881
+ "name": "hyperframes-keyframes",
2882
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-keyframes",
2883
+ "description": "Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.",
2884
+ "version": "0.0.0"
2885
+ },
2362
2886
  {
2363
2887
  "name": "motion-graphics",
2364
2888
  "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
2365
- "description": "Use when the user wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (website-to-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.",
2889
+ "description": "A short, design-led motion graphic where motion is the message kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene /general-video. Unclear /hyperframes.",
2366
2890
  "version": "0.0.0"
2367
2891
  },
2368
2892
  {
2369
- "name": "pr-to-video",
2370
- "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
2371
- "description": "pr-to-video workflow - a GitHub pull request (URL like github.com/<owner>/<repo>/pull/<N>, or <owner>/<repo>#<N>, or \"this PR\" in a checked-out repo) -> ingested PR facts (title, body, diff, commits, files, +/- stats) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> code-diff / before-after / impact explainer video. Input is a CODE CHANGE. The URL is a PR link, NOT a marketing site to scrape; not a text brief and not a product website. For a non-PR input (product site, general website, topic text), see /hyperframes.",
2893
+ "name": "music-to-video",
2894
+ "installUrl": "github:heygen-com/hyperframes:skills/music-to-video",
2895
+ "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.",
2896
+ "version": "0.0.0"
2897
+ },
2898
+ {
2899
+ "name": "product-launch-video",
2900
+ "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
2901
+ "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. Not a general site tour (/website-to-video). Unclear → /hyperframes.",
2372
2902
  "version": "0.0.0"
2373
2903
  },
2374
2904
  {
2375
2905
  "name": "remotion-to-hyperframes",
2376
2906
  "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2377
- "description": "Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) \"same video as my Remotion one\" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.",
2907
+ "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.",
2908
+ "version": "0.0.0"
2909
+ },
2910
+ {
2911
+ "name": "slideshow",
2912
+ "installUrl": "github:heygen-com/hyperframes:skills/slideshow",
2913
+ "description": "Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.",
2378
2914
  "version": "0.0.0"
2379
2915
  },
2380
2916
  {
2381
2917
  "name": "website-to-video",
2382
2918
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2383
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (/faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
2919
+ "description": "Capture a general website/URL and turn it into a video OF the site tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear /hyperframes.",
2384
2920
  "version": "0.0.0"
2385
2921
  }
2386
2922
  ],
@@ -2396,7 +2932,7 @@
2396
2932
  "name": "heygen-com-hyperframes-engineering",
2397
2933
  "description": "Coding, debugging, testing, architecture, review, and software engineering skills. Derived from heygen-com/hyperframes.",
2398
2934
  "author": "ASM (heygen-com/hyperframes)",
2399
- "createdAt": "2026-06-17T07:48:04.180Z",
2935
+ "createdAt": "2026-07-07T08:55:07.838Z",
2400
2936
  "tags": [
2401
2937
  "repo-derived",
2402
2938
  "inferred",
@@ -2410,55 +2946,73 @@
2410
2946
  {
2411
2947
  "name": "embedded-captions",
2412
2948
  "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
2413
- "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription hyperframes remove-background matting HTML render ffmpeg overlay. Requires hyperframes and a single-subject clip.",
2949
+ "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 36 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Runs locally end-to-end (transcribes and mattes the subject itself, no API key). Requires hyperframes and a single-subject clip (multi-shot clips are split per shot).",
2950
+ "version": "0.0.0"
2951
+ },
2952
+ {
2953
+ "name": "figma",
2954
+ "installUrl": "github:heygen-com/hyperframes:skills/figma",
2955
+ "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), Figma Motion animations (MCP), and shaders (MCP source / 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.",
2956
+ "version": "0.0.0"
2957
+ },
2958
+ {
2959
+ "name": "general-video",
2960
+ "installUrl": "github:heygen-com/hyperframes:skills/general-video",
2961
+ "description": "The fallback workflow for authoring or editing any custom HyperFrames composition at any length or format — longer / multi-scene pieces, brand and sizzle reels, montages, title cards, static loops, freeform builds. Use only when no specialized workflow fits the input; routing table at /hyperframes.",
2414
2962
  "version": "0.0.0"
2415
2963
  },
2416
2964
  {
2417
- "name": "graphic-overlays",
2418
- "installUrl": "github:heygen-com/hyperframes:skills/graphic-overlays",
2419
- "description": "Package an existing talking-head / interview / podcast video by layering timed, designed GRAPHIC OVERLAY cards onto the playing videotitles, lower-thirds, data callouts, quotes, side panels, picture-in-picture synced to the transcript. The source video plays in full; the agent designs and writes each card's HTML in conversation, then renders to MP4 via hyperframes. Use when the user asks for graphic overlays, on-screen graphics / lower-thirds / data callouts / kinetic titles on a video, \"package / dress up my video\", \"add overlay cards / graphic cards\", or AI-composed graphic packaging of an existing video. NOT for plain subtitles (→ embedded-captions) or building a video from scratch (→ the creation workflows); when unsure overlays-vs-captions, see /hyperframes.",
2965
+ "name": "hyperframes",
2966
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2967
+ "description": "READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphica promo, explainer, captioned clip, title card, overlay, slideshow / interactive deck, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.",
2420
2968
  "version": "0.0.0"
2421
2969
  },
2422
2970
  {
2423
2971
  "name": "hyperframes-animation",
2424
2972
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-animation",
2425
- "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.",
2973
+ "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.",
2426
2974
  "version": "0.0.0"
2427
2975
  },
2428
2976
  {
2429
2977
  "name": "hyperframes-cli",
2430
2978
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2431
- "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).",
2979
+ "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies / sites`).",
2432
2980
  "version": "0.0.0"
2433
2981
  },
2434
2982
  {
2435
2983
  "name": "hyperframes-core",
2436
2984
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-core",
2437
- "description": "HyperFrames HTML composition contract. Use for composition structure, data attributes, clips, tracks, sub-compositions, variables, media playback, deterministic render rules, and validation of minimal renderable projects.",
2985
+ "description": "The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.",
2438
2986
  "version": "0.0.0"
2439
2987
  },
2440
2988
  {
2441
- "name": "pr-to-video",
2442
- "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
2443
- "description": "pr-to-video workflow - a GitHub pull request (URL like github.com/<owner>/<repo>/pull/<N>, or <owner>/<repo>#<N>, or \"this PR\" in a checked-out repo) -> ingested PR facts (title, body, diff, commits, files, +/- stats) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> code-diff / before-after / impact explainer video. Input is a CODE CHANGE. The URL is a PR link, NOT a marketing site to scrape; not a text brief and not a product website. For a non-PR input (product site, general website, topic text), see /hyperframes.",
2989
+ "name": "hyperframes-keyframes",
2990
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-keyframes",
2991
+ "description": "Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.",
2444
2992
  "version": "0.0.0"
2445
2993
  },
2446
2994
  {
2447
- "name": "product-launch-video",
2448
- "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
2449
- "description": "Use when the user wants a product launch, SaaS promo, feature reveal, app/company/site marketing video, or a script/brief turned into a product-focused video. Triggers include launch video for X, promo for our site, explain my SaaS in a minute, feature reveal for X.com, and turn this script into a 60s promo. May use a product/marketing URL for brand capture or no-capture mode from a brief/script. Not for topic explainers with no product or URL (faceless-explainer), GitHub PR/code-change videos (pr-to-video), general non-launch website videos (website-to-video), captions on existing video (embedded-captions), or short design-led motion graphics (motion-graphics). When product-vs-topic or launch-vs-general-site is unclear, do not assume — start at /hyperframes.",
2995
+ "name": "pr-to-video",
2996
+ "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
2997
+ "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.",
2450
2998
  "version": "0.0.0"
2451
2999
  },
2452
3000
  {
2453
3001
  "name": "remotion-to-hyperframes",
2454
3002
  "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2455
- "description": "Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) \"same video as my Remotion one\" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.",
3003
+ "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.",
3004
+ "version": "0.0.0"
3005
+ },
3006
+ {
3007
+ "name": "talking-head-recut",
3008
+ "installUrl": "github:heygen-com/hyperframes:skills/talking-head-recut",
3009
+ "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.",
2456
3010
  "version": "0.0.0"
2457
3011
  },
2458
3012
  {
2459
3013
  "name": "website-to-video",
2460
3014
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2461
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (/faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
3015
+ "description": "Capture a general website/URL and turn it into a video OF the site tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear /hyperframes.",
2462
3016
  "version": "0.0.0"
2463
3017
  }
2464
3018
  ],
@@ -2474,7 +3028,7 @@
2474
3028
  "name": "heygen-com-hyperframes-frontend-design",
2475
3029
  "description": "Frontend, UI, UX, visual design, component, theme, and landing-page skills. Derived from heygen-com/hyperframes.",
2476
3030
  "author": "ASM (heygen-com/hyperframes)",
2477
- "createdAt": "2026-06-17T07:48:04.180Z",
3031
+ "createdAt": "2026-07-07T08:55:07.838Z",
2478
3032
  "tags": [
2479
3033
  "repo-derived",
2480
3034
  "inferred",
@@ -2488,49 +3042,49 @@
2488
3042
  {
2489
3043
  "name": "embedded-captions",
2490
3044
  "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
2491
- "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription hyperframes remove-background matting HTML render ffmpeg overlay. Requires hyperframes and a single-subject clip.",
3045
+ "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 36 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Runs locally end-to-end (transcribes and mattes the subject itself, no API key). Requires hyperframes and a single-subject clip (multi-shot clips are split per shot).",
2492
3046
  "version": "0.0.0"
2493
3047
  },
2494
3048
  {
2495
3049
  "name": "faceless-explainer",
2496
3050
  "installUrl": "github:heygen-com/hyperframes:skills/faceless-explainer",
2497
- "description": "faceless-explainer video workflow - arbitrary text (article / notes / topic / brief) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> typography / abstract-graphics / diagram / data-viz video. Typical length up to ~3 min (sweet spot ~30-90s); a genuinely longer piece is general-video, not this workflow. Generates its OWN narration (TTS) — it does not sync to a user-supplied / pre-recorded voiceover (that is general-video). No website capture, no real product screenshots. If the text names a product / its site to promote, that is /product-launch-video; when product-vs-topic is unclear, start at /hyperframes.",
3051
+ "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 product promo (/product-launch-video) or a site tour (/website-to-video). Unclear /hyperframes.",
2498
3052
  "version": "0.0.0"
2499
3053
  },
2500
3054
  {
2501
- "name": "general-video",
2502
- "installUrl": "github:heygen-com/hyperframes:skills/general-video",
2503
- "description": "Use as the fallback for custom HyperFrames HTML video composition authoring when no specialized workflow fits. Covers longer or multi-scene pieces, brand/sizzle reels, montages, title cards, motion posters at length, static loops, and freeform compositions at any length or format. Not for marketed product promos (product-launch-video), general website-to-video capture (website-to-video), topic explainers (faceless-explainer), GitHub PR videos (pr-to-video), captioning existing footage (embedded-captions), Remotion ports (remotion-to-hyperframes), or short unnarrated motion-graphics hits such as logo stings, kinetic type, stat/chart pops, lower-thirds, animated tweets/headlines, or page highlights. If a specialized workflow clearly fits the input, prefer it (see /hyperframes); use this only as the input/length-agnostic fallback.",
3055
+ "name": "figma",
3056
+ "installUrl": "github:heygen-com/hyperframes:skills/figma",
3057
+ "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), Figma Motion animations (MCP), and shaders (MCP source / 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.",
2504
3058
  "version": "0.0.0"
2505
3059
  },
2506
3060
  {
2507
- "name": "graphic-overlays",
2508
- "installUrl": "github:heygen-com/hyperframes:skills/graphic-overlays",
2509
- "description": "Package an existing talking-head / interview / podcast video by layering timed, designed GRAPHIC OVERLAY cards onto the playing video — titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript. The source video plays in full; the agent designs and writes each card's HTML in conversation, then renders to MP4 via hyperframes. Use when the user asks for graphic overlays, on-screen graphics / lower-thirds / data callouts / kinetic titles on a video, \"package / dress up my video\", \"add overlay cards / graphic cards\", or AI-composed graphic packaging of an existing video. NOT for plain subtitles (→ embedded-captions) or building a video from scratch (→ the creation workflows); when unsure overlays-vs-captions, see /hyperframes.",
3061
+ "name": "general-video",
3062
+ "installUrl": "github:heygen-com/hyperframes:skills/general-video",
3063
+ "description": "The fallback workflow for authoring or editing any custom HyperFrames composition at any length or format longer / multi-scene pieces, brand and sizzle reels, montages, title cards, static loops, freeform builds. Use only when no specialized workflow fits the input; routing table at /hyperframes.",
2510
3064
  "version": "0.0.0"
2511
3065
  },
2512
3066
  {
2513
3067
  "name": "hyperframes",
2514
3068
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2515
- "description": "READ THIS FIRST — the HyperFrames entry skill. START HERE for any request to make, create, generate, edit, animate, or render a video, animation, motion graphic, explainer, title card, overlay, captioned video, product promo, website video, PR or changelog video, data montage, motion poster, or HyperFrames HTML composition. Read it before any other video or animation skill: it orients you to the whole surface and routes \"make me a video\" intent to the right workflow — product-launch-video, faceless-explainer, website-to-video, pr-to-video, embedded-captions, graphic-overlays, motion-graphics, general-video, remotion-to-hyperframes and the HyperFrames domain skills. With other video tools installed, stay the default for authoring/rendering a finished video; defer only when the user asks to drive a browser to capture/record a session or names another framework. Especially important to read first when no project CLAUDE.md or AGENTS.md explains the video workflow.",
3069
+ "description": "READ THIS FIRST for any request to make, create, edit, animate, or render a video, animation, or motion graphic — a promo, explainer, captioned clip, title card, overlay, slideshow / interactive deck, or any composition. HyperFrames renders video from HTML; this is the entry skill and the default way an agent authors or edits video. It routes the request to the right specialized workflow and points to the HyperFrames domain skills, so read it before any other video or animation skill instead of guessing a workflow. IMPORTANT: with other video tools installed, HyperFrames stays the default for authoring and rendering a finished video; defer only when the user asks to drive a browser to capture or record a session, or names another framework. Most important when no project CLAUDE.md or AGENTS.md describes the video workflow.",
2516
3070
  "version": "0.0.0"
2517
3071
  },
2518
3072
  {
2519
3073
  "name": "hyperframes-animation",
2520
3074
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-animation",
2521
- "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). HyperFrames-native: single paused timeline, seek-safe, deterministic.",
3075
+ "description": "All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.",
2522
3076
  "version": "0.0.0"
2523
3077
  },
2524
3078
  {
2525
3079
  "name": "hyperframes-cli",
2526
3080
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2527
- "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).",
3081
+ "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies / sites`).",
2528
3082
  "version": "0.0.0"
2529
3083
  },
2530
3084
  {
2531
3085
  "name": "hyperframes-core",
2532
3086
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-core",
2533
- "description": "HyperFrames HTML composition contract. Use for composition structure, data attributes, clips, tracks, sub-compositions, variables, media playback, deterministic render rules, and validation of minimal renderable projects.",
3087
+ "description": "The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.",
2534
3088
  "version": "0.0.0"
2535
3089
  },
2536
3090
  {
@@ -2539,6 +3093,12 @@
2539
3093
  "description": "Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use `hyperframes-animation`.",
2540
3094
  "version": "0.0.0"
2541
3095
  },
3096
+ {
3097
+ "name": "hyperframes-keyframes",
3098
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-keyframes",
3099
+ "description": "Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.",
3100
+ "version": "0.0.0"
3101
+ },
2542
3102
  {
2543
3103
  "name": "hyperframes-registry",
2544
3104
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-registry",
@@ -2548,25 +3108,37 @@
2548
3108
  {
2549
3109
  "name": "motion-graphics",
2550
3110
  "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
2551
- "description": "Use when the user wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (website-to-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.",
3111
+ "description": "A short, design-led motion graphic where motion is the message kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene /general-video. Unclear /hyperframes.",
2552
3112
  "version": "0.0.0"
2553
3113
  },
2554
3114
  {
2555
- "name": "product-launch-video",
2556
- "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
2557
- "description": "Use when the user wants a product launch, SaaS promo, feature reveal, app/company/site marketing video, or a script/brief turned into a product-focused video. Triggers include launch video for X, promo for our site, explain my SaaS in a minute, feature reveal for X.com, and turn this script into a 60s promo. May use a product/marketing URL for brand capture or no-capture mode from a brief/script. Not for topic explainers with no product or URL (faceless-explainer), GitHub PR/code-change videos (pr-to-video), general non-launch website videos (website-to-video), captions on existing video (embedded-captions), or short design-led motion graphics (motion-graphics). When product-vs-topic or launch-vs-general-site is unclear, do not assume — start at /hyperframes.",
3115
+ "name": "pr-to-video",
3116
+ "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
3117
+ "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.",
2558
3118
  "version": "0.0.0"
2559
3119
  },
2560
3120
  {
2561
3121
  "name": "remotion-to-hyperframes",
2562
3122
  "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2563
- "description": "Port an existing Remotion (React) composition to HyperFrames HTML. Use ONLY when the user explicitly asks to port/convert/migrate/translate a Remotion source. Do NOT use: (a) authoring a new HyperFrames composition; (b) Remotion mentioned in passing; (c) Remotion code shared as reference only; (d) \"same video as my Remotion one\" without explicit migrate request — treat as fresh build. Doubt → `/general-video`. One-way, Remotion-only: no reverse export (HyperFrames→Remotion or any framework), no non-Remotion source (After Effects, Framer Motion, plain React/CSS) → out of scope, re-create via `/general-video`. Flags unsupported patterns (useState, useEffect, async calculateMetadata, third-party React libs, `@remotion/lambda`) and recommends runtime interop over lossy translation. Unsure whether to port vs. build fresh, or only a passing Remotion mention? → /hyperframes.",
3123
+ "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.",
3124
+ "version": "0.0.0"
3125
+ },
3126
+ {
3127
+ "name": "slideshow",
3128
+ "installUrl": "github:heygen-com/hyperframes:skills/slideshow",
3129
+ "description": "Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't explicitly ask for a slideshow, confirm before authoring. Unclear → /hyperframes.",
3130
+ "version": "0.0.0"
3131
+ },
3132
+ {
3133
+ "name": "talking-head-recut",
3134
+ "installUrl": "github:heygen-com/hyperframes:skills/talking-head-recut",
3135
+ "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.",
2564
3136
  "version": "0.0.0"
2565
3137
  },
2566
3138
  {
2567
3139
  "name": "website-to-video",
2568
3140
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2569
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (/faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
3141
+ "description": "Capture a general website/URL and turn it into a video OF the site tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear /hyperframes.",
2570
3142
  "version": "0.0.0"
2571
3143
  }
2572
3144
  ],
@@ -2582,7 +3154,7 @@
2582
3154
  "name": "heygen-com-hyperframes-marketing",
2583
3155
  "description": "Marketing, growth, SEO, ASO, affiliate, sales, and conversion skills. Derived from heygen-com/hyperframes.",
2584
3156
  "author": "ASM (heygen-com/hyperframes)",
2585
- "createdAt": "2026-06-17T07:48:04.180Z",
3157
+ "createdAt": "2026-07-07T08:55:07.838Z",
2586
3158
  "tags": [
2587
3159
  "repo-derived",
2588
3160
  "inferred",
@@ -2593,10 +3165,16 @@
2593
3165
  "hyperframes"
2594
3166
  ],
2595
3167
  "skills": [
3168
+ {
3169
+ "name": "figma",
3170
+ "installUrl": "github:heygen-com/hyperframes:skills/figma",
3171
+ "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), Figma Motion animations (MCP), and shaders (MCP source / 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.",
3172
+ "version": "0.0.0"
3173
+ },
2596
3174
  {
2597
3175
  "name": "general-video",
2598
3176
  "installUrl": "github:heygen-com/hyperframes:skills/general-video",
2599
- "description": "Use as the fallback for custom HyperFrames HTML video composition authoring when no specialized workflow fits. Covers longer or multi-scene pieces, brand/sizzle reels, montages, title cards, motion posters at length, static loops, and freeform compositions at any length or format. Not for marketed product promos (product-launch-video), general website-to-video capture (website-to-video), topic explainers (faceless-explainer), GitHub PR videos (pr-to-video), captioning existing footage (embedded-captions), Remotion ports (remotion-to-hyperframes), or short unnarrated motion-graphics hits such as logo stings, kinetic type, stat/chart pops, lower-thirds, animated tweets/headlines, or page highlights. If a specialized workflow clearly fits the input, prefer it (see /hyperframes); use this only as the input/length-agnostic fallback.",
3177
+ "description": "The fallback workflow for authoring or editing any custom HyperFrames composition at any length or format longer / multi-scene pieces, brand and sizzle reels, montages, title cards, static loops, freeform builds. Use only when no specialized workflow fits the input; routing table at /hyperframes.",
2600
3178
  "version": "0.0.0"
2601
3179
  },
2602
3180
  {
@@ -2606,27 +3184,33 @@
2606
3184
  "version": "0.0.0"
2607
3185
  },
2608
3186
  {
2609
- "name": "motion-graphics",
2610
- "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
2611
- "description": "Use when the user wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (website-to-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.",
3187
+ "name": "hyperframes-keyframes",
3188
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-keyframes",
3189
+ "description": "Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.",
2612
3190
  "version": "0.0.0"
2613
3191
  },
2614
3192
  {
2615
- "name": "pr-to-video",
2616
- "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
2617
- "description": "pr-to-video workflow - a GitHub pull request (URL like github.com/<owner>/<repo>/pull/<N>, or <owner>/<repo>#<N>, or \"this PR\" in a checked-out repo) -> ingested PR facts (title, body, diff, commits, files, +/- stats) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> code-diff / before-after / impact explainer video. Input is a CODE CHANGE. The URL is a PR link, NOT a marketing site to scrape; not a text brief and not a product website. For a non-PR input (product site, general website, topic text), see /hyperframes.",
3193
+ "name": "media-use",
3194
+ "installUrl": "github:heygen-com/hyperframes:skills/media-use",
3195
+ "description": "Agent Media OS, the single skill for every media need in a HyperFrames project. Resolve BGM, SFX, image, icon, or voice into a frozen local file + ledger record (one verb, `resolve`); generate via TTS / music / image models when the catalog misses; produce voiceover, transcription, captions, and background removal through one shared audio engine; operate on media (cut / reframe / transform); and reuse assets across projects. Keeps search noise on disk, hands the agent a path. Use for any audio, image, icon, voiceover, caption, or media-asset need.",
3196
+ "version": "0.0.0"
3197
+ },
3198
+ {
3199
+ "name": "motion-graphics",
3200
+ "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
3201
+ "description": "A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.",
2618
3202
  "version": "0.0.0"
2619
3203
  },
2620
3204
  {
2621
3205
  "name": "product-launch-video",
2622
3206
  "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
2623
- "description": "Use when the user wants a product launch, SaaS promo, feature reveal, app/company/site marketing video, or a script/brief turned into a product-focused video. Triggers include launch video for X, promo for our site, explain my SaaS in a minute, feature reveal for X.com, and turn this script into a 60s promo. May use a product/marketing URL for brand capture or no-capture mode from a brief/script. Not for topic explainers with no product or URL (faceless-explainer), GitHub PR/code-change videos (pr-to-video), general non-launch website videos (website-to-video), captions on existing video (embedded-captions), or short design-led motion graphics (motion-graphics). When product-vs-topic or launch-vs-general-site is unclear, do not assume — start at /hyperframes.",
3207
+ "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. Not a general site tour (/website-to-video). Unclear /hyperframes.",
2624
3208
  "version": "0.0.0"
2625
3209
  },
2626
3210
  {
2627
3211
  "name": "website-to-video",
2628
3212
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2629
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (/faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
3213
+ "description": "Capture a general website/URL and turn it into a video OF the site tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear /hyperframes.",
2630
3214
  "version": "0.0.0"
2631
3215
  }
2632
3216
  ],
@@ -2642,7 +3226,7 @@
2642
3226
  "name": "heygen-com-hyperframes-product-business",
2643
3227
  "description": "Product, strategy, PRD, planning, finance, resume, and business workflow skills. Derived from heygen-com/hyperframes.",
2644
3228
  "author": "ASM (heygen-com/hyperframes)",
2645
- "createdAt": "2026-06-17T07:48:04.180Z",
3229
+ "createdAt": "2026-07-07T08:55:07.838Z",
2646
3230
  "tags": [
2647
3231
  "repo-derived",
2648
3232
  "inferred",
@@ -2656,19 +3240,7 @@
2656
3240
  {
2657
3241
  "name": "faceless-explainer",
2658
3242
  "installUrl": "github:heygen-com/hyperframes:skills/faceless-explainer",
2659
- "description": "faceless-explainer video workflow - arbitrary text (article / notes / topic / brief) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> typography / abstract-graphics / diagram / data-viz video. Typical length up to ~3 min (sweet spot ~30-90s); a genuinely longer piece is general-video, not this workflow. Generates its OWN narration (TTS) — it does not sync to a user-supplied / pre-recorded voiceover (that is general-video). No website capture, no real product screenshots. If the text names a product / its site to promote, that is /product-launch-video; when product-vs-topic is unclear, start at /hyperframes.",
2660
- "version": "0.0.0"
2661
- },
2662
- {
2663
- "name": "general-video",
2664
- "installUrl": "github:heygen-com/hyperframes:skills/general-video",
2665
- "description": "Use as the fallback for custom HyperFrames HTML video composition authoring when no specialized workflow fits. Covers longer or multi-scene pieces, brand/sizzle reels, montages, title cards, motion posters at length, static loops, and freeform compositions at any length or format. Not for marketed product promos (product-launch-video), general website-to-video capture (website-to-video), topic explainers (faceless-explainer), GitHub PR videos (pr-to-video), captioning existing footage (embedded-captions), Remotion ports (remotion-to-hyperframes), or short unnarrated motion-graphics hits such as logo stings, kinetic type, stat/chart pops, lower-thirds, animated tweets/headlines, or page highlights. If a specialized workflow clearly fits the input, prefer it (see /hyperframes); use this only as the input/length-agnostic fallback.",
2666
- "version": "0.0.0"
2667
- },
2668
- {
2669
- "name": "hyperframes",
2670
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2671
- "description": "READ THIS FIRST — the HyperFrames entry skill. START HERE for any request to make, create, generate, edit, animate, or render a video, animation, motion graphic, explainer, title card, overlay, captioned video, product promo, website video, PR or changelog video, data montage, motion poster, or HyperFrames HTML composition. Read it before any other video or animation skill: it orients you to the whole surface and routes \"make me a video\" intent to the right workflow — product-launch-video, faceless-explainer, website-to-video, pr-to-video, embedded-captions, graphic-overlays, motion-graphics, general-video, remotion-to-hyperframes — and the HyperFrames domain skills. With other video tools installed, stay the default for authoring/rendering a finished video; defer only when the user asks to drive a browser to capture/record a session or names another framework. Especially important to read first when no project CLAUDE.md or AGENTS.md explains the video workflow.",
3243
+ "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 product promo (/product-launch-video) or a site tour (/website-to-video). Unclear /hyperframes.",
2672
3244
  "version": "0.0.0"
2673
3245
  },
2674
3246
  {
@@ -2678,27 +3250,27 @@
2678
3250
  "version": "0.0.0"
2679
3251
  },
2680
3252
  {
2681
- "name": "motion-graphics",
2682
- "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
2683
- "description": "Use when the user wants a short, design-led motion graphic where motion is the message: kinetic typography, stat or number count-up, chart/data-viz hit, logo sting, brand lockup, lower-third, callout, social overlay, animated headline/tweet/news item, motion poster, or quick captured-page highlight. Usually under 10s and up to ~30s, with no narration arc, voice-over, or live-action subject. Can render to MP4 or transparent overlay. Not for longer, multi-scene, narrated, or brand-reel pieces (use general-video), narrated website videos (website-to-video), topic explainers (faceless-explainer), product promos (product-launch-video), PR videos (pr-to-video), or captions on existing footage (embedded-captions). When unsure whether it's a quick motion-first piece or a longer / narrated treatment, see /hyperframes.",
3253
+ "name": "hyperframes-keyframes",
3254
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-keyframes",
3255
+ "description": "Use when a HyperFrames composition needs seek-safe 2D/3D keyframes, GSAP timelines, CSS keyframes, Anime.js, WAAPI, FLIP, paths, masks, SVG morph/draw, text trails, 3D depth, or `hyperframes keyframes` diagnostics. Don't use for broad scene strategy, brand design, media sourcing, captions, or general video planning.",
2684
3256
  "version": "0.0.0"
2685
3257
  },
2686
3258
  {
2687
3259
  "name": "pr-to-video",
2688
3260
  "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
2689
- "description": "pr-to-video workflow - a GitHub pull request (URL like github.com/<owner>/<repo>/pull/<N>, or <owner>/<repo>#<N>, or \"this PR\" in a checked-out repo) -> ingested PR facts (title, body, diff, commits, files, +/- stats) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> code-diff / before-after / impact explainer video. Input is a CODE CHANGE. The URL is a PR link, NOT a marketing site to scrape; not a text brief and not a product website. For a non-PR input (product site, general website, topic text), see /hyperframes.",
3261
+ "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.",
2690
3262
  "version": "0.0.0"
2691
3263
  },
2692
3264
  {
2693
3265
  "name": "product-launch-video",
2694
3266
  "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
2695
- "description": "Use when the user wants a product launch, SaaS promo, feature reveal, app/company/site marketing video, or a script/brief turned into a product-focused video. Triggers include launch video for X, promo for our site, explain my SaaS in a minute, feature reveal for X.com, and turn this script into a 60s promo. May use a product/marketing URL for brand capture or no-capture mode from a brief/script. Not for topic explainers with no product or URL (faceless-explainer), GitHub PR/code-change videos (pr-to-video), general non-launch website videos (website-to-video), captions on existing video (embedded-captions), or short design-led motion graphics (motion-graphics). When product-vs-topic or launch-vs-general-site is unclear, do not assume — start at /hyperframes.",
3267
+ "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. Not a general site tour (/website-to-video). Unclear /hyperframes.",
2696
3268
  "version": "0.0.0"
2697
3269
  },
2698
3270
  {
2699
3271
  "name": "website-to-video",
2700
3272
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2701
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (/faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
3273
+ "description": "Capture a general website/URL and turn it into a video OF the site tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear /hyperframes.",
2702
3274
  "version": "0.0.0"
2703
3275
  }
2704
3276
  ],
@@ -2714,7 +3286,7 @@
2714
3286
  "name": "heygen-com-hyperframes-research",
2715
3287
  "description": "Research, academic, literature-review, citation, paper, and analysis skills. Derived from heygen-com/hyperframes.",
2716
3288
  "author": "ASM (heygen-com/hyperframes)",
2717
- "createdAt": "2026-06-17T07:48:04.180Z",
3289
+ "createdAt": "2026-07-07T08:55:07.838Z",
2718
3290
  "tags": [
2719
3291
  "repo-derived",
2720
3292
  "inferred",
@@ -2728,13 +3300,13 @@
2728
3300
  {
2729
3301
  "name": "embedded-captions",
2730
3302
  "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
2731
- "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription hyperframes remove-background matting HTML render ffmpeg overlay. Requires hyperframes and a single-subject clip.",
3303
+ "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 36 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Runs locally end-to-end (transcribes and mattes the subject itself, no API key). Requires hyperframes and a single-subject clip (multi-shot clips are split per shot).",
2732
3304
  "version": "0.0.0"
2733
3305
  },
2734
3306
  {
2735
3307
  "name": "hyperframes-cli",
2736
3308
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2737
- "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).",
3309
+ "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies / sites`).",
2738
3310
  "version": "0.0.0"
2739
3311
  }
2740
3312
  ],
@@ -2750,7 +3322,7 @@
2750
3322
  "name": "heygen-com-hyperframes-writing",
2751
3323
  "description": "Writing, editing, documentation, publishing, and content-production skills. Derived from heygen-com/hyperframes.",
2752
3324
  "author": "ASM (heygen-com/hyperframes)",
2753
- "createdAt": "2026-06-17T07:48:04.180Z",
3325
+ "createdAt": "2026-07-07T08:55:07.838Z",
2754
3326
  "tags": [
2755
3327
  "repo-derived",
2756
3328
  "inferred",
@@ -2764,31 +3336,43 @@
2764
3336
  {
2765
3337
  "name": "embedded-captions",
2766
3338
  "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
2767
- "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 32 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Pipeline: transcription hyperframes remove-background matting HTML render ffmpeg overlay. Requires hyperframes and a single-subject clip.",
3339
+ "description": "Add captions to a talking-head video. ONE catalog (CATALOG.md) of 36 visual identities behind two engines: column-flow (captions composited INTO the scene — matte occlusion + mix-blend; cream/ink/editorial/keynote/documentary/loud/neon/glitch/chrome/velocity) and themed constitutions (anchor/ordnance/terminal/neonsign/stardust/stomp/scoreboard/transit/vhs/arcade/dossier/laser/thunder/hologram/biolume/aurora/spectrum/papercut/popup/chalkboard/graffiti/brush/inkwater/ransom/lastpage/nightcity — e.g. a glyph-decode climax, a neon sign WRITTEN stroke by stroke, or the quiet `anchor` rail default). Route by identity, never by mode. Trigger on \"captions/subtitles\", \"embed/cinematic captions\", \"VFX captions\", \"炸/特效/酷炫字幕\", a named identity, or top-tier motion-graphics asks. Embedding every word is wrong for most talking-head content — `anchor` is the verbatim default. Runs locally end-to-end (transcribes and mattes the subject itself, no API key). Requires hyperframes and a single-subject clip (multi-shot clips are split per shot).",
2768
3340
  "version": "0.0.0"
2769
3341
  },
2770
3342
  {
2771
3343
  "name": "faceless-explainer",
2772
3344
  "installUrl": "github:heygen-com/hyperframes:skills/faceless-explainer",
2773
- "description": "faceless-explainer video workflow - arbitrary text (article / notes / topic / brief) -> narrator_scripts.json + audio (voice + BGM) + section_plan.md -> typography / abstract-graphics / diagram / data-viz video. Typical length up to ~3 min (sweet spot ~30-90s); a genuinely longer piece is general-video, not this workflow. Generates its OWN narration (TTS) — it does not sync to a user-supplied / pre-recorded voiceover (that is general-video). No website capture, no real product screenshots. If the text names a product / its site to promote, that is /product-launch-video; when product-vs-topic is unclear, start at /hyperframes.",
3345
+ "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 product promo (/product-launch-video) or a site tour (/website-to-video). Unclear /hyperframes.",
2774
3346
  "version": "0.0.0"
2775
3347
  },
2776
3348
  {
2777
- "name": "graphic-overlays",
2778
- "installUrl": "github:heygen-com/hyperframes:skills/graphic-overlays",
2779
- "description": "Package an existing talking-head / interview / podcast video by layering timed, designed GRAPHIC OVERLAY cards onto the playing video titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture synced to the transcript. The source video plays in full; the agent designs and writes each card's HTML in conversation, then renders to MP4 via hyperframes. Use when the user asks for graphic overlays, on-screen graphics / lower-thirds / data callouts / kinetic titles on a video, \"package / dress up my video\", \"add overlay cards / graphic cards\", or AI-composed graphic packaging of an existing video. NOT for plain subtitles (→ embedded-captions) or building a video from scratch (→ the creation workflows); when unsure overlays-vs-captions, see /hyperframes.",
3349
+ "name": "figma",
3350
+ "installUrl": "github:heygen-com/hyperframes:skills/figma",
3351
+ "description": "Import Figma content into a HyperFrames compositionrendered assets, brand tokens, components, storyboard sections reconstructed motion (frames read as states, not slides) (REST/CLI), Figma Motion animations (MCP), and shaders (MCP source / 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.",
2780
3352
  "version": "0.0.0"
2781
3353
  },
2782
3354
  {
2783
3355
  "name": "hyperframes-cli",
2784
3356
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2785
- "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies`).",
3357
+ "description": "HyperFrames CLI dev loop. Use when running npx hyperframes init, add, catalog, capture, lint, validate, inspect, layout, snapshot, preview, play, render, publish, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry, transcribe, tts, or remove-background, or when troubleshooting the HyperFrames build/render environment. Entry point for AWS Lambda cloud rendering (`hyperframes lambda deploy / render / progress / destroy / policies / sites`).",
3358
+ "version": "0.0.0"
3359
+ },
3360
+ {
3361
+ "name": "hyperframes-core",
3362
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-core",
3363
+ "description": "The HyperFrames composition contract — build one renderable project. Use for composition structure, the `data-*` timing attributes, `class=\"clip\"`, tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Also covers Tailwind projects and the STORYBOARD.md / SCRIPT.md plan formats. Read before writing composition HTML.",
3364
+ "version": "0.0.0"
3365
+ },
3366
+ {
3367
+ "name": "motion-graphics",
3368
+ "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
3369
+ "description": "A short, design-led motion graphic where motion is the message — kinetic typography, stat count-up, chart/data-viz hit, logo sting / brand lockup, lower-third / callout / social overlay, animated map (highlight regions, connect places, zoom to a location), animated tweet / news-article / headline, webpage / UI animation (scroll, cursor, callouts), or fusing a real image's geometry into a chart. Usually under 10s (up to ~30s), no narration or live-action subject; renders to MP4 or transparent overlay. Longer / narrated / multi-scene → /general-video. Unclear → /hyperframes.",
2786
3370
  "version": "0.0.0"
2787
3371
  },
2788
3372
  {
2789
3373
  "name": "website-to-video",
2790
3374
  "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2791
- "description": "Capture a general website/URL and turn it into a HyperFrames video (site tour, showcase, or social clip from the site's own visuals). Uses headless Chrome screenshots + brand assets. Use when intent is general portfolio/blog/landing-page showcase or social clip from the site. NOT for: product/SaaS launch or promo (→ /product-launch-video, even from a URL); topic explainer with no site (/faceless-explainer); GitHub PR (→ /pr-to-video); adding captions to existing video (→ /embedded-captions); short unnarrated page-highlight motion graphic (→ /motion-graphics). Unclear launch-vs-general-site? Ask one question or start at /hyperframes.",
3375
+ "description": "Capture a general website/URL and turn it into a video OF the site tour, showcase, or social clip built from captured screenshots and the site's own brand assets. Use for portfolio / blog / docs / landing-page showcases. Not a product launch or promo, even from a URL (/product-launch-video). Unclear /hyperframes.",
2792
3376
  "version": "0.0.0"
2793
3377
  }
2794
3378
  ],