agent-skill-manager 2.10.0 → 2.12.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 (42) hide show
  1. package/README.md +4 -2
  2. package/data/skill-index/Affitor_affiliate-skills.json +683 -528
  3. package/data/skill-index/Eronred_aso-skills.json +129 -129
  4. package/data/skill-index/GPTomics_bioSkills.json +6801 -4632
  5. package/data/skill-index/Galaxy-Dawn_claude-scholar.json +144 -144
  6. package/data/skill-index/Imbad0202_academic-research-skills.json +59 -59
  7. package/data/skill-index/K-Dense-AI_claude-scientific-skills.json +3336 -2956
  8. package/data/skill-index/Leonxlnx_taste-skill.json +47 -47
  9. package/data/skill-index/Master-cai_Research-Paper-Writing-Skills.json +4 -4
  10. package/data/skill-index/MiniMax-AI_skills.json +78 -78
  11. package/data/skill-index/Paramchoudhary_ResumeSkills.json +67 -67
  12. package/data/skill-index/affaan-m_everything-claude-code.json +8557 -5383
  13. package/data/skill-index/alirezarezvani_claude-skills.json +3924 -3239
  14. package/data/skill-index/anthropics_skills.json +97 -103
  15. package/data/skill-index/antonbabenko_terraform-skill.json +9 -9
  16. package/data/skill-index/badlogic_pi-skills.json +1287 -0
  17. package/data/skill-index/briiirussell_cybersecurity-skills.json +4752 -0
  18. package/data/skill-index/bytedance_deer-flow.json +586 -91
  19. package/data/skill-index/coreyhaines31_marketingskills.json +597 -239
  20. package/data/skill-index/entireio_skills.json +40 -40
  21. package/data/skill-index/github_awesome-copilot.json +5913 -4356
  22. package/data/skill-index/google_skills.json +791 -153
  23. package/data/skill-index/heygen-com_hyperframes.json +718 -407
  24. package/data/skill-index/himself65_finance-skills.json +249 -82
  25. package/data/skill-index/kemiljk_fluid-design.json +4 -4
  26. package/data/skill-index/kepano_obsidian-skills.json +20 -20
  27. package/data/skill-index/luongnv89_skills.json +266 -266
  28. package/data/skill-index/mattpocock_skills.json +108 -102
  29. package/data/skill-index/nextlevelbuilder_ui-ux-pro-max-skill.json +29 -29
  30. package/data/skill-index/obra_superpowers.json +82 -82
  31. package/data/skill-index/romainsimon_paperasse.json +26 -26
  32. package/data/skill-index/sickn33_antigravity-awesome-skills.json +43952 -34041
  33. package/data/skill-index/slavingia_skills.json +38 -38
  34. package/data/skill-index/warpdotdev_oz-skills.json +52 -52
  35. package/data/skill-index/zarazhangrui_follow-builders.json +147 -0
  36. package/data/skill-index-resources.json +28 -1
  37. package/dist/agent-skill-manager.js +189 -189
  38. package/dist/{chunk-GXMGHLWC.js → chunk-5MMJGI6J.js} +1 -1
  39. package/dist/devtools-6JCLZ364.js +8 -0
  40. package/dist/{src-A6NEPNI5.js → src-NB45CVD2.js} +2 -2
  41. package/package.json +1 -1
  42. package/dist/devtools-W557IAG7.js +0 -8
@@ -2,23 +2,23 @@
2
2
  "repoUrl": "https://github.com/heygen-com/hyperframes.git",
3
3
  "owner": "heygen-com",
4
4
  "repo": "hyperframes",
5
- "updatedAt": "2026-06-02T22:29:36.134Z",
6
- "skillCount": 15,
5
+ "updatedAt": "2026-06-17T07:48:04.180Z",
6
+ "skillCount": 16,
7
7
  "skills": [
8
8
  {
9
- "name": "animejs",
10
- "description": "Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.",
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.",
11
11
  "version": "0.0.0",
12
12
  "license": "",
13
13
  "creator": "",
14
14
  "compatibility": "",
15
15
  "allowedTools": [],
16
- "installUrl": "github:heygen-com/hyperframes:skills/animejs",
17
- "relPath": "skills/animejs",
16
+ "installUrl": "github:heygen-com/hyperframes:skills/embedded-captions",
17
+ "relPath": "skills/embedded-captions",
18
18
  "verified": true,
19
- "tokenCount": 847,
19
+ "tokenCount": 10355,
20
20
  "evalSummary": {
21
- "overallScore": 66,
21
+ "overallScore": 67,
22
22
  "grade": "C",
23
23
  "categories": [
24
24
  {
@@ -30,7 +30,7 @@
30
30
  {
31
31
  "id": "description",
32
32
  "name": "Description quality",
33
- "score": 7,
33
+ "score": 6,
34
34
  "max": 10
35
35
  },
36
36
  {
@@ -42,7 +42,7 @@
42
42
  {
43
43
  "id": "context-efficiency",
44
44
  "name": "Context efficiency",
45
- "score": 9,
45
+ "score": 6,
46
46
  "max": 10
47
47
  },
48
48
  {
@@ -54,7 +54,7 @@
54
54
  {
55
55
  "id": "testability",
56
56
  "name": "Testability",
57
- "score": 0,
57
+ "score": 5,
58
58
  "max": 10
59
59
  },
60
60
  {
@@ -64,7 +64,7 @@
64
64
  "max": 10
65
65
  }
66
66
  ],
67
- "evaluatedAt": "2026-06-02T22:29:36.109Z",
67
+ "evaluatedAt": "2026-06-17T07:48:04.135Z",
68
68
  "evaluatedVersion": "0.0.0"
69
69
  },
70
70
  "evalSummaries": {
@@ -73,7 +73,7 @@
73
73
  "providerVersion": "1.0.0",
74
74
  "schemaVersion": 1,
75
75
  "passed": true,
76
- "overallScore": 66,
76
+ "overallScore": 67,
77
77
  "grade": "C",
78
78
  "categories": [
79
79
  {
@@ -85,7 +85,7 @@
85
85
  {
86
86
  "id": "description",
87
87
  "name": "Description quality",
88
- "score": 7,
88
+ "score": 6,
89
89
  "max": 10
90
90
  },
91
91
  {
@@ -97,7 +97,7 @@
97
97
  {
98
98
  "id": "context-efficiency",
99
99
  "name": "Context efficiency",
100
- "score": 9,
100
+ "score": 6,
101
101
  "max": 10
102
102
  },
103
103
  {
@@ -109,7 +109,7 @@
109
109
  {
110
110
  "id": "testability",
111
111
  "name": "Testability",
112
- "score": 0,
112
+ "score": 5,
113
113
  "max": 10
114
114
  },
115
115
  {
@@ -119,7 +119,7 @@
119
119
  "max": 10
120
120
  }
121
121
  ],
122
- "evaluatedAt": "2026-06-02T22:29:36.109Z",
122
+ "evaluatedAt": "2026-06-17T07:48:04.135Z",
123
123
  "evaluatedVersion": "0.0.0"
124
124
  },
125
125
  "skill-best-practice": {
@@ -137,25 +137,25 @@
137
137
  "max": 13
138
138
  }
139
139
  ],
140
- "evaluatedAt": "2026-06-02T22:29:36.109Z",
140
+ "evaluatedAt": "2026-06-17T07:48:04.135Z",
141
141
  "evaluatedVersion": "0.0.0"
142
142
  }
143
143
  }
144
144
  },
145
145
  {
146
- "name": "contribute-catalog",
147
- "description": "Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalogfor in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.",
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.",
148
148
  "version": "0.0.0",
149
149
  "license": "",
150
150
  "creator": "",
151
151
  "compatibility": "",
152
152
  "allowedTools": [],
153
- "installUrl": "github:heygen-com/hyperframes:skills/contribute-catalog",
154
- "relPath": "skills/contribute-catalog",
153
+ "installUrl": "github:heygen-com/hyperframes:skills/faceless-explainer",
154
+ "relPath": "skills/faceless-explainer",
155
155
  "verified": true,
156
- "tokenCount": 1887,
156
+ "tokenCount": 14228,
157
157
  "evalSummary": {
158
- "overallScore": 73,
158
+ "overallScore": 67,
159
159
  "grade": "C",
160
160
  "categories": [
161
161
  {
@@ -167,31 +167,31 @@
167
167
  {
168
168
  "id": "description",
169
169
  "name": "Description quality",
170
- "score": 5,
170
+ "score": 3,
171
171
  "max": 10
172
172
  },
173
173
  {
174
174
  "id": "prompt-engineering",
175
175
  "name": "Prompt engineering",
176
- "score": 10,
176
+ "score": 8,
177
177
  "max": 10
178
178
  },
179
179
  {
180
180
  "id": "context-efficiency",
181
181
  "name": "Context efficiency",
182
- "score": 9,
182
+ "score": 6,
183
183
  "max": 10
184
184
  },
185
185
  {
186
186
  "id": "safety",
187
187
  "name": "Safety & guardrails",
188
- "score": 9,
188
+ "score": 10,
189
189
  "max": 10
190
190
  },
191
191
  {
192
192
  "id": "testability",
193
193
  "name": "Testability",
194
- "score": 1,
194
+ "score": 3,
195
195
  "max": 10
196
196
  },
197
197
  {
@@ -201,7 +201,7 @@
201
201
  "max": 10
202
202
  }
203
203
  ],
204
- "evaluatedAt": "2026-06-02T22:29:36.110Z",
204
+ "evaluatedAt": "2026-06-17T07:48:04.140Z",
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": 73,
213
+ "overallScore": 67,
214
214
  "grade": "C",
215
215
  "categories": [
216
216
  {
@@ -222,31 +222,31 @@
222
222
  {
223
223
  "id": "description",
224
224
  "name": "Description quality",
225
- "score": 5,
225
+ "score": 3,
226
226
  "max": 10
227
227
  },
228
228
  {
229
229
  "id": "prompt-engineering",
230
230
  "name": "Prompt engineering",
231
- "score": 10,
231
+ "score": 8,
232
232
  "max": 10
233
233
  },
234
234
  {
235
235
  "id": "context-efficiency",
236
236
  "name": "Context efficiency",
237
- "score": 9,
237
+ "score": 6,
238
238
  "max": 10
239
239
  },
240
240
  {
241
241
  "id": "safety",
242
242
  "name": "Safety & guardrails",
243
- "score": 9,
243
+ "score": 10,
244
244
  "max": 10
245
245
  },
246
246
  {
247
247
  "id": "testability",
248
248
  "name": "Testability",
249
- "score": 1,
249
+ "score": 3,
250
250
  "max": 10
251
251
  },
252
252
  {
@@ -256,7 +256,7 @@
256
256
  "max": 10
257
257
  }
258
258
  ],
259
- "evaluatedAt": "2026-06-02T22:29:36.110Z",
259
+ "evaluatedAt": "2026-06-17T07:48:04.140Z",
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": 69,
268
- "grade": "C",
267
+ "overallScore": 62,
268
+ "grade": "D",
269
269
  "categories": [
270
270
  {
271
271
  "id": "validation",
272
272
  "name": "Deterministic validation",
273
- "score": 9,
273
+ "score": 8,
274
274
  "max": 13
275
275
  }
276
276
  ],
277
- "evaluatedAt": "2026-06-02T22:29:36.110Z",
277
+ "evaluatedAt": "2026-06-17T07:48:04.140Z",
278
278
  "evaluatedVersion": "0.0.0"
279
279
  }
280
280
  }
281
281
  },
282
282
  {
283
- "name": "css-animations",
284
- "description": "CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.",
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.",
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/css-animations",
291
- "relPath": "skills/css-animations",
290
+ "installUrl": "github:heygen-com/hyperframes:skills/general-video",
291
+ "relPath": "skills/general-video",
292
292
  "verified": true,
293
- "tokenCount": 1010,
293
+ "tokenCount": 4508,
294
294
  "evalSummary": {
295
- "overallScore": 66,
296
- "grade": "C",
295
+ "overallScore": 63,
296
+ "grade": "D",
297
297
  "categories": [
298
298
  {
299
299
  "id": "structure",
@@ -304,31 +304,31 @@
304
304
  {
305
305
  "id": "description",
306
306
  "name": "Description quality",
307
- "score": 7,
307
+ "score": 3,
308
308
  "max": 10
309
309
  },
310
310
  {
311
311
  "id": "prompt-engineering",
312
312
  "name": "Prompt engineering",
313
- "score": 6,
313
+ "score": 8,
314
314
  "max": 10
315
315
  },
316
316
  {
317
317
  "id": "context-efficiency",
318
318
  "name": "Context efficiency",
319
- "score": 9,
319
+ "score": 7,
320
320
  "max": 10
321
321
  },
322
322
  {
323
323
  "id": "safety",
324
324
  "name": "Safety & guardrails",
325
- "score": 7,
325
+ "score": 6,
326
326
  "max": 10
327
327
  },
328
328
  {
329
329
  "id": "testability",
330
330
  "name": "Testability",
331
- "score": 0,
331
+ "score": 3,
332
332
  "max": 10
333
333
  },
334
334
  {
@@ -338,7 +338,7 @@
338
338
  "max": 10
339
339
  }
340
340
  ],
341
- "evaluatedAt": "2026-06-02T22:29:36.111Z",
341
+ "evaluatedAt": "2026-06-17T07:48:04.144Z",
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": 66,
351
- "grade": "C",
350
+ "overallScore": 63,
351
+ "grade": "D",
352
352
  "categories": [
353
353
  {
354
354
  "id": "structure",
@@ -359,31 +359,31 @@
359
359
  {
360
360
  "id": "description",
361
361
  "name": "Description quality",
362
- "score": 7,
362
+ "score": 3,
363
363
  "max": 10
364
364
  },
365
365
  {
366
366
  "id": "prompt-engineering",
367
367
  "name": "Prompt engineering",
368
- "score": 6,
368
+ "score": 8,
369
369
  "max": 10
370
370
  },
371
371
  {
372
372
  "id": "context-efficiency",
373
373
  "name": "Context efficiency",
374
- "score": 9,
374
+ "score": 7,
375
375
  "max": 10
376
376
  },
377
377
  {
378
378
  "id": "safety",
379
379
  "name": "Safety & guardrails",
380
- "score": 7,
380
+ "score": 6,
381
381
  "max": 10
382
382
  },
383
383
  {
384
384
  "id": "testability",
385
385
  "name": "Testability",
386
- "score": 0,
386
+ "score": 3,
387
387
  "max": 10
388
388
  },
389
389
  {
@@ -393,7 +393,7 @@
393
393
  "max": 10
394
394
  }
395
395
  ],
396
- "evaluatedAt": "2026-06-02T22:29:36.111Z",
396
+ "evaluatedAt": "2026-06-17T07:48:04.144Z",
397
397
  "evaluatedVersion": "0.0.0"
398
398
  },
399
399
  "skill-best-practice": {
@@ -411,25 +411,25 @@
411
411
  "max": 13
412
412
  }
413
413
  ],
414
- "evaluatedAt": "2026-06-02T22:29:36.111Z",
414
+ "evaluatedAt": "2026-06-17T07:48:04.144Z",
415
415
  "evaluatedVersion": "0.0.0"
416
416
  }
417
417
  }
418
418
  },
419
419
  {
420
- "name": "gsap",
421
- "description": "GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.",
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.",
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/gsap",
428
- "relPath": "skills/gsap",
427
+ "installUrl": "github:heygen-com/hyperframes:skills/graphic-overlays",
428
+ "relPath": "skills/graphic-overlays",
429
429
  "verified": true,
430
- "tokenCount": 2029,
430
+ "tokenCount": 23818,
431
431
  "evalSummary": {
432
- "overallScore": 56,
432
+ "overallScore": 63,
433
433
  "grade": "D",
434
434
  "categories": [
435
435
  {
@@ -441,41 +441,41 @@
441
441
  {
442
442
  "id": "description",
443
443
  "name": "Description quality",
444
- "score": 7,
444
+ "score": 3,
445
445
  "max": 10
446
446
  },
447
447
  {
448
448
  "id": "prompt-engineering",
449
449
  "name": "Prompt engineering",
450
- "score": 6,
450
+ "score": 9,
451
451
  "max": 10
452
452
  },
453
453
  {
454
454
  "id": "context-efficiency",
455
455
  "name": "Context efficiency",
456
- "score": 9,
456
+ "score": 4,
457
457
  "max": 10
458
458
  },
459
459
  {
460
460
  "id": "safety",
461
461
  "name": "Safety & guardrails",
462
- "score": 0,
462
+ "score": 10,
463
463
  "max": 10
464
464
  },
465
465
  {
466
466
  "id": "testability",
467
467
  "name": "Testability",
468
- "score": 0,
468
+ "score": 3,
469
469
  "max": 10
470
470
  },
471
471
  {
472
472
  "id": "naming",
473
473
  "name": "Naming & conventions",
474
- "score": 10,
474
+ "score": 8,
475
475
  "max": 10
476
476
  }
477
477
  ],
478
- "evaluatedAt": "2026-06-02T22:29:36.112Z",
478
+ "evaluatedAt": "2026-06-17T07:48:04.149Z",
479
479
  "evaluatedVersion": "0.0.0"
480
480
  },
481
481
  "evalSummaries": {
@@ -484,7 +484,7 @@
484
484
  "providerVersion": "1.0.0",
485
485
  "schemaVersion": 1,
486
486
  "passed": true,
487
- "overallScore": 56,
487
+ "overallScore": 63,
488
488
  "grade": "D",
489
489
  "categories": [
490
490
  {
@@ -496,41 +496,41 @@
496
496
  {
497
497
  "id": "description",
498
498
  "name": "Description quality",
499
- "score": 7,
499
+ "score": 3,
500
500
  "max": 10
501
501
  },
502
502
  {
503
503
  "id": "prompt-engineering",
504
504
  "name": "Prompt engineering",
505
- "score": 6,
505
+ "score": 9,
506
506
  "max": 10
507
507
  },
508
508
  {
509
509
  "id": "context-efficiency",
510
510
  "name": "Context efficiency",
511
- "score": 9,
511
+ "score": 4,
512
512
  "max": 10
513
513
  },
514
514
  {
515
515
  "id": "safety",
516
516
  "name": "Safety & guardrails",
517
- "score": 0,
517
+ "score": 10,
518
518
  "max": 10
519
519
  },
520
520
  {
521
521
  "id": "testability",
522
522
  "name": "Testability",
523
- "score": 0,
523
+ "score": 3,
524
524
  "max": 10
525
525
  },
526
526
  {
527
527
  "id": "naming",
528
528
  "name": "Naming & conventions",
529
- "score": 10,
529
+ "score": 8,
530
530
  "max": 10
531
531
  }
532
532
  ],
533
- "evaluatedAt": "2026-06-02T22:29:36.112Z",
533
+ "evaluatedAt": "2026-06-17T07:48:04.149Z",
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": 69,
541
+ "overallScore": 77,
542
542
  "grade": "C",
543
543
  "categories": [
544
544
  {
545
545
  "id": "validation",
546
546
  "name": "Deterministic validation",
547
- "score": 9,
547
+ "score": 10,
548
548
  "max": 13
549
549
  }
550
550
  ],
551
- "evaluatedAt": "2026-06-02T22:29:36.112Z",
551
+ "evaluatedAt": "2026-06-17T07:48:04.149Z",
552
552
  "evaluatedVersion": "0.0.0"
553
553
  }
554
554
  }
555
555
  },
556
556
  {
557
557
  "name": "hyperframes",
558
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
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.",
559
559
  "version": "0.0.0",
560
560
  "license": "",
561
561
  "creator": "",
@@ -564,10 +564,10 @@
564
564
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
565
565
  "relPath": "skills/hyperframes",
566
566
  "verified": true,
567
- "tokenCount": 8715,
567
+ "tokenCount": 9913,
568
568
  "evalSummary": {
569
- "overallScore": 70,
570
- "grade": "C",
569
+ "overallScore": 57,
570
+ "grade": "D",
571
571
  "categories": [
572
572
  {
573
573
  "id": "structure",
@@ -578,13 +578,13 @@
578
578
  {
579
579
  "id": "description",
580
580
  "name": "Description quality",
581
- "score": 6,
581
+ "score": 3,
582
582
  "max": 10
583
583
  },
584
584
  {
585
585
  "id": "prompt-engineering",
586
586
  "name": "Prompt engineering",
587
- "score": 7,
587
+ "score": 5,
588
588
  "max": 10
589
589
  },
590
590
  {
@@ -596,7 +596,7 @@
596
596
  {
597
597
  "id": "safety",
598
598
  "name": "Safety & guardrails",
599
- "score": 9,
599
+ "score": 5,
600
600
  "max": 10
601
601
  },
602
602
  {
@@ -612,7 +612,7 @@
612
612
  "max": 10
613
613
  }
614
614
  ],
615
- "evaluatedAt": "2026-06-02T22:29:36.115Z",
615
+ "evaluatedAt": "2026-06-17T07:48:04.155Z",
616
616
  "evaluatedVersion": "0.0.0"
617
617
  },
618
618
  "evalSummaries": {
@@ -621,8 +621,8 @@
621
621
  "providerVersion": "1.0.0",
622
622
  "schemaVersion": 1,
623
623
  "passed": true,
624
- "overallScore": 70,
625
- "grade": "C",
624
+ "overallScore": 57,
625
+ "grade": "D",
626
626
  "categories": [
627
627
  {
628
628
  "id": "structure",
@@ -633,13 +633,13 @@
633
633
  {
634
634
  "id": "description",
635
635
  "name": "Description quality",
636
- "score": 6,
636
+ "score": 3,
637
637
  "max": 10
638
638
  },
639
639
  {
640
640
  "id": "prompt-engineering",
641
641
  "name": "Prompt engineering",
642
- "score": 7,
642
+ "score": 5,
643
643
  "max": 10
644
644
  },
645
645
  {
@@ -651,7 +651,7 @@
651
651
  {
652
652
  "id": "safety",
653
653
  "name": "Safety & guardrails",
654
- "score": 9,
654
+ "score": 5,
655
655
  "max": 10
656
656
  },
657
657
  {
@@ -667,7 +667,7 @@
667
667
  "max": 10
668
668
  }
669
669
  ],
670
- "evaluatedAt": "2026-06-02T22:29:36.116Z",
670
+ "evaluatedAt": "2026-06-17T07:48:04.155Z",
671
671
  "evaluatedVersion": "0.0.0"
672
672
  },
673
673
  "skill-best-practice": {
@@ -685,26 +685,26 @@
685
685
  "max": 13
686
686
  }
687
687
  ],
688
- "evaluatedAt": "2026-06-02T22:29:36.116Z",
688
+ "evaluatedAt": "2026-06-17T07:48:04.155Z",
689
689
  "evaluatedVersion": "0.0.0"
690
690
  }
691
691
  }
692
692
  },
693
693
  {
694
- "name": "hyperframes-cli",
695
- "description": "HyperFrames CLI dev loop`npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.",
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.",
696
696
  "version": "0.0.0",
697
697
  "license": "",
698
698
  "creator": "",
699
699
  "compatibility": "",
700
700
  "allowedTools": [],
701
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
702
- "relPath": "skills/hyperframes-cli",
701
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-animation",
702
+ "relPath": "skills/hyperframes-animation",
703
703
  "verified": true,
704
- "tokenCount": 3349,
704
+ "tokenCount": 2697,
705
705
  "evalSummary": {
706
- "overallScore": 69,
707
- "grade": "C",
706
+ "overallScore": 56,
707
+ "grade": "D",
708
708
  "categories": [
709
709
  {
710
710
  "id": "structure",
@@ -715,13 +715,13 @@
715
715
  {
716
716
  "id": "description",
717
717
  "name": "Description quality",
718
- "score": 5,
718
+ "score": 3,
719
719
  "max": 10
720
720
  },
721
721
  {
722
722
  "id": "prompt-engineering",
723
723
  "name": "Prompt engineering",
724
- "score": 8,
724
+ "score": 5,
725
725
  "max": 10
726
726
  },
727
727
  {
@@ -733,13 +733,13 @@
733
733
  {
734
734
  "id": "safety",
735
735
  "name": "Safety & guardrails",
736
- "score": 7,
736
+ "score": 5,
737
737
  "max": 10
738
738
  },
739
739
  {
740
740
  "id": "testability",
741
741
  "name": "Testability",
742
- "score": 2,
742
+ "score": 0,
743
743
  "max": 10
744
744
  },
745
745
  {
@@ -749,7 +749,7 @@
749
749
  "max": 10
750
750
  }
751
751
  ],
752
- "evaluatedAt": "2026-06-02T22:29:36.119Z",
752
+ "evaluatedAt": "2026-06-17T07:48:04.158Z",
753
753
  "evaluatedVersion": "0.0.0"
754
754
  },
755
755
  "evalSummaries": {
@@ -758,8 +758,8 @@
758
758
  "providerVersion": "1.0.0",
759
759
  "schemaVersion": 1,
760
760
  "passed": true,
761
- "overallScore": 69,
762
- "grade": "C",
761
+ "overallScore": 56,
762
+ "grade": "D",
763
763
  "categories": [
764
764
  {
765
765
  "id": "structure",
@@ -770,13 +770,13 @@
770
770
  {
771
771
  "id": "description",
772
772
  "name": "Description quality",
773
- "score": 5,
773
+ "score": 3,
774
774
  "max": 10
775
775
  },
776
776
  {
777
777
  "id": "prompt-engineering",
778
778
  "name": "Prompt engineering",
779
- "score": 8,
779
+ "score": 5,
780
780
  "max": 10
781
781
  },
782
782
  {
@@ -788,13 +788,13 @@
788
788
  {
789
789
  "id": "safety",
790
790
  "name": "Safety & guardrails",
791
- "score": 7,
791
+ "score": 5,
792
792
  "max": 10
793
793
  },
794
794
  {
795
795
  "id": "testability",
796
796
  "name": "Testability",
797
- "score": 2,
797
+ "score": 0,
798
798
  "max": 10
799
799
  },
800
800
  {
@@ -804,7 +804,7 @@
804
804
  "max": 10
805
805
  }
806
806
  ],
807
- "evaluatedAt": "2026-06-02T22:29:36.119Z",
807
+ "evaluatedAt": "2026-06-17T07:48:04.158Z",
808
808
  "evaluatedVersion": "0.0.0"
809
809
  },
810
810
  "skill-best-practice": {
@@ -822,26 +822,26 @@
822
822
  "max": 13
823
823
  }
824
824
  ],
825
- "evaluatedAt": "2026-06-02T22:29:36.119Z",
825
+ "evaluatedAt": "2026-06-17T07:48:04.158Z",
826
826
  "evaluatedVersion": "0.0.0"
827
827
  }
828
828
  }
829
829
  },
830
830
  {
831
- "name": "hyperframes-media",
832
- "description": "Asset preprocessing for HyperFrames compositions text-to-speech narration (Kokoro), audio/video transcription (Whisper), and background removal for transparent overlays (u2net). Use when generating voiceover from text, transcribing speech for captions, removing the background from a video or image to use as a transparent overlay, choosing a TTS voice or whisper model, or chaining these (TTS transcribe captions). Each command downloads its own model on first run.",
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`).",
833
833
  "version": "0.0.0",
834
834
  "license": "",
835
835
  "creator": "",
836
836
  "compatibility": "",
837
837
  "allowedTools": [],
838
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-media",
839
- "relPath": "skills/hyperframes-media",
838
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
839
+ "relPath": "skills/hyperframes-cli",
840
840
  "verified": true,
841
- "tokenCount": 5080,
841
+ "tokenCount": 2979,
842
842
  "evalSummary": {
843
- "overallScore": 59,
844
- "grade": "D",
843
+ "overallScore": 80,
844
+ "grade": "B",
845
845
  "categories": [
846
846
  {
847
847
  "id": "structure",
@@ -858,25 +858,25 @@
858
858
  {
859
859
  "id": "prompt-engineering",
860
860
  "name": "Prompt engineering",
861
- "score": 6,
861
+ "score": 10,
862
862
  "max": 10
863
863
  },
864
864
  {
865
865
  "id": "context-efficiency",
866
866
  "name": "Context efficiency",
867
- "score": 7,
867
+ "score": 9,
868
868
  "max": 10
869
869
  },
870
870
  {
871
871
  "id": "safety",
872
872
  "name": "Safety & guardrails",
873
- "score": 5,
873
+ "score": 10,
874
874
  "max": 10
875
875
  },
876
876
  {
877
877
  "id": "testability",
878
878
  "name": "Testability",
879
- "score": 3,
879
+ "score": 7,
880
880
  "max": 10
881
881
  },
882
882
  {
@@ -886,7 +886,7 @@
886
886
  "max": 10
887
887
  }
888
888
  ],
889
- "evaluatedAt": "2026-06-02T22:29:36.121Z",
889
+ "evaluatedAt": "2026-06-17T07:48:04.160Z",
890
890
  "evaluatedVersion": "0.0.0"
891
891
  },
892
892
  "evalSummaries": {
@@ -895,8 +895,8 @@
895
895
  "providerVersion": "1.0.0",
896
896
  "schemaVersion": 1,
897
897
  "passed": true,
898
- "overallScore": 59,
899
- "grade": "D",
898
+ "overallScore": 80,
899
+ "grade": "B",
900
900
  "categories": [
901
901
  {
902
902
  "id": "structure",
@@ -913,25 +913,25 @@
913
913
  {
914
914
  "id": "prompt-engineering",
915
915
  "name": "Prompt engineering",
916
- "score": 6,
916
+ "score": 10,
917
917
  "max": 10
918
918
  },
919
919
  {
920
920
  "id": "context-efficiency",
921
921
  "name": "Context efficiency",
922
- "score": 7,
922
+ "score": 9,
923
923
  "max": 10
924
924
  },
925
925
  {
926
926
  "id": "safety",
927
927
  "name": "Safety & guardrails",
928
- "score": 5,
928
+ "score": 10,
929
929
  "max": 10
930
930
  },
931
931
  {
932
932
  "id": "testability",
933
933
  "name": "Testability",
934
- "score": 3,
934
+ "score": 7,
935
935
  "max": 10
936
936
  },
937
937
  {
@@ -941,7 +941,7 @@
941
941
  "max": 10
942
942
  }
943
943
  ],
944
- "evaluatedAt": "2026-06-02T22:29:36.121Z",
944
+ "evaluatedAt": "2026-06-17T07:48:04.160Z",
945
945
  "evaluatedVersion": "0.0.0"
946
946
  },
947
947
  "skill-best-practice": {
@@ -959,26 +959,26 @@
959
959
  "max": 13
960
960
  }
961
961
  ],
962
- "evaluatedAt": "2026-06-02T22:29:36.121Z",
962
+ "evaluatedAt": "2026-06-17T07:48:04.160Z",
963
963
  "evaluatedVersion": "0.0.0"
964
964
  }
965
965
  }
966
966
  },
967
967
  {
968
- "name": "hyperframes-registry",
969
- "description": "Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.",
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.",
970
970
  "version": "0.0.0",
971
971
  "license": "",
972
972
  "creator": "",
973
973
  "compatibility": "",
974
974
  "allowedTools": [],
975
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-registry",
976
- "relPath": "skills/hyperframes-registry",
975
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-core",
976
+ "relPath": "skills/hyperframes-core",
977
977
  "verified": true,
978
- "tokenCount": 1025,
978
+ "tokenCount": 3099,
979
979
  "evalSummary": {
980
- "overallScore": 61,
981
- "grade": "D",
980
+ "overallScore": 70,
981
+ "grade": "C",
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": 8,
992
+ "score": 7,
993
993
  "max": 10
994
994
  },
995
995
  {
996
996
  "id": "prompt-engineering",
997
997
  "name": "Prompt engineering",
998
- "score": 7,
998
+ "score": 5,
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": 2,
1010
+ "score": 6,
1011
1011
  "max": 10
1012
1012
  },
1013
1013
  {
1014
1014
  "id": "testability",
1015
1015
  "name": "Testability",
1016
- "score": 0,
1016
+ "score": 5,
1017
1017
  "max": 10
1018
1018
  },
1019
1019
  {
@@ -1023,7 +1023,7 @@
1023
1023
  "max": 10
1024
1024
  }
1025
1025
  ],
1026
- "evaluatedAt": "2026-06-02T22:29:36.123Z",
1026
+ "evaluatedAt": "2026-06-17T07:48:04.161Z",
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": 61,
1036
- "grade": "D",
1035
+ "overallScore": 70,
1036
+ "grade": "C",
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": 8,
1047
+ "score": 7,
1048
1048
  "max": 10
1049
1049
  },
1050
1050
  {
1051
1051
  "id": "prompt-engineering",
1052
1052
  "name": "Prompt engineering",
1053
- "score": 7,
1053
+ "score": 5,
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": 2,
1065
+ "score": 6,
1066
1066
  "max": 10
1067
1067
  },
1068
1068
  {
1069
1069
  "id": "testability",
1070
1070
  "name": "Testability",
1071
- "score": 0,
1071
+ "score": 5,
1072
1072
  "max": 10
1073
1073
  },
1074
1074
  {
@@ -1078,7 +1078,7 @@
1078
1078
  "max": 10
1079
1079
  }
1080
1080
  ],
1081
- "evaluatedAt": "2026-06-02T22:29:36.123Z",
1081
+ "evaluatedAt": "2026-06-17T07:48:04.161Z",
1082
1082
  "evaluatedVersion": "0.0.0"
1083
1083
  },
1084
1084
  "skill-best-practice": {
@@ -1086,36 +1086,36 @@
1086
1086
  "providerVersion": "1.1.0",
1087
1087
  "schemaVersion": 1,
1088
1088
  "passed": false,
1089
- "overallScore": 69,
1089
+ "overallScore": 77,
1090
1090
  "grade": "C",
1091
1091
  "categories": [
1092
1092
  {
1093
1093
  "id": "validation",
1094
1094
  "name": "Deterministic validation",
1095
- "score": 9,
1095
+ "score": 10,
1096
1096
  "max": 13
1097
1097
  }
1098
1098
  ],
1099
- "evaluatedAt": "2026-06-02T22:29:36.123Z",
1099
+ "evaluatedAt": "2026-06-17T07:48:04.161Z",
1100
1100
  "evaluatedVersion": "0.0.0"
1101
1101
  }
1102
1102
  }
1103
1103
  },
1104
1104
  {
1105
- "name": "lottie",
1106
- "description": "Lottie and dotLottie adapter patterns for HyperFrames. Use when embedding lottie-web JSON animations, .lottie files, @lottiefiles/dotlottie-web players, registering instances on window.__hfLottie, or making After Effects exports deterministic in HyperFrames.",
1105
+ "name": "hyperframes-creative",
1106
+ "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`.",
1107
1107
  "version": "0.0.0",
1108
1108
  "license": "",
1109
1109
  "creator": "",
1110
1110
  "compatibility": "",
1111
1111
  "allowedTools": [],
1112
- "installUrl": "github:heygen-com/hyperframes:skills/lottie",
1113
- "relPath": "skills/lottie",
1112
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-creative",
1113
+ "relPath": "skills/hyperframes-creative",
1114
1114
  "verified": true,
1115
- "tokenCount": 738,
1115
+ "tokenCount": 1558,
1116
1116
  "evalSummary": {
1117
- "overallScore": 64,
1118
- "grade": "D",
1117
+ "overallScore": 71,
1118
+ "grade": "C",
1119
1119
  "categories": [
1120
1120
  {
1121
1121
  "id": "structure",
@@ -1132,7 +1132,7 @@
1132
1132
  {
1133
1133
  "id": "prompt-engineering",
1134
1134
  "name": "Prompt engineering",
1135
- "score": 4,
1135
+ "score": 8,
1136
1136
  "max": 10
1137
1137
  },
1138
1138
  {
@@ -1144,13 +1144,13 @@
1144
1144
  {
1145
1145
  "id": "safety",
1146
1146
  "name": "Safety & guardrails",
1147
- "score": 7,
1147
+ "score": 6,
1148
1148
  "max": 10
1149
1149
  },
1150
1150
  {
1151
1151
  "id": "testability",
1152
1152
  "name": "Testability",
1153
- "score": 1,
1153
+ "score": 3,
1154
1154
  "max": 10
1155
1155
  },
1156
1156
  {
@@ -1160,7 +1160,7 @@
1160
1160
  "max": 10
1161
1161
  }
1162
1162
  ],
1163
- "evaluatedAt": "2026-06-02T22:29:36.124Z",
1163
+ "evaluatedAt": "2026-06-17T07:48:04.163Z",
1164
1164
  "evaluatedVersion": "0.0.0"
1165
1165
  },
1166
1166
  "evalSummaries": {
@@ -1169,8 +1169,8 @@
1169
1169
  "providerVersion": "1.0.0",
1170
1170
  "schemaVersion": 1,
1171
1171
  "passed": true,
1172
- "overallScore": 64,
1173
- "grade": "D",
1172
+ "overallScore": 71,
1173
+ "grade": "C",
1174
1174
  "categories": [
1175
1175
  {
1176
1176
  "id": "structure",
@@ -1187,7 +1187,7 @@
1187
1187
  {
1188
1188
  "id": "prompt-engineering",
1189
1189
  "name": "Prompt engineering",
1190
- "score": 4,
1190
+ "score": 8,
1191
1191
  "max": 10
1192
1192
  },
1193
1193
  {
@@ -1199,13 +1199,13 @@
1199
1199
  {
1200
1200
  "id": "safety",
1201
1201
  "name": "Safety & guardrails",
1202
- "score": 7,
1202
+ "score": 6,
1203
1203
  "max": 10
1204
1204
  },
1205
1205
  {
1206
1206
  "id": "testability",
1207
1207
  "name": "Testability",
1208
- "score": 1,
1208
+ "score": 3,
1209
1209
  "max": 10
1210
1210
  },
1211
1211
  {
@@ -1215,7 +1215,7 @@
1215
1215
  "max": 10
1216
1216
  }
1217
1217
  ],
1218
- "evaluatedAt": "2026-06-02T22:29:36.124Z",
1218
+ "evaluatedAt": "2026-06-17T07:48:04.163Z",
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-02T22:29:36.124Z",
1236
+ "evaluatedAt": "2026-06-17T07:48:04.163Z",
1237
1237
  "evaluatedVersion": "0.0.0"
1238
1238
  }
1239
1239
  }
1240
1240
  },
1241
1241
  {
1242
- "name": "remotion-to-hyperframes",
1243
- "description": "Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames (e.g. \"port my Remotion project to HyperFrames\"). Do NOT use when (a) authoring a NEW HyperFrames composition (even if A/B-testing a Remotion video); (b) Remotion is mentioned in passing; (c) Remotion code is shared as reference, not for translation; (d) the user wants \"the same video as my Remotion one\" without explicitly asking to migrate the source — treat as a fresh HyperFrames build. When in doubt, default to the `hyperframes` skill. Detects unsupported patterns (useState, useEffect side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda`) and recommends the runtime interop escape hatch instead of a lossy translation.",
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.",
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/remotion-to-hyperframes",
1250
- "relPath": "skills/remotion-to-hyperframes",
1249
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-media",
1250
+ "relPath": "skills/hyperframes-media",
1251
1251
  "verified": true,
1252
- "tokenCount": 2527,
1252
+ "tokenCount": 1754,
1253
1253
  "evalSummary": {
1254
- "overallScore": 76,
1255
- "grade": "C",
1254
+ "overallScore": 54,
1255
+ "grade": "D",
1256
1256
  "categories": [
1257
1257
  {
1258
1258
  "id": "structure",
@@ -1263,13 +1263,13 @@
1263
1263
  {
1264
1264
  "id": "description",
1265
1265
  "name": "Description quality",
1266
- "score": 6,
1266
+ "score": 5,
1267
1267
  "max": 10
1268
1268
  },
1269
1269
  {
1270
1270
  "id": "prompt-engineering",
1271
1271
  "name": "Prompt engineering",
1272
- "score": 10,
1272
+ "score": 3,
1273
1273
  "max": 10
1274
1274
  },
1275
1275
  {
@@ -1287,7 +1287,7 @@
1287
1287
  {
1288
1288
  "id": "testability",
1289
1289
  "name": "Testability",
1290
- "score": 7,
1290
+ "score": 0,
1291
1291
  "max": 10
1292
1292
  },
1293
1293
  {
@@ -1297,7 +1297,7 @@
1297
1297
  "max": 10
1298
1298
  }
1299
1299
  ],
1300
- "evaluatedAt": "2026-06-02T22:29:36.126Z",
1300
+ "evaluatedAt": "2026-06-17T07:48:04.163Z",
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": 76,
1310
- "grade": "C",
1309
+ "overallScore": 54,
1310
+ "grade": "D",
1311
1311
  "categories": [
1312
1312
  {
1313
1313
  "id": "structure",
@@ -1318,13 +1318,13 @@
1318
1318
  {
1319
1319
  "id": "description",
1320
1320
  "name": "Description quality",
1321
- "score": 6,
1321
+ "score": 5,
1322
1322
  "max": 10
1323
1323
  },
1324
1324
  {
1325
1325
  "id": "prompt-engineering",
1326
1326
  "name": "Prompt engineering",
1327
- "score": 10,
1327
+ "score": 3,
1328
1328
  "max": 10
1329
1329
  },
1330
1330
  {
@@ -1342,7 +1342,7 @@
1342
1342
  {
1343
1343
  "id": "testability",
1344
1344
  "name": "Testability",
1345
- "score": 7,
1345
+ "score": 0,
1346
1346
  "max": 10
1347
1347
  },
1348
1348
  {
@@ -1352,7 +1352,7 @@
1352
1352
  "max": 10
1353
1353
  }
1354
1354
  ],
1355
- "evaluatedAt": "2026-06-02T22:29:36.126Z",
1355
+ "evaluatedAt": "2026-06-17T07:48:04.164Z",
1356
1356
  "evaluatedVersion": "0.0.0"
1357
1357
  },
1358
1358
  "skill-best-practice": {
@@ -1360,36 +1360,36 @@
1360
1360
  "providerVersion": "1.1.0",
1361
1361
  "schemaVersion": 1,
1362
1362
  "passed": false,
1363
- "overallScore": 77,
1363
+ "overallScore": 69,
1364
1364
  "grade": "C",
1365
1365
  "categories": [
1366
1366
  {
1367
1367
  "id": "validation",
1368
1368
  "name": "Deterministic validation",
1369
- "score": 10,
1369
+ "score": 9,
1370
1370
  "max": 13
1371
1371
  }
1372
1372
  ],
1373
- "evaluatedAt": "2026-06-02T22:29:36.126Z",
1373
+ "evaluatedAt": "2026-06-17T07:48:04.164Z",
1374
1374
  "evaluatedVersion": "0.0.0"
1375
1375
  }
1376
1376
  }
1377
1377
  },
1378
1378
  {
1379
- "name": "tailwind",
1380
- "description": "Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.",
1379
+ "name": "hyperframes-registry",
1380
+ "description": "Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, registry discovery, and authoring a new block or component to contribute upstream (idea scaffold validate PR).",
1381
1381
  "version": "0.0.0",
1382
1382
  "license": "",
1383
1383
  "creator": "",
1384
1384
  "compatibility": "",
1385
1385
  "allowedTools": [],
1386
- "installUrl": "github:heygen-com/hyperframes:skills/tailwind",
1387
- "relPath": "skills/tailwind",
1386
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-registry",
1387
+ "relPath": "skills/hyperframes-registry",
1388
1388
  "verified": true,
1389
- "tokenCount": 1588,
1389
+ "tokenCount": 1096,
1390
1390
  "evalSummary": {
1391
- "overallScore": 69,
1392
- "grade": "C",
1391
+ "overallScore": 60,
1392
+ "grade": "D",
1393
1393
  "categories": [
1394
1394
  {
1395
1395
  "id": "structure",
@@ -1400,7 +1400,7 @@
1400
1400
  {
1401
1401
  "id": "description",
1402
1402
  "name": "Description quality",
1403
- "score": 5,
1403
+ "score": 6,
1404
1404
  "max": 10
1405
1405
  },
1406
1406
  {
@@ -1412,19 +1412,19 @@
1412
1412
  {
1413
1413
  "id": "context-efficiency",
1414
1414
  "name": "Context efficiency",
1415
- "score": 10,
1415
+ "score": 9,
1416
1416
  "max": 10
1417
1417
  },
1418
1418
  {
1419
1419
  "id": "safety",
1420
1420
  "name": "Safety & guardrails",
1421
- "score": 6,
1421
+ "score": 3,
1422
1422
  "max": 10
1423
1423
  },
1424
1424
  {
1425
1425
  "id": "testability",
1426
1426
  "name": "Testability",
1427
- "score": 3,
1427
+ "score": 0,
1428
1428
  "max": 10
1429
1429
  },
1430
1430
  {
@@ -1434,7 +1434,7 @@
1434
1434
  "max": 10
1435
1435
  }
1436
1436
  ],
1437
- "evaluatedAt": "2026-06-02T22:29:36.127Z",
1437
+ "evaluatedAt": "2026-06-17T07:48:04.164Z",
1438
1438
  "evaluatedVersion": "0.0.0"
1439
1439
  },
1440
1440
  "evalSummaries": {
@@ -1443,8 +1443,8 @@
1443
1443
  "providerVersion": "1.0.0",
1444
1444
  "schemaVersion": 1,
1445
1445
  "passed": true,
1446
- "overallScore": 69,
1447
- "grade": "C",
1446
+ "overallScore": 60,
1447
+ "grade": "D",
1448
1448
  "categories": [
1449
1449
  {
1450
1450
  "id": "structure",
@@ -1455,7 +1455,7 @@
1455
1455
  {
1456
1456
  "id": "description",
1457
1457
  "name": "Description quality",
1458
- "score": 5,
1458
+ "score": 6,
1459
1459
  "max": 10
1460
1460
  },
1461
1461
  {
@@ -1467,19 +1467,19 @@
1467
1467
  {
1468
1468
  "id": "context-efficiency",
1469
1469
  "name": "Context efficiency",
1470
- "score": 10,
1470
+ "score": 9,
1471
1471
  "max": 10
1472
1472
  },
1473
1473
  {
1474
1474
  "id": "safety",
1475
1475
  "name": "Safety & guardrails",
1476
- "score": 6,
1476
+ "score": 3,
1477
1477
  "max": 10
1478
1478
  },
1479
1479
  {
1480
1480
  "id": "testability",
1481
1481
  "name": "Testability",
1482
- "score": 3,
1482
+ "score": 0,
1483
1483
  "max": 10
1484
1484
  },
1485
1485
  {
@@ -1489,7 +1489,7 @@
1489
1489
  "max": 10
1490
1490
  }
1491
1491
  ],
1492
- "evaluatedAt": "2026-06-02T22:29:36.127Z",
1492
+ "evaluatedAt": "2026-06-17T07:48:04.165Z",
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-02T22:29:36.127Z",
1510
+ "evaluatedAt": "2026-06-17T07:48:04.165Z",
1511
1511
  "evaluatedVersion": "0.0.0"
1512
1512
  }
1513
1513
  }
1514
1514
  },
1515
1515
  {
1516
- "name": "three",
1517
- "description": "Three.js and WebGL adapter patterns for HyperFrames. Use when creating deterministic Three.js scenes, WebGL canvas layers, AnimationMixer timelines, camera motion, shader-driven visuals, or canvas renders that respond to HyperFrames hf-seek events.",
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.",
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/three",
1524
- "relPath": "skills/three",
1523
+ "installUrl": "github:heygen-com/hyperframes:skills/motion-graphics",
1524
+ "relPath": "skills/motion-graphics",
1525
1525
  "verified": true,
1526
- "tokenCount": 859,
1526
+ "tokenCount": 4560,
1527
1527
  "evalSummary": {
1528
- "overallScore": 64,
1529
- "grade": "D",
1528
+ "overallScore": 73,
1529
+ "grade": "C",
1530
1530
  "categories": [
1531
1531
  {
1532
1532
  "id": "structure",
@@ -1537,13 +1537,13 @@
1537
1537
  {
1538
1538
  "id": "description",
1539
1539
  "name": "Description quality",
1540
- "score": 7,
1540
+ "score": 3,
1541
1541
  "max": 10
1542
1542
  },
1543
1543
  {
1544
1544
  "id": "prompt-engineering",
1545
1545
  "name": "Prompt engineering",
1546
- "score": 5,
1546
+ "score": 9,
1547
1547
  "max": 10
1548
1548
  },
1549
1549
  {
@@ -1555,13 +1555,13 @@
1555
1555
  {
1556
1556
  "id": "safety",
1557
1557
  "name": "Safety & guardrails",
1558
- "score": 7,
1558
+ "score": 10,
1559
1559
  "max": 10
1560
1560
  },
1561
1561
  {
1562
1562
  "id": "testability",
1563
1563
  "name": "Testability",
1564
- "score": 0,
1564
+ "score": 3,
1565
1565
  "max": 10
1566
1566
  },
1567
1567
  {
@@ -1571,7 +1571,7 @@
1571
1571
  "max": 10
1572
1572
  }
1573
1573
  ],
1574
- "evaluatedAt": "2026-06-02T22:29:36.128Z",
1574
+ "evaluatedAt": "2026-06-17T07:48:04.166Z",
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": 64,
1584
- "grade": "D",
1583
+ "overallScore": 73,
1584
+ "grade": "C",
1585
1585
  "categories": [
1586
1586
  {
1587
1587
  "id": "structure",
@@ -1592,13 +1592,13 @@
1592
1592
  {
1593
1593
  "id": "description",
1594
1594
  "name": "Description quality",
1595
- "score": 7,
1595
+ "score": 3,
1596
1596
  "max": 10
1597
1597
  },
1598
1598
  {
1599
1599
  "id": "prompt-engineering",
1600
1600
  "name": "Prompt engineering",
1601
- "score": 5,
1601
+ "score": 9,
1602
1602
  "max": 10
1603
1603
  },
1604
1604
  {
@@ -1610,13 +1610,13 @@
1610
1610
  {
1611
1611
  "id": "safety",
1612
1612
  "name": "Safety & guardrails",
1613
- "score": 7,
1613
+ "score": 10,
1614
1614
  "max": 10
1615
1615
  },
1616
1616
  {
1617
1617
  "id": "testability",
1618
1618
  "name": "Testability",
1619
- "score": 0,
1619
+ "score": 3,
1620
1620
  "max": 10
1621
1621
  },
1622
1622
  {
@@ -1626,7 +1626,7 @@
1626
1626
  "max": 10
1627
1627
  }
1628
1628
  ],
1629
- "evaluatedAt": "2026-06-02T22:29:36.128Z",
1629
+ "evaluatedAt": "2026-06-17T07:48:04.166Z",
1630
1630
  "evaluatedVersion": "0.0.0"
1631
1631
  },
1632
1632
  "skill-best-practice": {
@@ -1644,25 +1644,25 @@
1644
1644
  "max": 13
1645
1645
  }
1646
1646
  ],
1647
- "evaluatedAt": "2026-06-02T22:29:36.128Z",
1647
+ "evaluatedAt": "2026-06-17T07:48:04.166Z",
1648
1648
  "evaluatedVersion": "0.0.0"
1649
1649
  }
1650
1650
  }
1651
1651
  },
1652
1652
  {
1653
- "name": "typegpu",
1654
- "description": "TypeGPU and raw WebGPU adapter patterns for HyperFrames. Use when creating GPU-rendered compositions with TypeGPU, raw WebGPU, WGSL fragment shaders, compute pipelines, liquid glass effects, particle systems, or any canvas layer driven by navigator.gpu that responds to HyperFrames hf-seek events.",
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.",
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/typegpu",
1661
- "relPath": "skills/typegpu",
1660
+ "installUrl": "github:heygen-com/hyperframes:skills/pr-to-video",
1661
+ "relPath": "skills/pr-to-video",
1662
1662
  "verified": true,
1663
- "tokenCount": 1875,
1663
+ "tokenCount": 15799,
1664
1664
  "evalSummary": {
1665
- "overallScore": 66,
1665
+ "overallScore": 70,
1666
1666
  "grade": "C",
1667
1667
  "categories": [
1668
1668
  {
@@ -1674,31 +1674,31 @@
1674
1674
  {
1675
1675
  "id": "description",
1676
1676
  "name": "Description quality",
1677
- "score": 7,
1677
+ "score": 3,
1678
1678
  "max": 10
1679
1679
  },
1680
1680
  {
1681
1681
  "id": "prompt-engineering",
1682
1682
  "name": "Prompt engineering",
1683
- "score": 6,
1683
+ "score": 8,
1684
1684
  "max": 10
1685
1685
  },
1686
1686
  {
1687
1687
  "id": "context-efficiency",
1688
1688
  "name": "Context efficiency",
1689
- "score": 9,
1689
+ "score": 6,
1690
1690
  "max": 10
1691
1691
  },
1692
1692
  {
1693
1693
  "id": "safety",
1694
1694
  "name": "Safety & guardrails",
1695
- "score": 7,
1695
+ "score": 10,
1696
1696
  "max": 10
1697
1697
  },
1698
1698
  {
1699
1699
  "id": "testability",
1700
1700
  "name": "Testability",
1701
- "score": 0,
1701
+ "score": 5,
1702
1702
  "max": 10
1703
1703
  },
1704
1704
  {
@@ -1708,7 +1708,7 @@
1708
1708
  "max": 10
1709
1709
  }
1710
1710
  ],
1711
- "evaluatedAt": "2026-06-02T22:29:36.129Z",
1711
+ "evaluatedAt": "2026-06-17T07:48:04.170Z",
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": 66,
1720
+ "overallScore": 70,
1721
1721
  "grade": "C",
1722
1722
  "categories": [
1723
1723
  {
@@ -1729,31 +1729,31 @@
1729
1729
  {
1730
1730
  "id": "description",
1731
1731
  "name": "Description quality",
1732
- "score": 7,
1732
+ "score": 3,
1733
1733
  "max": 10
1734
1734
  },
1735
1735
  {
1736
1736
  "id": "prompt-engineering",
1737
1737
  "name": "Prompt engineering",
1738
- "score": 6,
1738
+ "score": 8,
1739
1739
  "max": 10
1740
1740
  },
1741
1741
  {
1742
1742
  "id": "context-efficiency",
1743
1743
  "name": "Context efficiency",
1744
- "score": 9,
1744
+ "score": 6,
1745
1745
  "max": 10
1746
1746
  },
1747
1747
  {
1748
1748
  "id": "safety",
1749
1749
  "name": "Safety & guardrails",
1750
- "score": 7,
1750
+ "score": 10,
1751
1751
  "max": 10
1752
1752
  },
1753
1753
  {
1754
1754
  "id": "testability",
1755
1755
  "name": "Testability",
1756
- "score": 0,
1756
+ "score": 5,
1757
1757
  "max": 10
1758
1758
  },
1759
1759
  {
@@ -1763,7 +1763,7 @@
1763
1763
  "max": 10
1764
1764
  }
1765
1765
  ],
1766
- "evaluatedAt": "2026-06-02T22:29:36.129Z",
1766
+ "evaluatedAt": "2026-06-17T07:48:04.170Z",
1767
1767
  "evaluatedVersion": "0.0.0"
1768
1768
  },
1769
1769
  "skill-best-practice": {
@@ -1771,33 +1771,33 @@
1771
1771
  "providerVersion": "1.1.0",
1772
1772
  "schemaVersion": 1,
1773
1773
  "passed": false,
1774
- "overallScore": 69,
1775
- "grade": "C",
1774
+ "overallScore": 62,
1775
+ "grade": "D",
1776
1776
  "categories": [
1777
1777
  {
1778
1778
  "id": "validation",
1779
1779
  "name": "Deterministic validation",
1780
- "score": 9,
1780
+ "score": 8,
1781
1781
  "max": 13
1782
1782
  }
1783
1783
  ],
1784
- "evaluatedAt": "2026-06-02T22:29:36.129Z",
1784
+ "evaluatedAt": "2026-06-17T07:48:04.170Z",
1785
1785
  "evaluatedVersion": "0.0.0"
1786
1786
  }
1787
1787
  }
1788
1788
  },
1789
1789
  {
1790
- "name": "waapi",
1791
- "description": "Web Animations API adapter patterns for HyperFrames. Use when authoring element.animate() motion, Animation currentTime seeking, document.getAnimations(), KeyframeEffect timing, fill modes, or native browser animations that must render deterministically in HyperFrames.",
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.",
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/waapi",
1798
- "relPath": "skills/waapi",
1797
+ "installUrl": "github:heygen-com/hyperframes:skills/product-launch-video",
1798
+ "relPath": "skills/product-launch-video",
1799
1799
  "verified": true,
1800
- "tokenCount": 832,
1800
+ "tokenCount": 12136,
1801
1801
  "evalSummary": {
1802
1802
  "overallScore": 69,
1803
1803
  "grade": "C",
@@ -1811,31 +1811,31 @@
1811
1811
  {
1812
1812
  "id": "description",
1813
1813
  "name": "Description quality",
1814
- "score": 7,
1814
+ "score": 3,
1815
1815
  "max": 10
1816
1816
  },
1817
1817
  {
1818
1818
  "id": "prompt-engineering",
1819
1819
  "name": "Prompt engineering",
1820
- "score": 6,
1820
+ "score": 9,
1821
1821
  "max": 10
1822
1822
  },
1823
1823
  {
1824
1824
  "id": "context-efficiency",
1825
1825
  "name": "Context efficiency",
1826
- "score": 10,
1826
+ "score": 6,
1827
1827
  "max": 10
1828
1828
  },
1829
1829
  {
1830
1830
  "id": "safety",
1831
1831
  "name": "Safety & guardrails",
1832
- "score": 7,
1832
+ "score": 10,
1833
1833
  "max": 10
1834
1834
  },
1835
1835
  {
1836
1836
  "id": "testability",
1837
1837
  "name": "Testability",
1838
- "score": 1,
1838
+ "score": 3,
1839
1839
  "max": 10
1840
1840
  },
1841
1841
  {
@@ -1845,7 +1845,7 @@
1845
1845
  "max": 10
1846
1846
  }
1847
1847
  ],
1848
- "evaluatedAt": "2026-06-02T22:29:36.131Z",
1848
+ "evaluatedAt": "2026-06-17T07:48:04.174Z",
1849
1849
  "evaluatedVersion": "0.0.0"
1850
1850
  },
1851
1851
  "evalSummaries": {
@@ -1866,21 +1866,158 @@
1866
1866
  {
1867
1867
  "id": "description",
1868
1868
  "name": "Description quality",
1869
- "score": 7,
1869
+ "score": 3,
1870
1870
  "max": 10
1871
1871
  },
1872
1872
  {
1873
1873
  "id": "prompt-engineering",
1874
1874
  "name": "Prompt engineering",
1875
- "score": 6,
1875
+ "score": 9,
1876
1876
  "max": 10
1877
1877
  },
1878
1878
  {
1879
1879
  "id": "context-efficiency",
1880
1880
  "name": "Context efficiency",
1881
+ "score": 6,
1882
+ "max": 10
1883
+ },
1884
+ {
1885
+ "id": "safety",
1886
+ "name": "Safety & guardrails",
1887
+ "score": 10,
1888
+ "max": 10
1889
+ },
1890
+ {
1891
+ "id": "testability",
1892
+ "name": "Testability",
1893
+ "score": 3,
1894
+ "max": 10
1895
+ },
1896
+ {
1897
+ "id": "naming",
1898
+ "name": "Naming & conventions",
1899
+ "score": 10,
1900
+ "max": 10
1901
+ }
1902
+ ],
1903
+ "evaluatedAt": "2026-06-17T07:48:04.174Z",
1904
+ "evaluatedVersion": "0.0.0"
1905
+ },
1906
+ "skill-best-practice": {
1907
+ "providerId": "skill-best-practice",
1908
+ "providerVersion": "1.1.0",
1909
+ "schemaVersion": 1,
1910
+ "passed": false,
1911
+ "overallScore": 77,
1912
+ "grade": "C",
1913
+ "categories": [
1914
+ {
1915
+ "id": "validation",
1916
+ "name": "Deterministic validation",
1917
+ "score": 10,
1918
+ "max": 13
1919
+ }
1920
+ ],
1921
+ "evaluatedAt": "2026-06-17T07:48:04.174Z",
1922
+ "evaluatedVersion": "0.0.0"
1923
+ }
1924
+ }
1925
+ },
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.",
1929
+ "version": "0.0.0",
1930
+ "license": "",
1931
+ "creator": "",
1932
+ "compatibility": "",
1933
+ "allowedTools": [],
1934
+ "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
1935
+ "relPath": "skills/remotion-to-hyperframes",
1936
+ "verified": true,
1937
+ "tokenCount": 2853,
1938
+ "evalSummary": {
1939
+ "overallScore": 76,
1940
+ "grade": "C",
1941
+ "categories": [
1942
+ {
1943
+ "id": "structure",
1944
+ "name": "Structure & completeness",
1945
+ "score": 7,
1946
+ "max": 10
1947
+ },
1948
+ {
1949
+ "id": "description",
1950
+ "name": "Description quality",
1951
+ "score": 3,
1952
+ "max": 10
1953
+ },
1954
+ {
1955
+ "id": "prompt-engineering",
1956
+ "name": "Prompt engineering",
1957
+ "score": 10,
1958
+ "max": 10
1959
+ },
1960
+ {
1961
+ "id": "context-efficiency",
1962
+ "name": "Context efficiency",
1963
+ "score": 9,
1964
+ "max": 10
1965
+ },
1966
+ {
1967
+ "id": "safety",
1968
+ "name": "Safety & guardrails",
1969
+ "score": 7,
1970
+ "max": 10
1971
+ },
1972
+ {
1973
+ "id": "testability",
1974
+ "name": "Testability",
1975
+ "score": 7,
1976
+ "max": 10
1977
+ },
1978
+ {
1979
+ "id": "naming",
1980
+ "name": "Naming & conventions",
1981
+ "score": 10,
1982
+ "max": 10
1983
+ }
1984
+ ],
1985
+ "evaluatedAt": "2026-06-17T07:48:04.177Z",
1986
+ "evaluatedVersion": "0.0.0"
1987
+ },
1988
+ "evalSummaries": {
1989
+ "quality": {
1990
+ "providerId": "quality",
1991
+ "providerVersion": "1.0.0",
1992
+ "schemaVersion": 1,
1993
+ "passed": true,
1994
+ "overallScore": 76,
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": 3,
2007
+ "max": 10
2008
+ },
2009
+ {
2010
+ "id": "prompt-engineering",
2011
+ "name": "Prompt engineering",
1881
2012
  "score": 10,
1882
2013
  "max": 10
1883
2014
  },
2015
+ {
2016
+ "id": "context-efficiency",
2017
+ "name": "Context efficiency",
2018
+ "score": 9,
2019
+ "max": 10
2020
+ },
1884
2021
  {
1885
2022
  "id": "safety",
1886
2023
  "name": "Safety & guardrails",
@@ -1890,7 +2027,7 @@
1890
2027
  {
1891
2028
  "id": "testability",
1892
2029
  "name": "Testability",
1893
- "score": 1,
2030
+ "score": 7,
1894
2031
  "max": 10
1895
2032
  },
1896
2033
  {
@@ -1900,7 +2037,7 @@
1900
2037
  "max": 10
1901
2038
  }
1902
2039
  ],
1903
- "evaluatedAt": "2026-06-02T22:29:36.131Z",
2040
+ "evaluatedAt": "2026-06-17T07:48:04.177Z",
1904
2041
  "evaluatedVersion": "0.0.0"
1905
2042
  },
1906
2043
  "skill-best-practice": {
@@ -1918,23 +2055,23 @@
1918
2055
  "max": 13
1919
2056
  }
1920
2057
  ],
1921
- "evaluatedAt": "2026-06-02T22:29:36.131Z",
2058
+ "evaluatedAt": "2026-06-17T07:48:04.177Z",
1922
2059
  "evaluatedVersion": "0.0.0"
1923
2060
  }
1924
2061
  }
1925
2062
  },
1926
2063
  {
1927
- "name": "website-to-hyperframes",
1928
- "description": "Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says \"capture this site\", \"turn this into a video\", \"make a promo from my site\", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL this is the skill to use.",
2064
+ "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.",
1929
2066
  "version": "0.0.0",
1930
2067
  "license": "",
1931
2068
  "creator": "",
1932
2069
  "compatibility": "",
1933
2070
  "allowedTools": [],
1934
- "installUrl": "github:heygen-com/hyperframes:skills/website-to-hyperframes",
1935
- "relPath": "skills/website-to-hyperframes",
2071
+ "installUrl": "github:heygen-com/hyperframes:skills/website-to-video",
2072
+ "relPath": "skills/website-to-video",
1936
2073
  "verified": true,
1937
- "tokenCount": 3759,
2074
+ "tokenCount": 4001,
1938
2075
  "evalSummary": {
1939
2076
  "overallScore": 66,
1940
2077
  "grade": "C",
@@ -1982,7 +2119,7 @@
1982
2119
  "max": 10
1983
2120
  }
1984
2121
  ],
1985
- "evaluatedAt": "2026-06-02T22:29:36.132Z",
2122
+ "evaluatedAt": "2026-06-17T07:48:04.179Z",
1986
2123
  "evaluatedVersion": "0.0.0"
1987
2124
  },
1988
2125
  "evalSummaries": {
@@ -2037,7 +2174,7 @@
2037
2174
  "max": 10
2038
2175
  }
2039
2176
  ],
2040
- "evaluatedAt": "2026-06-02T22:29:36.132Z",
2177
+ "evaluatedAt": "2026-06-17T07:48:04.179Z",
2041
2178
  "evaluatedVersion": "0.0.0"
2042
2179
  },
2043
2180
  "skill-best-practice": {
@@ -2045,17 +2182,17 @@
2045
2182
  "providerVersion": "1.1.0",
2046
2183
  "schemaVersion": 1,
2047
2184
  "passed": false,
2048
- "overallScore": 69,
2185
+ "overallScore": 77,
2049
2186
  "grade": "C",
2050
2187
  "categories": [
2051
2188
  {
2052
2189
  "id": "validation",
2053
2190
  "name": "Deterministic validation",
2054
- "score": 9,
2191
+ "score": 10,
2055
2192
  "max": 13
2056
2193
  }
2057
2194
  ],
2058
- "evaluatedAt": "2026-06-02T22:29:36.132Z",
2195
+ "evaluatedAt": "2026-06-17T07:48:04.179Z",
2059
2196
  "evaluatedVersion": "0.0.0"
2060
2197
  }
2061
2198
  }
@@ -2067,7 +2204,7 @@
2067
2204
  "name": "heygen-com-hyperframes-data-ai",
2068
2205
  "description": "Data, analytics, AI, model, prompt, agent, and automation skills. Derived from heygen-com/hyperframes.",
2069
2206
  "author": "ASM (heygen-com/hyperframes)",
2070
- "createdAt": "2026-06-02T22:29:36.134Z",
2207
+ "createdAt": "2026-06-17T07:48:04.180Z",
2071
2208
  "tags": [
2072
2209
  "repo-derived",
2073
2210
  "inferred",
@@ -2078,22 +2215,76 @@
2078
2215
  "hyperframes"
2079
2216
  ],
2080
2217
  "skills": [
2218
+ {
2219
+ "name": "embedded-captions",
2220
+ "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.",
2222
+ "version": "0.0.0"
2223
+ },
2224
+ {
2225
+ "name": "faceless-explainer",
2226
+ "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.",
2240
+ "version": "0.0.0"
2241
+ },
2242
+ {
2243
+ "name": "hyperframes",
2244
+ "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.",
2246
+ "version": "0.0.0"
2247
+ },
2248
+ {
2249
+ "name": "hyperframes-core",
2250
+ "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.",
2252
+ "version": "0.0.0"
2253
+ },
2081
2254
  {
2082
2255
  "name": "hyperframes-media",
2083
2256
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-media",
2084
- "description": "Asset preprocessing for HyperFrames compositions — text-to-speech narration (Kokoro), audio/video transcription (Whisper), and background removal for transparent overlays (u2net). Use when generating voiceover from text, transcribing speech for captions, removing the background from a video or image to use as a transparent overlay, choosing a TTS voice or whisper model, or chaining these (TTS → transcribe → captions). Each command downloads its own model on first run.",
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.",
2258
+ "version": "0.0.0"
2259
+ },
2260
+ {
2261
+ "name": "motion-graphics",
2262
+ "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.",
2264
+ "version": "0.0.0"
2265
+ },
2266
+ {
2267
+ "name": "pr-to-video",
2268
+ "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.",
2085
2276
  "version": "0.0.0"
2086
2277
  },
2087
2278
  {
2088
2279
  "name": "remotion-to-hyperframes",
2089
2280
  "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2090
- "description": "Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames (e.g. \"port my Remotion project to HyperFrames\"). Do NOT use when (a) authoring a NEW HyperFrames composition (even if A/B-testing a Remotion video); (b) Remotion is mentioned in passing; (c) Remotion code is shared as reference, not for translation; (d) the user wants \"the same video as my Remotion one\" without explicitly asking to migrate the source — treat as a fresh HyperFrames build. When in doubt, default to the `hyperframes` skill. Detects unsupported patterns (useState, useEffect side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda`) and recommends the runtime interop escape hatch instead of a lossy translation.",
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.",
2091
2282
  "version": "0.0.0"
2092
2283
  },
2093
2284
  {
2094
- "name": "tailwind",
2095
- "installUrl": "github:heygen-com/hyperframes:skills/tailwind",
2096
- "description": "Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.",
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.",
2097
2288
  "version": "0.0.0"
2098
2289
  }
2099
2290
  ],
@@ -2109,7 +2300,7 @@
2109
2300
  "name": "heygen-com-hyperframes-devops",
2110
2301
  "description": "Deployment, CI/CD, infrastructure, cloud, Docker, Kubernetes, and automation skills. Derived from heygen-com/hyperframes.",
2111
2302
  "author": "ASM (heygen-com/hyperframes)",
2112
- "createdAt": "2026-06-02T22:29:36.134Z",
2303
+ "createdAt": "2026-06-17T07:48:04.180Z",
2113
2304
  "tags": [
2114
2305
  "repo-derived",
2115
2306
  "inferred",
@@ -2120,34 +2311,76 @@
2120
2311
  "hyperframes"
2121
2312
  ],
2122
2313
  "skills": [
2314
+ {
2315
+ "name": "embedded-captions",
2316
+ "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.",
2324
+ "version": "0.0.0"
2325
+ },
2326
+ {
2327
+ "name": "general-video",
2328
+ "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.",
2336
+ "version": "0.0.0"
2337
+ },
2123
2338
  {
2124
2339
  "name": "hyperframes",
2125
2340
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2126
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
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.",
2127
2342
  "version": "0.0.0"
2128
2343
  },
2129
2344
  {
2130
- "name": "remotion-to-hyperframes",
2131
- "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2132
- "description": "Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames (e.g. \"port my Remotion project to HyperFrames\"). Do NOT use when (a) authoring a NEW HyperFrames composition (even if A/B-testing a Remotion video); (b) Remotion is mentioned in passing; (c) Remotion code is shared as reference, not for translation; (d) the user wants \"the same video as my Remotion one\" without explicitly asking to migrate the source — treat as a fresh HyperFrames build. When in doubt, default to the `hyperframes` skill. Detects unsupported patterns (useState, useEffect side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda`) and recommends the runtime interop escape hatch instead of a lossy translation.",
2345
+ "name": "hyperframes-animation",
2346
+ "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.",
2348
+ "version": "0.0.0"
2349
+ },
2350
+ {
2351
+ "name": "hyperframes-cli",
2352
+ "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`).",
2133
2354
  "version": "0.0.0"
2134
2355
  },
2135
2356
  {
2136
- "name": "tailwind",
2137
- "installUrl": "github:heygen-com/hyperframes:skills/tailwind",
2138
- "description": "Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.",
2357
+ "name": "hyperframes-creative",
2358
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-creative",
2359
+ "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`.",
2139
2360
  "version": "0.0.0"
2140
2361
  },
2141
2362
  {
2142
- "name": "typegpu",
2143
- "installUrl": "github:heygen-com/hyperframes:skills/typegpu",
2144
- "description": "TypeGPU and raw WebGPU adapter patterns for HyperFrames. Use when creating GPU-rendered compositions with TypeGPU, raw WebGPU, WGSL fragment shaders, compute pipelines, liquid glass effects, particle systems, or any canvas layer driven by navigator.gpu that responds to HyperFrames hf-seek events.",
2363
+ "name": "motion-graphics",
2364
+ "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.",
2145
2366
  "version": "0.0.0"
2146
2367
  },
2147
2368
  {
2148
- "name": "website-to-hyperframes",
2149
- "installUrl": "github:heygen-com/hyperframes:skills/website-to-hyperframes",
2150
- "description": "Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says \"capture this site\", \"turn this into a video\", \"make a promo from my site\", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL this is the skill to use.",
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.",
2372
+ "version": "0.0.0"
2373
+ },
2374
+ {
2375
+ "name": "remotion-to-hyperframes",
2376
+ "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.",
2378
+ "version": "0.0.0"
2379
+ },
2380
+ {
2381
+ "name": "website-to-video",
2382
+ "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.",
2151
2384
  "version": "0.0.0"
2152
2385
  }
2153
2386
  ],
@@ -2163,7 +2396,7 @@
2163
2396
  "name": "heygen-com-hyperframes-engineering",
2164
2397
  "description": "Coding, debugging, testing, architecture, review, and software engineering skills. Derived from heygen-com/hyperframes.",
2165
2398
  "author": "ASM (heygen-com/hyperframes)",
2166
- "createdAt": "2026-06-02T22:29:36.134Z",
2399
+ "createdAt": "2026-06-17T07:48:04.180Z",
2167
2400
  "tags": [
2168
2401
  "repo-derived",
2169
2402
  "inferred",
@@ -2175,39 +2408,57 @@
2175
2408
  ],
2176
2409
  "skills": [
2177
2410
  {
2178
- "name": "css-animations",
2179
- "installUrl": "github:heygen-com/hyperframes:skills/css-animations",
2180
- "description": "CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.",
2411
+ "name": "embedded-captions",
2412
+ "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.",
2181
2414
  "version": "0.0.0"
2182
2415
  },
2183
2416
  {
2184
- "name": "hyperframes",
2185
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2186
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
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 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.",
2420
+ "version": "0.0.0"
2421
+ },
2422
+ {
2423
+ "name": "hyperframes-animation",
2424
+ "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.",
2187
2426
  "version": "0.0.0"
2188
2427
  },
2189
2428
  {
2190
2429
  "name": "hyperframes-cli",
2191
2430
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2192
- "description": "HyperFrames CLI dev loop `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.",
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`).",
2193
2432
  "version": "0.0.0"
2194
2433
  },
2195
2434
  {
2196
- "name": "remotion-to-hyperframes",
2197
- "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2198
- "description": "Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames (e.g. \"port my Remotion project to HyperFrames\"). Do NOT use when (a) authoring a NEW HyperFrames composition (even if A/B-testing a Remotion video); (b) Remotion is mentioned in passing; (c) Remotion code is shared as reference, not for translation; (d) the user wants \"the same video as my Remotion one\" without explicitly asking to migrate the source — treat as a fresh HyperFrames build. When in doubt, default to the `hyperframes` skill. Detects unsupported patterns (useState, useEffect side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda`) and recommends the runtime interop escape hatch instead of a lossy translation.",
2435
+ "name": "hyperframes-core",
2436
+ "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.",
2438
+ "version": "0.0.0"
2439
+ },
2440
+ {
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.",
2199
2444
  "version": "0.0.0"
2200
2445
  },
2201
2446
  {
2202
- "name": "tailwind",
2203
- "installUrl": "github:heygen-com/hyperframes:skills/tailwind",
2204
- "description": "Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.",
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.",
2450
+ "version": "0.0.0"
2451
+ },
2452
+ {
2453
+ "name": "remotion-to-hyperframes",
2454
+ "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.",
2205
2456
  "version": "0.0.0"
2206
2457
  },
2207
2458
  {
2208
- "name": "waapi",
2209
- "installUrl": "github:heygen-com/hyperframes:skills/waapi",
2210
- "description": "Web Animations API adapter patterns for HyperFrames. Use when authoring element.animate() motion, Animation currentTime seeking, document.getAnimations(), KeyframeEffect timing, fill modes, or native browser animations that must render deterministically in HyperFrames.",
2459
+ "name": "website-to-video",
2460
+ "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.",
2211
2462
  "version": "0.0.0"
2212
2463
  }
2213
2464
  ],
@@ -2223,7 +2474,7 @@
2223
2474
  "name": "heygen-com-hyperframes-frontend-design",
2224
2475
  "description": "Frontend, UI, UX, visual design, component, theme, and landing-page skills. Derived from heygen-com/hyperframes.",
2225
2476
  "author": "ASM (heygen-com/hyperframes)",
2226
- "createdAt": "2026-06-02T22:29:36.134Z",
2477
+ "createdAt": "2026-06-17T07:48:04.180Z",
2227
2478
  "tags": [
2228
2479
  "repo-derived",
2229
2480
  "inferred",
@@ -2235,69 +2486,87 @@
2235
2486
  ],
2236
2487
  "skills": [
2237
2488
  {
2238
- "name": "animejs",
2239
- "installUrl": "github:heygen-com/hyperframes:skills/animejs",
2240
- "description": "Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.",
2489
+ "name": "embedded-captions",
2490
+ "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.",
2241
2492
  "version": "0.0.0"
2242
2493
  },
2243
2494
  {
2244
- "name": "contribute-catalog",
2245
- "installUrl": "github:heygen-com/hyperframes:skills/contribute-catalog",
2246
- "description": "Author a new HyperFrames registry block (caption style, VFX block, transition, lower third) or component (text effect, overlay, snippet) and ship it as an upstream PR to the hyperframes repo. Use ONLY when the user wants to CONTRIBUTE to the public catalogfor in-project caption/transition authoring use the `hyperframes` skill, for installing existing registry items use the `hyperframes-registry` skill.",
2495
+ "name": "faceless-explainer",
2496
+ "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.",
2247
2498
  "version": "0.0.0"
2248
2499
  },
2249
2500
  {
2250
- "name": "css-animations",
2251
- "installUrl": "github:heygen-com/hyperframes:skills/css-animations",
2252
- "description": "CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.",
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.",
2253
2504
  "version": "0.0.0"
2254
2505
  },
2255
2506
  {
2256
- "name": "gsap",
2257
- "installUrl": "github:heygen-com/hyperframes:skills/gsap",
2258
- "description": "GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.",
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.",
2259
2510
  "version": "0.0.0"
2260
2511
  },
2261
2512
  {
2262
2513
  "name": "hyperframes",
2263
2514
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2264
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
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.",
2516
+ "version": "0.0.0"
2517
+ },
2518
+ {
2519
+ "name": "hyperframes-animation",
2520
+ "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.",
2265
2522
  "version": "0.0.0"
2266
2523
  },
2267
2524
  {
2268
2525
  "name": "hyperframes-cli",
2269
2526
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2270
- "description": "HyperFrames CLI dev loop `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.",
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`).",
2528
+ "version": "0.0.0"
2529
+ },
2530
+ {
2531
+ "name": "hyperframes-core",
2532
+ "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.",
2534
+ "version": "0.0.0"
2535
+ },
2536
+ {
2537
+ "name": "hyperframes-creative",
2538
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-creative",
2539
+ "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`.",
2271
2540
  "version": "0.0.0"
2272
2541
  },
2273
2542
  {
2274
2543
  "name": "hyperframes-registry",
2275
2544
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-registry",
2276
- "description": "Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, and registry discovery.",
2545
+ "description": "Install and wire registry blocks and components into HyperFrames compositions. Use when running hyperframes add, installing a block or component, wiring an installed item into index.html, or working with hyperframes.json. Covers the add command, install locations, block sub-composition wiring, component snippet merging, registry discovery, and authoring a new block or component to contribute upstream (idea → scaffold → validate → PR).",
2277
2546
  "version": "0.0.0"
2278
2547
  },
2279
2548
  {
2280
- "name": "remotion-to-hyperframes",
2281
- "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2282
- "description": "Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames (e.g. \"port my Remotion project to HyperFrames\"). Do NOT use when (a) authoring a NEW HyperFrames composition (even if A/B-testing a Remotion video); (b) Remotion is mentioned in passing; (c) Remotion code is shared as reference, not for translation; (d) the user wants \"the same video as my Remotion one\" without explicitly asking to migrate the source treat as a fresh HyperFrames build. When in doubt, default to the `hyperframes` skill. Detects unsupported patterns (useState, useEffect side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda`) and recommends the runtime interop escape hatch instead of a lossy translation.",
2549
+ "name": "motion-graphics",
2550
+ "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.",
2283
2552
  "version": "0.0.0"
2284
2553
  },
2285
2554
  {
2286
- "name": "tailwind",
2287
- "installUrl": "github:heygen-com/hyperframes:skills/tailwind",
2288
- "description": "Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.",
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.",
2289
2558
  "version": "0.0.0"
2290
2559
  },
2291
2560
  {
2292
- "name": "three",
2293
- "installUrl": "github:heygen-com/hyperframes:skills/three",
2294
- "description": "Three.js and WebGL adapter patterns for HyperFrames. Use when creating deterministic Three.js scenes, WebGL canvas layers, AnimationMixer timelines, camera motion, shader-driven visuals, or canvas renders that respond to HyperFrames hf-seek events.",
2561
+ "name": "remotion-to-hyperframes",
2562
+ "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.",
2295
2564
  "version": "0.0.0"
2296
2565
  },
2297
2566
  {
2298
- "name": "typegpu",
2299
- "installUrl": "github:heygen-com/hyperframes:skills/typegpu",
2300
- "description": "TypeGPU and raw WebGPU adapter patterns for HyperFrames. Use when creating GPU-rendered compositions with TypeGPU, raw WebGPU, WGSL fragment shaders, compute pipelines, liquid glass effects, particle systems, or any canvas layer driven by navigator.gpu that responds to HyperFrames hf-seek events.",
2567
+ "name": "website-to-video",
2568
+ "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.",
2301
2570
  "version": "0.0.0"
2302
2571
  }
2303
2572
  ],
@@ -2313,7 +2582,7 @@
2313
2582
  "name": "heygen-com-hyperframes-marketing",
2314
2583
  "description": "Marketing, growth, SEO, ASO, affiliate, sales, and conversion skills. Derived from heygen-com/hyperframes.",
2315
2584
  "author": "ASM (heygen-com/hyperframes)",
2316
- "createdAt": "2026-06-02T22:29:36.134Z",
2585
+ "createdAt": "2026-06-17T07:48:04.180Z",
2317
2586
  "tags": [
2318
2587
  "repo-derived",
2319
2588
  "inferred",
@@ -2325,15 +2594,39 @@
2325
2594
  ],
2326
2595
  "skills": [
2327
2596
  {
2328
- "name": "hyperframes",
2329
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2330
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
2597
+ "name": "general-video",
2598
+ "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.",
2600
+ "version": "0.0.0"
2601
+ },
2602
+ {
2603
+ "name": "hyperframes-creative",
2604
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-creative",
2605
+ "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`.",
2606
+ "version": "0.0.0"
2607
+ },
2608
+ {
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.",
2331
2612
  "version": "0.0.0"
2332
2613
  },
2333
2614
  {
2334
- "name": "website-to-hyperframes",
2335
- "installUrl": "github:heygen-com/hyperframes:skills/website-to-hyperframes",
2336
- "description": "Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says \"capture this site\", \"turn this into a video\", \"make a promo from my site\", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL this is the skill to use.",
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.",
2618
+ "version": "0.0.0"
2619
+ },
2620
+ {
2621
+ "name": "product-launch-video",
2622
+ "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.",
2624
+ "version": "0.0.0"
2625
+ },
2626
+ {
2627
+ "name": "website-to-video",
2628
+ "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.",
2337
2630
  "version": "0.0.0"
2338
2631
  }
2339
2632
  ],
@@ -2349,7 +2642,7 @@
2349
2642
  "name": "heygen-com-hyperframes-product-business",
2350
2643
  "description": "Product, strategy, PRD, planning, finance, resume, and business workflow skills. Derived from heygen-com/hyperframes.",
2351
2644
  "author": "ASM (heygen-com/hyperframes)",
2352
- "createdAt": "2026-06-02T22:29:36.134Z",
2645
+ "createdAt": "2026-06-17T07:48:04.180Z",
2353
2646
  "tags": [
2354
2647
  "repo-derived",
2355
2648
  "inferred",
@@ -2360,16 +2653,52 @@
2360
2653
  "hyperframes"
2361
2654
  ],
2362
2655
  "skills": [
2656
+ {
2657
+ "name": "faceless-explainer",
2658
+ "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
+ },
2363
2668
  {
2364
2669
  "name": "hyperframes",
2365
2670
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2366
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
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.",
2672
+ "version": "0.0.0"
2673
+ },
2674
+ {
2675
+ "name": "hyperframes-creative",
2676
+ "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-creative",
2677
+ "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`.",
2678
+ "version": "0.0.0"
2679
+ },
2680
+ {
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.",
2684
+ "version": "0.0.0"
2685
+ },
2686
+ {
2687
+ "name": "pr-to-video",
2688
+ "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.",
2367
2690
  "version": "0.0.0"
2368
2691
  },
2369
2692
  {
2370
- "name": "website-to-hyperframes",
2371
- "installUrl": "github:heygen-com/hyperframes:skills/website-to-hyperframes",
2372
- "description": "Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says \"capture this site\", \"turn this into a video\", \"make a promo from my site\", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL this is the skill to use.",
2693
+ "name": "product-launch-video",
2694
+ "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.",
2696
+ "version": "0.0.0"
2697
+ },
2698
+ {
2699
+ "name": "website-to-video",
2700
+ "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.",
2373
2702
  "version": "0.0.0"
2374
2703
  }
2375
2704
  ],
@@ -2385,7 +2714,7 @@
2385
2714
  "name": "heygen-com-hyperframes-research",
2386
2715
  "description": "Research, academic, literature-review, citation, paper, and analysis skills. Derived from heygen-com/hyperframes.",
2387
2716
  "author": "ASM (heygen-com/hyperframes)",
2388
- "createdAt": "2026-06-02T22:29:36.134Z",
2717
+ "createdAt": "2026-06-17T07:48:04.180Z",
2389
2718
  "tags": [
2390
2719
  "repo-derived",
2391
2720
  "inferred",
@@ -2397,21 +2726,15 @@
2397
2726
  ],
2398
2727
  "skills": [
2399
2728
  {
2400
- "name": "css-animations",
2401
- "installUrl": "github:heygen-com/hyperframes:skills/css-animations",
2402
- "description": "CSS animation adapter patterns for HyperFrames. Use when authoring CSS keyframes, animation-delay based timing, animation-fill-mode, animation-play-state, or CSS-only motion that HyperFrames must seek deterministically during preview and rendering.",
2403
- "version": "0.0.0"
2404
- },
2405
- {
2406
- "name": "hyperframes",
2407
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2408
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
2729
+ "name": "embedded-captions",
2730
+ "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.",
2409
2732
  "version": "0.0.0"
2410
2733
  },
2411
2734
  {
2412
2735
  "name": "hyperframes-cli",
2413
2736
  "installUrl": "github:heygen-com/hyperframes:skills/hyperframes-cli",
2414
- "description": "HyperFrames CLI dev loop `npx hyperframes` for scaffolding (init), validation (lint, inspect), preview, render, and environment troubleshooting (doctor, browser, info, upgrade). Use when running any of these commands or troubleshooting the HyperFrames build/render environment. For asset preprocessing commands (`tts`, `transcribe`, `remove-background`), invoke the `hyperframes-media` skill instead.",
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`).",
2415
2738
  "version": "0.0.0"
2416
2739
  }
2417
2740
  ],
@@ -2427,7 +2750,7 @@
2427
2750
  "name": "heygen-com-hyperframes-writing",
2428
2751
  "description": "Writing, editing, documentation, publishing, and content-production skills. Derived from heygen-com/hyperframes.",
2429
2752
  "author": "ASM (heygen-com/hyperframes)",
2430
- "createdAt": "2026-06-02T22:29:36.134Z",
2753
+ "createdAt": "2026-06-17T07:48:04.180Z",
2431
2754
  "tags": [
2432
2755
  "repo-derived",
2433
2756
  "inferred",
@@ -2439,45 +2762,33 @@
2439
2762
  ],
2440
2763
  "skills": [
2441
2764
  {
2442
- "name": "animejs",
2443
- "installUrl": "github:heygen-com/hyperframes:skills/animejs",
2444
- "description": "Anime.js adapter patterns for HyperFrames. Use when writing Anime.js animations or timelines inside HyperFrames compositions, registering animations on window.__hfAnime, making Anime.js seek-driven and deterministic, or translating Anime.js examples into render-safe HyperFrames HTML.",
2445
- "version": "0.0.0"
2446
- },
2447
- {
2448
- "name": "gsap",
2449
- "installUrl": "github:heygen-com/hyperframes:skills/gsap",
2450
- "description": "GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.",
2451
- "version": "0.0.0"
2452
- },
2453
- {
2454
- "name": "hyperframes",
2455
- "installUrl": "github:heygen-com/hyperframes:skills/hyperframes",
2456
- "description": "Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML. Use when asked to build any HTML-based video content, add captions or subtitles synced to audio, generate text-to-speech narration, create audio-reactive animation (beat sync, glow, pulse driven by music), add animated text highlighting (marker sweeps, hand-drawn circles, burst lines, scribble, sketchout), or add transitions between scenes (crossfades, wipes, reveals, shader transitions). Covers composition authoring, timing, media, and the full video production workflow. For dev-loop CLI commands (init, lint, inspect, preview, render) see the hyperframes-cli skill; for asset preprocessing commands (tts, transcribe, remove-background) see the hyperframes-media skill.",
2765
+ "name": "embedded-captions",
2766
+ "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.",
2457
2768
  "version": "0.0.0"
2458
2769
  },
2459
2770
  {
2460
- "name": "remotion-to-hyperframes",
2461
- "installUrl": "github:heygen-com/hyperframes:skills/remotion-to-hyperframes",
2462
- "description": "Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition. Use ONLY when the user explicitly asks to port, convert, migrate, translate, or rewrite a Remotion composition as HyperFrames (e.g. \"port my Remotion project to HyperFrames\"). Do NOT use when (a) authoring a NEW HyperFrames composition (even if A/B-testing a Remotion video); (b) Remotion is mentioned in passing; (c) Remotion code is shared as reference, not for translation; (d) the user wants \"the same video as my Remotion one\" without explicitly asking to migrate the source treat as a fresh HyperFrames build. When in doubt, default to the `hyperframes` skill. Detects unsupported patterns (useState, useEffect side effects, async calculateMetadata, third-party React component libraries, `@remotion/lambda`) and recommends the runtime interop escape hatch instead of a lossy translation.",
2771
+ "name": "faceless-explainer",
2772
+ "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.",
2463
2774
  "version": "0.0.0"
2464
2775
  },
2465
2776
  {
2466
- "name": "tailwind",
2467
- "installUrl": "github:heygen-com/hyperframes:skills/tailwind",
2468
- "description": "Tailwind CSS v4.2 browser-runtime patterns for HyperFrames compositions. Use when scaffolding or editing projects created with `hyperframes init --tailwind`, writing Tailwind utility classes in composition HTML, adding CSS-first Tailwind v4 theme tokens, debugging v3 vs v4 syntax, or deciding when to compile Tailwind to CSS instead of using the browser runtime.",
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.",
2469
2780
  "version": "0.0.0"
2470
2781
  },
2471
2782
  {
2472
- "name": "typegpu",
2473
- "installUrl": "github:heygen-com/hyperframes:skills/typegpu",
2474
- "description": "TypeGPU and raw WebGPU adapter patterns for HyperFrames. Use when creating GPU-rendered compositions with TypeGPU, raw WebGPU, WGSL fragment shaders, compute pipelines, liquid glass effects, particle systems, or any canvas layer driven by navigator.gpu that responds to HyperFrames hf-seek events.",
2783
+ "name": "hyperframes-cli",
2784
+ "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`).",
2475
2786
  "version": "0.0.0"
2476
2787
  },
2477
2788
  {
2478
- "name": "website-to-hyperframes",
2479
- "installUrl": "github:heygen-com/hyperframes:skills/website-to-hyperframes",
2480
- "description": "Capture a website and create a HyperFrames video from it. Use when: (1) a user provides a URL and wants a video, (2) someone says \"capture this site\", \"turn this into a video\", \"make a promo from my site\", (3) the user wants a social ad, product tour, or any video based on an existing website, (4) the user shares a link and asks for any kind of video content. Even if the user just pastes a URL this is the skill to use.",
2789
+ "name": "website-to-video",
2790
+ "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.",
2481
2792
  "version": "0.0.0"
2482
2793
  }
2483
2794
  ],