hyperframes-creative
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`.
1How It Works & Mechanism
SKILL.md serves solely as a routing table/workflow skeleton; all creative knowledge is offloaded to references/ knowledge cards, palettes/, and frame-presets/ assets loaded on demand—the agent determines which card to read first based on task type, avoiding bulk loading.
| Palette-specific color tokens | `palettes/*.md` |
Combating a 'webpage feel' is the core methodology: any non-trivial composition mandates reading both house-style and video-composition cards first, where the former defines 'interpret the prompt, generate real content' alongside background/foreground layer recipes.
Skipping these is the single biggest cause of generic, web-page-looking output. They are not optional rows in the routing table below — for anything beyond a one-line edit, open both before you choose colors or write HTML.
Design-spec parsing follows strict precedence: frame.md → design.md → DESIGN.md, where frontmatter tokens serve as normative 'brand truth' and prose only provides contextual nuance.
If a project has a design spec, **read it first** and treat its frontmatter tokens as brand truth (colors, fonts, spacing, tone, constraints).
Provides 'ready-to-use' brand starting assets: 12 frame-presets (each containing FRAME.md + caption-skin.html + frame-showcase.html) and 9 palettes; the workflow allows adopting FRAME.md in its entirety as frame.md.
- Ready-made frame-preset (optional) → `frame-presets/` (adopt a `FRAME.md` as `frame.md`; see `references/design-spec.md`)
Verifiable outputs are backed by 3 scripts: contrast-report.mjs runs contrast auditing against rendered frames (bootstrapping @hyperframes/producer + sharp to headless-capture sampled frames); extract-audio-data.py uses numpy/ffmpeg to pre-extract audio bands for audio-reactive compositions.
- `scripts/contrast-report.mjs` — inspect contrast warnings from rendered frames. - `scripts/extract-audio-data.py` — pre-extract audio bands for audio-reactive compositions. - `scripts/package-loader.mjs` — support script for bundled creative tooling.
Boundary discipline is strictly hardcoded in SKILL.md: this skill does not handle animations (delegate to hyperframes-animation), does not override hyperframes-core technical rules, avoids unnecessary embellishments for minor edits, and never reads all cards at once.
Do not override `hyperframes-core` technical rules. Do not require a design system for a minimal technical composition. Do not add extra scenes, narration, music, captions, or transitions unless the request calls for them or you first propose the expansion.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| package | @hyperframes/producer / @hyperframes/core / sharp(contrast-report.mjs 经 package-loader 按需 bootstrap) |
| cli | python3 + numpy + ffmpeg(extract-audio-data.py 解码与频段分析) |
| network | Google Fonts metadata API(找字体时 agent 被指引 curl 查询) |
| network | GSAP CDN(frame-showcase/design-picker 预览 HTML 引 jsdelivr gsap;属产物运行依赖而非 skill 自身外发) |
4Recommended Governance & Evidence
- scripts/: Executes local script or command: node skills/hyperframes-creative/scripts/contrast-report.mjs (captures and analyzes rendered frames locally; handles missing dependencies)
- scripts/ 或 SKILL.md: Declares dynamic installation of external language package dependencies
- 网络端点: Declares external network access: fonts.google.com/metadata/fonts (optional curl guided by agent, saved locally to /tmp JSON)
- 本地工作目录: File read/write and artifact output: creative deliverables: frame.md/design.md/DESIGN.md and composition HTML (agent writes project files per workflow)
5Second-Pass Verification
- [ok] 『脚本目录无网络外发』 — 对 hyperframes-creative 全部 .mjs/.py/.md 做 http(s) 扫描:命中仅 design-picker/showcase 的 jsdelivr gsap、caption-skin 的 gsap、typography.md 的 fonts.google metadata、design-picker.md 的 localhost 提示——无脚本级外发。
- [ok] contrast-report.mjs 能力真实存在(非提示词) — 源码确认 bootstrap @hyperframes/producer/@hyperframes/core/sharp@0.34.5 并调用 createCaptureSession/captureFrameToBuffer/closeCaptureSession,输出 .hyperframes/contrast。
- [ok] frame-presets/palettes 资产计数 — find 实测:frame-presets 含 12+ preset(每套 FRAME.md/caption-skin/frame-showcase,code-editorial 附字体与 OFL)、palettes 9 个 md、references 17 个 md,与 SKILL.md 路由表指向一致。
- [discrepancy] 安全结论有无漏网(CDN 是否被误当无外发) — 第一遍初判『无网络』需修正:产物/预览 HTML 引用 jsdelivr gsap、字体检索指引 curl fonts.google.com——均非 skill 脚本自身外发而是 agent/运行时行为,已如实列入 external_deps 并据以定级 yellow(统一分档:存在公开网络外发即不低于 yellow)。
- [ok] 与动画技能分工声称 — SKILL.md 引言与 Boundaries 两处声明 non-animation 并指向 hyperframes-animation;animation SKILL.md 亦反向声明 creative 管非动画方向,双向一致。
6Verdict & Scenarios
c11a1f80c92e6741…