---
name: keyword-resolve
description: Make a seven-second editorial motion card that expands a main idea into related terms, then resolves into a takeaway and a raster evidence document.
version: 1.0.2
category: video
delivery: download-only
---

# Keyword Resolve

Use this parameterized HTML/CSS + GSAP renderer for a concise idea → considerations → takeaway → supporting document relationship. It generates an editable HyperFrames project, not arbitrary scenes from a prompt. New briefs need authored concise copy and an appropriate evidence image.

Read `references/direction.md` and `references/input.md`. Keep the central pill's upshift, staggered spatial keyword expansion, print-strip takeaway overlay, complete cloud clearance, and document rise. Preserve the seven-second timeline and quiet final reading hold. Do not add ambient movement or replace the resolution with a whole-frame zoom.

## Author and create

Write a JSON brief with `topic`, 4–6 `terms`, `takeaway`, `supportTitle`, 2–3 `supportLines`, a local raster `evidenceImage`, and honest `imageCredit`. Use English by default. `layout` can be `wide` or `compact`. Keep evidence sentences short enough to read during the 2.88-second final hold. Image paths resolve beside the brief. This package deliberately includes no topic image or demo media.

```sh
node scripts/create.mjs --data /absolute/path/brief.json --out /absolute/path/project --style linen-gold
node scripts/render.mjs /absolute/path/project /absolute/path/video.mp4
```

Prerequisites: Node.js 22+, FFmpeg, Chrome/Chromium supported by HyperFrames, and HyperFrames 0.8.30. The render script uses pinned `npx`; a preinstalled exact-version CLI can be supplied as `HYPERFRAMES_CLI=/absolute/path/hyperframes.mjs`. This environment variable is a tool path, not a credential. First install may require network access. No API keys, paid models, other Skills, or remote fonts are required. For direct review: `npx --yes hyperframes@0.8.30 inspect /absolute/path/project --json`.

Styles: `linen-gold`, `forest-mint`, `clay-coral`, `slate-silver`. The dark styles have a sparse vertical paper grain. Use `--overrides colors.json` for semantic six-digit hex tokens; see input reference. All styles share motion. Chinese automatically selects bundled Smiley Sans with Noto Sans SC fallback. `--zh-font noto-sans-sc` changes that choice; `--font local.woff2` wins. Fonts remain local with their OFL files.

## Images and review

Supply an actual raster photo, scan, screenshot, or authored evidence document. A diagram may be an original chart; identify it honestly. Do not invent a factual study or use the input creator's photos. The image has a 742×313 visible crop, partly occluded by the takeaway as an intentional foreground layer; keep essential evidence in the editable notes. `imagePosition` adjusts the crop. Source defaults are not in this ZIP. If photography is essential to a new brief, supply a licensed photograph; this package does not synthesize photos.

The original module is silent. The renderer writes no audio track. Do not claim music or listening review. For external audio, author and verify a separate licensed mix; that is outside this Skill's current scope.

Inspect native encoded frames at 0, .45, .95, 1.55, 1.9, 2.7, 3, 3.405, 3.6, 4.12 and 6.9 seconds. Densely sample .45–1.9 and 2.7–4.12. Check label bounds, real raster loading, final reading hold and contrast. Open the project at 1920×1080; `seek(seconds)` clamps to 0–7, `play()` restarts. Seek backward and forward to confirm determinism, then play the encoded MP4 at 1× in a browser. Build success alone is insufficient. Report verification and user acceptance separately.

See `references/runtime.md` for independent implementation and retained licensed libraries.

Human CLI diagnostics default to English. Add `--lang zh-CN` (`zh` is an alias) for Chinese diagnostics; unsupported locales use English. JSON keys, tool flags and paths remain stable.
