# Editorial Card Video

> Build paper editorial-card videos from a content-spec: Swiss editorial layout, warm paper ground, Guizang-style live media cards, real BGM, HyperFrames render, and QC gates. Use for 纸感信息卡, 编辑风视频, 归藏风视频, editorial card video, or content-spec to 20-24s card video tasks.

- Skill: `huangserva/editorial-card-video` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add huangserva/editorial-card-video`
- Raw SKILL.md: https://api.skillmd.com/api/skills/huangserva/editorial-card-video/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: huangserva (https://skillmd.com/u/huangserva)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/huangserva/editorial-card-video

---


# Editorial Card Video

Use this skill to turn a structured `content-spec.json` into a 20-24s "归藏纸感编辑风信息卡视频": warm paper background, Swiss editorial typography, dense magazine cards, right-side live media wells, real BGM, and QC evidence.

## When To Use

Use this skill when the request asks for:
- 纸感信息卡, 编辑风视频, 归藏风视频, editorial card video, or magazine-style infographic video.
- A content table/spec becoming a short motion video.
- Reusing the accepted editorial-card-infographic pipeline with live card media.
- Producing or updating a HyperFrames project with paper editorial cards plus BGM and QC artifacts.

Do not use this skill for:
- Talking-head overlay cards on top of an existing speaker video. Use `talking-head-recut`.
- Pure kinetic typography or lower-thirds. Use `motion-graphics`.
- General long-form video authoring without this paper editorial card language. Use `general-video`.
- Building a new Guizang card language from scratch. This skill packages the accepted paper-card production pipeline; read `guizang-social-card-skill` only as design provenance when extending card forms.

## Inputs

Required:
- A `content-spec.json` that follows `references/content-spec.schema.json`.

Recommended:
- Real BGM source or `meta.bgm.mode = "external-window"`.
- Card media clips already prepared as dense-keyframe MP4s.
- A clear topic with six beats that map to the six scene blueprints.

Portable defaults are included:
- `examples/family-ai-assistant.content-spec.json`
- `examples/template-library.content-spec.json`
- `assets/card_media_pack/`
- `assets/components/`

## Workflow

1. Read the request and choose the content-spec.
2. Validate text against `references/content-spec-guide.md`.
3. Map the six scenes to `references/scene-blueprints.md`.
4. Generate Guizang live cards:
   ```bash
   node scripts/generate_guizang_live_cards.mjs \
     --out-dir "$OUT/guizang_cards" \
     --live-media-dir assets/card_media_pack
   ```
5. Generate the editorial-card HyperFrames project:
   ```bash
   node scripts/generate_editorial_card_video.mjs \
     --spec content-spec.json \
     --out-dir "$OUT" \
     --project "$OUT/project" \
     --output "$OUT/final/editorial_card_video_1920x1080.mp4" \
     --live-cards-dir "$OUT/guizang_cards/output" \
     --render
   ```
6. If using a real music bed, set `meta.bgm.mode = "external-window"` and pass a valid `meta.bgm.file`. The script normalizes the window and muxes it into the final.
7. Run QC gates from `references/qc-checklist.md`.
8. Deliver the final MP4, MD5, ffprobe, contact sheets, MAD metrics, and any known residual risk.

## Gate Discipline

A render is not complete until these are checked:
- Card live media is actually moving; static poster contact is not enough.
- Right-side card-region MAD should land around the accepted reference band, about `14` for the live media card region, unless the content deliberately uses quiet footage.
- Faces in live wells are complete; use `face-top` or another focus mode instead of center-cover when needed.
- Video wells have dense keyframes; use GOP around `12` for seekable media.
- Wells sit inside the intended paper/card bounds with no placeholder blocks.
- Scene dwell and entry rhythm match the current recipe values. Treat these as "current values" because active recipe tuning may update them.
- BGM is real or explicitly accepted fallback; lavfi fallback is only for smoke tests.

## Key References

Load these when doing production work:
- `references/style-language.md` for measured colors, type sizes, spacing, and paper texture language.
- `references/scene-blueprints.md` for the six-scene flow.
- `references/card-anatomy.md` for the three Guizang live-card shapes.
- `references/content-spec-guide.md` for schema and copy-length boundaries.
- `references/live-media-rules.md` for focus, dense-keyframe, and well-alignment rules.
- `references/qc-checklist.md` for quantitative gates.
- `references/lessons.md` for known failure modes and fixes.

## Scripts

- `scripts/generate_guizang_live_cards.mjs`: renders the six reusable Guizang live-card MP4s and keyframes from skill-local media.
- `scripts/generate_editorial_card_video.mjs`: builds the HyperFrames project, renders the full editorial-card video, prepares BGM, and muxes audio.
- `scripts/build_live_media_qc.py`: compares moving card regions against a reference crop.
- `scripts/build_stage_c_qc.py`: builds source-vs-sample scene contact sheets.
- `scripts/build_guizang_card_midframe_contact.py`: checks live-card focus and subject crop.
- `scripts/build_guizang_layout_density_contact.py`: compares card layout density against reference crops.
- `scripts/build_dwell_well_tuning_qc.py`: measures accepted video-well ratios and dwell timing.
- `scripts/build_stackfix_qc.py`: verifies stack settle-vs-end position and bounded anchor drift.
- `scripts/build_cardface_integrity_qc.py`: verifies edge typography, top-title zones, and fallback/video layer consistency.
- `scripts/build_croute_threeway_contact.py`: compares native Guizang, script C-route, and reference crops.

All scripts accept explicit input/output directories. Do not hardcode `(internal evidence)` or user-home paths in production calls.

## Dependencies

Required:
- HyperFrames CLI available through `npx hyperframes`.
- `ffmpeg` in PATH.
- Node.js ESM runtime.
- Python 3 with `Pillow` and `numpy` for QC scripts.

Design provenance:
- `guizang-social-card-skill` supplied the accepted visual language for the live-card subsystem. It is not a runtime dependency for this skill snapshot; read it when extending or inventing new card forms, not for ordinary production renders.

## Worked Examples

See `examples/README.md` for accepted sample paths, MD5s, and the two portable content-spec files. The sample videos are indexed by path instead of copied into the skill because they are large binary deliverables.

