Agent Skillsfanfan-de/anybox › product-launch-video

product-launch-video

GitHub

用于将产品、SaaS或应用的市场推广脚本及URL转化为营销视频。涵盖发布、促销和功能展示,排除通用解说或代码变更视频。需先路由确认,严格按阶段执行以生成绑定运行手册所需的 artifacts。

plugins/Anybox-Plugins/hyperframes/skills/product-launch-video/SKILL.md fanfan-de/anybox

Trigger Scenarios

制作产品发布视频 SaaS 宣传视频 功能揭示视频 将脚本转为60秒宣传片

Install

npx skills add fanfan-de/anybox --skill product-launch-video -g -y
More Options

Non-standard path

npx skills add https://github.com/fanfan-de/anybox/tree/master/plugins/Anybox-Plugins/hyperframes/skills/product-launch-video -g -y

Use without installing

npx skills use fanfan-de/anybox@product-launch-video

指定 Agent (Claude Code)

npx skills add fanfan-de/anybox --skill product-launch-video -a claude-code -g -y

安装 repo 全部 skill

npx skills add fanfan-de/anybox --all -g -y

预览 repo 内 skill

npx skills add fanfan-de/anybox --list

SKILL.md

Frontmatter
{
    "name": "product-launch-video",
    "metadata": {
        "tags": "orchestrator, pipeline, product-launch"
    },
    "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.\n"
}

product-launch-video - dispatch entry

Confirm the route before Step 0. This skill makes a video for a product being marketed / launched / promoted. If it's really a general (non-launch) site → video (site tour / showcase, not selling a product) → /website-to-video; a topic / concept with no product/faceless-explainer; a GitHub PR/pr-to-video; an existing video to caption / package/embedded-captions · /graphic-overlays. Out of scope (decline, don't fake): live / at-render-time data (every value is baked in at author time), or footage / screenshots / an avatar that doesn't exist yet (HyperFrames can't record or capture). Routed here on a vague "make a video", or unsure product-vs-topic / launch-vs-general-site? Read /hyperframes first.

All artifacts are written to PROJECT_DIR = videos/<project-name>/ (created in Step 0). Paths below are relative to PROJECT_DIR. You (the orchestrator) run the Bash steps and dispatch the subagents; per-phase details live in the linked guides/agents/scripts — do not expand them here. Dispatch is harness-portable: before the first subagent dispatch, read <SKILL_DIR>/../hyperframes-core/references/subagent-dispatch.md once — it maps the dispatch verbs (parallel fan-out / background / wait) to your harness's primitives; a concurrency cap below N means waves of the cap size, never fewer scenes. This file is a binding runbook, not background reading: execute the steps in order and produce every phase artifact with its designated script or agent role — do not substitute a freestyle pipeline (hand-written narration, ad-hoc TTS calls, one hand-authored composition), and do not skip a pause step because the request seems clear. A step you cannot perform → stop and report; improvising past it breaks every downstream contract.

Phase Execution Primary artifact Detailed flow
init Bash directly hyperframes.json Step 0 (this file)
capture Bash directly (hyperframes capture) capture/extracted/tokens.json phases/capture/guide.md
design-system subagent design-system/design.html + chunks/ agents/design-system.md
story-design subagent narrator_scripts.json agents/story-design.md
audio Bash directly (audio.mjs) audio_meta.json phases/audio/guide.md
visual-design subagent section_plan.md agents/visual-design.md
prep Bash directly (prep.mjs) group_spec.json scripts/prep.mjs header
captions Bash directly (captions.mjs group -> html) caption_groups.json + compositions/captions.html scripts/captions.mjs header
scenes N x subagent (parallel, one scene each) compositions/scene_*.html agents/hyperframes-scene.md
finalize Bash prelude (wait-bgm + assemble + transitions + hoist + sfx-verify) -> finalize subagent renders/video.mp4 Step 7 / agents/hyperframes-finalize.md

Prerequisites (install before first run)

macOS Apple Silicon or Linux x64:

brew install python@3.11 node ffmpeg                   # On Linux, use the apt/dnf equivalent
npx hyperframes doctor                                  # One-time check that Chrome / dependencies are ready
  • python@3.11Homebrew Python, not system /usr/bin/python3 (PEP 668 blocks pip install otherwise); used by the MusicGen fallback
  • node >= 18 + ffmpeg (audio.mjs uses ffprobe)
  • Chrome downloads automatically on first npx hyperframes capture. hoist-videos.mjs (Step 7, runs only when a scene declares footage) reuses that cached Chrome; if it reports deps missing, run node <SKILL_DIR>/scripts/hoist-videos.mjs --ensure-deps once (~5s)

Optional API keys (unset -> local fallbacks; injection in Step 0.5; GEMINI_API_KEYGOOGLE_API_KEY):

Key Used for Default voice / fallback
HEYGEN_API_KEY (or hyperframes auth login) TTS (cloud, with word-level timestamps) voice: auto (first English starfish voice; override --voice)
ELEVENLABS_API_KEY TTS (cloud; requires pip install elevenlabs) voice 21m00Tcm4TlvDq8ikWAM (Rachel)
Neither, and not logged in TTS local Kokoro, voice am_michael (for non-English, pass --voice)
GEMINI_API_KEY (one key for both uses) Capture vision caption + Lyria BGM unset -> captions use DOM context only; BGM uses local MusicGen (first run downloads ~300 MB)

Flow

Step 0.0 - Confirm the brief (one round, then build)

Before Step 0, in one message confirm only what materially shapes the launch video and you can't infer — lead with a recommended default, skip anything the user already gave: the angle / focus (the product overall, a headline feature, an offer / CTA), length (default ~30-90s; up to ~3 min), and — if /hyperframes did not already set them — aspect (default 16:9; 9:16 for vertical / social) and language. The preset is derived from brand capture, not asked. For a fully specified request, skip this and build.

Step 0 - Initialize the video project

cwd is the agent workspace root; all video artifacts go in PROJECT_DIR = videos/<project-name>/.

Naming <project-name>: an explicit user-given directory wins; otherwise choose a short kebab-case name like <brand>-promo (never the workspace basename or a timestamp). From a URL, derive it from the domain/page title; the name is fixed once capture/ is written.

Initialization (only when $PROJECT_DIR/hyperframes.json does not exist):

PROJECT_DIR="${LAUNCH_VIDEO_DIR:-videos/<project-name>}"
mkdir -p "$(dirname "$PROJECT_DIR")"
npx hyperframes init "$PROJECT_DIR" --non-interactive --skip-skills --example=blank

hyperframes init drops a generic AGENTS.md / CLAUDE.md into $PROJECT_DIR; leave them in place but do not treat their generic guidance as run-time constraints — this skill is the source of truth.

Constraints (each violation breaks later phases):

  • Do not run hyperframes init (or generate AGENTS.md / CLAUDE.md) in the workspace root; do not create a hyperframes/ subproject inside PROJECT_DIR.
  • Every subagent dispatch context contains a PROJECT_DIR: <path> line; the subagent treats it as the project root.
  • cwd discipline (master too): every Bash command runs as a (cd "$PROJECT_DIR" && ...) subshell — never bare cd "$PROJECT_DIR" && ... (persistent cwd drift makes later relative paths wrong).

Step 0.5 - API key guidance

Skip when $PROJECT_DIR/.env exists or context.log is non-empty. Otherwise detect what's configured (HeyGen TTS = $HEYGEN_API_KEY / $HYPERFRAMES_API_KEY / ~/.heygen/credentials; ElevenLabs / Gemini = their env keys), then always pause and ask — do not proceed on your own, even when a workable config is detected:

Detected:

. Cloud keys are optional — without them, unconfigured providers fall back locally (TTS -> Kokoro unless HeyGen is configured; BGM -> MusicGen). Reply with:

  • paste keys -> I will write them to $PROJECT_DIR/.env
  • "go" -> proceed with what is configured now
  • "skip" -> proceed with local fallbacks for anything unconfigured

Pasted keys -> Write/Edit $PROJECT_DIR/.env, one KEY=value per line (overwrite same-name keys, do not judge values). "go" / "skip" -> Step 1.

Step 1 - Capture (Phase 1)

  1. Resolve SKILL_DIR and any explicit TARGET_URL from the prompt; ensure Step 0 ran.
  2. Read $PROJECT_DIR/context.log if it exists and use the Resume table below to skip completed phases.
  3. Classify the input (Step 1.0) to set CAPTURE and VO_MODE, then run the matching path. Both paths share the same downstream commands.

Step 1.0 - Classify the input (set CAPTURE + VO_MODE)

Input shape What to do
Explicit URL in the prompt TARGET_URL = that URL; CAPTURE=yes; no voice-over question (narration comes from the captured site). Path (A).
User pasted / pointed at a script or brief (1) Save the verbatim text to $PROJECT_DIR/user_script.txt. (2) Ask the voice-over question once (below) → set VO_MODE. (3) Resolve a capture target from the script (below) → set CAPTURE.
A topic / brief with no script prose, no product CAPTURE=no; no voice-over question. Path (B).

Voice-over question (only when the user supplied actual script prose) — ask one short line and wait:

Should I use your script verbatim as the voice-over, or restructure it into more screen-ready scene narration?

  • Verbatim — keep the original wording; I only split scenes and pair visuals. Duration follows the script.
  • Restructure — treat it as a brief and rewrite tighter narration, 1-2 sentences per scene.

VO_MODE = verbatim | restructure (default restructure); threaded to story-design in Step 2.

Resolve a capture target from the script — default to finding and crawling a site (real brand tokens beat preset fallbacks); skip only when the user opted out ("no web / text-only / no capture"). In order: (1) explicit http(s):// URL in the script → use it, announce, CAPTURE=yes; (2) clear brand/product name → WebSearch for the official site, confirm the resolved URL with the user in one line before crawling (decline / nothing credible → CAPTURE=no); (3) nothing derivable → CAPTURE=no.

Capture + user script coexist: the crawl supplies only brand tokens + assets + visual register; the narration spine stays user_script.txt (honored via VO_MODE), never the site's own copy.

(A) Capture path (CAPTURE=yes):

(cd "$PROJECT_DIR" && npx hyperframes capture "<TARGET_URL>" -o ./capture)

(B) No-capture path (CAPTURE=no) — synthesize a minimal capture package; downstream is identical. You (master) choose the preset (no site to infer from; pick from the 19 presets per user intent, or ask one short question). The full script/brief goes into visible-text.txt; colors:[] triggers the preset-palette fallback (fill colors only if the user named brand colors):

(cd "$PROJECT_DIR" && mkdir -p capture/extracted capture/assets)
(cd "$PROJECT_DIR" && cat > capture/extracted/tokens.json <<'JSON'
{ "title": "<brand/title>", "description": "<one-line>", "colors": [], "fonts": [], "headings": [], "sections": [], "ctas": [], "svgs": [], "cssVariables": {} }
JSON
)
(cd "$PROJECT_DIR" && echo '{}' > capture/extracted/design-styles.json)
(cd "$PROJECT_DIR" && printf '%s\n' "<full user script / brief>" > capture/extracted/visible-text.txt)

If the user already has a final narrator_scripts.json, place it in $PROJECT_DIR/; the Resume table skips story-design.

Shared downstream for both paths (Path B appends --style <chosen-preset> to build-design; Path A omits it for auto-inference):

(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/derive-context-pack.mjs --capture ./capture)
(cd "$PROJECT_DIR" && node <SKILL_DIR>/phases/design-system/scripts/build-design.mjs ./design-system --no-emit)   # Path B: append --style <chosen-preset>

Validation (stop and report if anything is missing; if capture/BLOCKED.md exists, the site blocked the crawl — follow the instructions inside it):

[ -s "$PROJECT_DIR/capture/extracted/tokens.json" ] && \
[ -s "$PROJECT_DIR/capture/extracted/design-styles.json" ] && \
[ -s "$PROJECT_DIR/capture/context_pack.md" ] && \
[ -s "$PROJECT_DIR/design-system/inference.json" ] && \
[ -d "$PROJECT_DIR/capture/assets" ] && echo ok || echo missing

Step 1b + Step 2 - design-system ∥ story-design (parallel fork)

Both subagents depend only on Step 1 artifacts and do not read each other's output — after capture validates, start them in parallel (two concurrent background dispatches, per the dispatch adapter); do not serialize:

  • design-system: prompt = full agents/design-system.md + ## Dispatch context with SKILL_DIR / PROJECT_DIR / Target URL + the full text of design-system/inference.json inlined via cat (~2-4 KB, saves the subagent one Read).

  • story-design: prompt = full agents/story-design.md + ## Dispatch context:

    SKILL_DIR: <absolute path>
    PROJECT_DIR: <video project root>
    Schema validator: <SKILL_DIR>/scripts/validate-narrator.mjs
    Design DNA: ./design-system/inference.json   # read site_dna once to set the narrative register
    Provided script: ./user_script.txt   # ONLY when the user supplied a script; omit the line otherwise
    Voice-over mode: <verbatim | restructure>   # pair with Provided script; omit otherwise
    Script style: Keep each scene's script concise - 1-2 sentences, no more than 20 words   # suspended in verbatim mode (length follows the script)
    Orientation: <landscape | portrait | square>   # from the user's aspect (16:9→landscape, 9:16→portrait, 1:1→square; default landscape). Echoed verbatim into narrator_scripts.orientation → sets the canvas for the whole pipeline
    

Step 3 - Audio (Phase 2.5)

After story-design returns (narrator_scripts.json exists) — audio does not wait for design-system:

(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/audio.mjs \
  --narrator-scripts ./narrator_scripts.json \
  --hyperframes . \
  --out ./audio_meta.json \
  --lyria-recipe <SKILL_DIR>/phases/audio/lyria-recipe.py)

BGM runs detached in the background when available ($GOOGLE_API_KEY → Lyria cloud; else installed transformers torch soundfile numpy → local MusicGen, first run ~300 MB) and is silently skipped otherwise; all flags (--voice / --provider / --no-bgm / ...) are documented at the top of audio.mjs.

  • exit 0 -> voice + transcribe complete (BGM may still be running; audio_meta.json records bgm_log / bgm_pid), continue.
  • exit 1 -> zero scenes produced voice; report and stop.

Step 4 - Visual design (Phase 3)

Join point: design-system/chunks/index.json + narrator_scripts.json + audio_meta.json all exist. Build one dispatch packet (the subagent reads it once, zero extra Reads):

# Dispatch packets live in $PROJECT_DIR/.dispatch/ (transient; safe to delete after the run).
# NEVER use a fixed /tmp path: it persists across runs/projects, so a failed write silently
# reuses another project's stale packet and contaminates every worker.
mkdir -p "$PROJECT_DIR/.dispatch"
DP="$PROJECT_DIR/.dispatch/vd-dispatch.txt"
{
  # Section order is deliberate: contracts first, static references middle, work items last
  echo "## Design chunks"
  (cd "$PROJECT_DIR" && cat design-system/chunks/index.json \
    design-system/chunks/composition-hints.md design-system/chunks/voice.md \
    design-system/chunks/tokens.css design-system/chunks/easings.js 2>/dev/null)
  echo "## Effects catalog";  cat <SKILL_DIR>/phases/visual-design/effects-catalog.md
  echo "## Blueprints index"; cat <SKILL_DIR>/phases/visual-design/blueprints-index.md
  echo "## Design rules";     cat <SKILL_DIR>/phases/visual-design/rules/{typography,color-system,composition,motion-language}.md
  echo "## SFX library";      cat <SKILL_DIR>/assets/sfx/manifest.json
  echo "## Narrator scripts"; (cd "$PROJECT_DIR" && cat narrator_scripts.json)
  echo "## Audio meta";       (cd "$PROJECT_DIR" && cat audio_meta.json 2>/dev/null)   # optional; overrides Duration on >10% drift
} > "$DP"
# Guard: a partially-failed build must fail LOUDLY here, not downstream in the subagent
grep -q '^## Narrator scripts' "$DP" || { echo "FATAL: vd-dispatch.txt incomplete — rebuild before dispatching"; }

# Captions planning hint for the Captions: dispatch line below
(cd "$PROJECT_DIR" && node -e 'try{const m=require("./audio_meta.json");process.stdout.write(Object.values(m.scenes||{}).some(s=>s.wordsPath)?"enabled":"disabled")}catch{process.stdout.write("enabled")}')

Dispatch the subagent: prompt = full agents/visual-design.md + ## Dispatch context (copy verbatim, do not digest):

SKILL_DIR: <absolute path>
PROJECT_DIR: <video project root>
Schema validator: <SKILL_DIR>/scripts/validate-section.mjs
Canvas: <width>×<height>   # 1920×1080 default; 1080×1920 portrait / 1080×1080 square when narrator_scripts.orientation says so
Captions: <enabled | disabled>   # the node -e hint above; enabled => plan keeps key content in the upper ~83%
Dispatch packet: <PROJECT_DIR>/.dispatch/vd-dispatch.txt

The Captions: line is an optimistic hint; the authoritative gate is group_spec.captions_enabled from Step 5 prep (mismatch is safe — Step 6/7 keep-out always follows group_spec).

Step 5 - prep (deterministic, NO subagent)

After section_plan.md exists:

(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/prep.mjs \
  --section-plan ./section_plan.md \
  --narrator-scripts ./narrator_scripts.json \
  $( [ -f audio_meta.json ] && echo "--audio-meta ./audio_meta.json" ) \
  --rules-dir <SKILL_DIR>/../hyperframes-animation/rules \
  --capture ./capture \
  --design-system ./design-system \
  --hyperframes . \
  --sfx-lib <SKILL_DIR>/assets/sfx \
  --out ./group_spec.json)
  • exit 0 -> append the stdout summary to $PROJECT_DIR/context.log.
  • exit 1 -> stderr names the failing scene + anchor; re-dispatch visual-design (Step 4) with the error passed through.

Step 5.5 + Step 6 - Captions (deterministic) + scene worker fan-out

Captions are two Bash scripts, no subagent (run after prep, before fan-out):

(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/captions.mjs group \
  --group-spec ./group_spec.json --hyperframes . \
  --tokens design-system/chunks/tokens.css --out ./caption_groups.json)

(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/captions.mjs html \
  --hyperframes . --groups ./caption_groups.json \
  --tokens design-system/chunks/tokens.css \
  --inference design-system/inference.json \
  --out compositions/captions.html)

exit 0 = normal. captions: skipped (<reason>) = legal skip — no captions.html, assemble will not mount track 12; continue. Do not run npx hyperframes lint <file> on captions.html (lint takes a project directory; a file path exits 1).

Scene worker fan-out: read group_spec.json.groups[] for worker count N and group_spec.captions_enabled for the Captions: flag, then build the per-worker dispatch packets and start N workers in parallel (concurrent background dispatches; a harness concurrency cap below N means waves of the cap size until all N scenes exist — one scene per worker either way, never fewer scenes):

# Same rule as Step 4: packets go in $PROJECT_DIR/.dispatch/, never a fixed /tmp path
# (a stale /tmp file from a previous project survives a failed write and silently
# poisons every worker with the wrong design system).
mkdir -p "$PROJECT_DIR/.dispatch/scene-dispatch"
# Shared header (identical for every worker), computed once:
# `## Film direction` = the film-level invariants from group_spec.film_direction
# (palette system / motion defaults + budget / ambient system / negative list);
# each scene's creative_brief carries only scene-specific deltas on top of it.
{
  echo "## Film direction"
  (cd "$PROJECT_DIR" && node -p 'JSON.parse(require("fs").readFileSync("group_spec.json","utf8")).film_direction || ""')
  echo "## Tokens / easings / voice"
  (cd "$PROJECT_DIR" && cat design-system/chunks/tokens.css design-system/chunks/easings.js design-system/chunks/voice.md 2>/dev/null)
} > "$PROJECT_DIR/.dispatch/scene-shared.txt"
# Guard BEFORE fan-out: header structure + the project's own brand token must both be present;
# a contaminated packet here costs a full re-author round across every affected worker.
grep -q '^## Film direction' "$PROJECT_DIR/.dispatch/scene-shared.txt" && \
  grep -q -- '--brand-primary' "$PROJECT_DIR/.dispatch/scene-shared.txt" || \
  { echo "FATAL: scene-shared.txt incomplete/stale — rebuild before dispatching workers"; }
# Per-worker packet: shared header + that worker's Scenes YAML -> $PROJECT_DIR/.dispatch/scene-dispatch/w<N>.txt

Each worker's prompt = full agents/hyperframes-scene.md + ## Dispatch context with: SKILL_DIR / PROJECT_DIR / Worker ID / Composition width + Composition height (= group_spec.width/height) / Captions: <enabled|disabled> / Dispatch packet: <PROJECT_DIR>/.dispatch/scene-dispatch/w<N>.txt, plus the shared header body (## Film direction + ## Tokens / easings / voice) and the worker's Scenes: list copied verbatim from group_spec.json.groups[i].scenes[<sid>] (scene_id / effects / rule_paths / assetCandidates / estimatedDuration_s / voicePath / blueprint / design_chunks / creative_brief). When Captions: enabled, also pass Caption band top y = height − round(height × 0.1667) and Foreground max y = Caption band top y − 20 (landscape → 900 / 880; portrait → 1600 / 1580). design_chunks: null (anomaly already reported by prep) -> the worker falls back to reading design-system/design.html.

After all workers return, run the static composition gate (scans compositions/scene_*.html per group_spec.scene_ids; captions.html is covered by its own self-lint + Step 7 whole-project lint):

(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/check-compositions.mjs \
  --hyperframes . \
  --group-spec ./group_spec.json)
  • 0 -> continue to Step 7.
  • 1 -> stderr names the violating scene + rule; re-dispatch that worker (do not Edit in the master).

Step 7 - Assembly prelude + finalize (Phase 4c)

(1) Deterministic Bash prelude (each script documents its internals in its own header; you only branch on exit codes):

(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/wait-bgm.mjs \
  --audio-meta ./audio_meta.json \
  --hyperframes . \
  --timeout-ms 120000 \
  --interval-ms 2000)
(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/assemble-index.mjs --group-spec ./group_spec.json --hyperframes .)
(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/transitions.mjs inject --group-spec ./group_spec.json --hyperframes .)
(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/transitions.mjs verify --group-spec ./group_spec.json --index ./index.html)
(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/hoist-videos.mjs --group-spec ./group_spec.json --hyperframes .)
(cd "$PROJECT_DIR" && node <SKILL_DIR>/scripts/verify-output.mjs sfx --group-spec ./group_spec.json --index ./index.html)

No agent hand-writes index.html or manually checks BGM. Exit-code branches:

  • assemble exit 1 -> names a scene (root data-duration ≠ group_spec, or file missing) = worker contract break -> re-dispatch that worker (Step 6), then rerun this step.
  • transitions inject/verify exit 1 -> injector bug (prep already validated transitions[]) -> report for investigation; do not roll back workers.
  • hoist-videos exit 1 -> an invalid data-video-src declaration (stderr names scene + reason); Edit the scene file (or re-dispatch for a real relayout), rerun this step. exit 2 -> run node <SKILL_DIR>/scripts/hoist-videos.mjs --ensure-deps from the workspace root, rerun.
  • sfx-verify exit 1 -> assembler bug -> report for investigation.

(2) Dispatch the finalize subagent: prompt = full agents/hyperframes-finalize.md + ## Dispatch context:

SKILL_DIR: <absolute path>
PROJECT_DIR: <video project root>
Render quality: high     # or draft / standard
Captions: <enabled | disabled>   # = group_spec.captions_enabled
BGM: <one-line wait-bgm verdict, e.g. "ready (lyria)" / "skipped (no key)" / "timeout">
Film direction: |        # = group_spec.film_direction (film-level invariants the briefs assume)
  <verbatim>
Scenes:                  # one line per scene, copied verbatim from group_spec.json
  - { scene_id, start_s, estimatedDuration_s, effects: [...], creative_brief: |
      <Phase 3 prose for this scene> }

Finalize runs lint+validate, takes one contact-sheet look, fixes what the pixels show, renders, and verifies — its prompt owns that flow. Outcomes:

  • Reports the verified mp4 + fixes in place -> complete.
  • STOP (a scene needs real recomposition — exception, not default) -> re-dispatch that worker (Step 6) with normal dispatch context + a ## Repair context block carrying finalize's verbatim findings and the Captions: flag -> rerun (1) -> re-dispatch finalize. Same finding survives two rounds -> stop and surface to the user.

Completion report

Summarize per phase from context.log + each step's stdout: capture URL / asset counts, preset, archetype, scene count + total duration, transitions, gate status, fixes in place, final mp4 path + bytes + duration.

Offer a live preview — never auto-open one. The deliverable is the mp4. Do NOT run hyperframes preview / play during any earlier phase (a mid-run preview shows half-edited compositions and dies with that phase's server). Only when the user asks, after the render:

(cd "$PROJECT_DIR" && npx hyperframes preview)   # Studio UI, e.g. http://localhost:3002/#project/<project-name>
(cd "$PROJECT_DIR" && npx hyperframes play)       # or a plain shareable player at http://localhost:<port>

Report the actual URL with the real port. Flags live in the hyperframes-cli skill.


Resume table

Read $PROJECT_DIR/context.log and resume from the first missing artifact:

State Continue from
log missing or empty Full pipeline
capture/extracted/tokens.json missing Rerun Step 1 (capture + derive-context-pack + build-design.mjs --no-emit)
tokens.json exists, design-system/inference.json missing Rerun only build-design.mjs --no-emit (deterministic, seconds)
inference.json exists, but design.html or narrator_scripts.json missing Step 1b/2 fill-in: dispatch whichever subagent's artifact is missing (both missing -> both in parallel)
narrator_scripts.json exists, audio_meta.json missing Step 3 (audio)
audio_meta.json exists, section_plan.md missing Step 4 (visual-design)
section_plan.md exists, group_spec.json missing Step 5 (prep)
group_spec.json exists, compositions/scene_*.html missing or caption_groups.json missing Step 5.5+6: run the captions scripts first, then dispatch workers for whichever scenes are missing, in parallel. Captions-ran criterion = caption_groups.json exists (a legal skip writes no captions.html; keying on captions.html would re-skip forever)
All compositions/scene_*.html exist + captions state decided, renders/video.mp4 missing Step 7: rerun the full Bash prelude (overwrite index.html — upstream scenes may have changed), then dispatch finalize
renders/video.mp4 exists Report completed and stop

Version History

  • 08dc189 Current 2026-07-05 19:02

Same Skill Collection

.agents/skills/anybox-frontend-guidelines/SKILL.md
.agents/skills/anybox-mobile-release/SKILL.md
.agents/skills/deploy-anybox-tencent-docker-windows/SKILL.md
.agents/skills/deploy-anybox-tencent-server/SKILL.md
.agents/skills/fanfande-frontend-style/SKILL.md
.agents/skills/fanfande-plugin-structure/SKILL.md
.agents/skills/frontend-ui-style-kit/SKILL.md
.agents/skills/obsidian-like/SKILL.md
.agents/skills/pdf/SKILL.md
.agents/skills/transcribe/SKILL.md
.agents/skills/zhihu-md-publisher/SKILL.md
.anybox/skills/anybox-plugin-development/SKILL.md
.anybox/skills/anybox-start-dev/SKILL.md
plugins/Anybox-Plugins/anybox-plugin-development/skills/anybox-plugin-development/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/capture-tasks-from-meeting-notes/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/generate-status-report/SKILL.md
plugins/Anybox-Plugins/box/skills/box/SKILL.md
plugins/Anybox-Plugins/browser/skills/browser/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-app-intents/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-debugger-agent/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-ettrace-performance/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-memgraph-leaks/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/ios-simulator-browser/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-liquid-glass/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-performance-audit/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-ui-patterns/SKILL.md
plugins/Anybox-Plugins/build-ios-apps/skills/swiftui-view-refactor/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/appkit-interop/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/build-run-debug/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/liquid-glass/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/packaging-notarization/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/signing-entitlements/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/swiftpm-macos/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/swiftui-patterns/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/telemetry/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/test-triage/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/view-refactor/SKILL.md
plugins/Anybox-Plugins/build-macos-apps/skills/window-management/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/frontend-app-builder/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/frontend-testing-debugging/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/react-best-practices/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/shadcn-best-practices/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/supabase-best-practices/SKILL.md
plugins/Anybox-Plugins/canva/skills/canva-branded-presentation/SKILL.md
plugins/Anybox-Plugins/canva/skills/canva-resize-for-all-social-media/SKILL.md
plugins/Anybox-Plugins/canva/skills/canva-translate-design/SKILL.md
plugins/Anybox-Plugins/cinema/skills/initialize-cinema-project/SKILL.md
plugins/Anybox-Plugins/circleci/skills/builds/SKILL.md
plugins/Anybox-Plugins/circleci/skills/chunk/SKILL.md
plugins/Anybox-Plugins/circleci/skills/cli/SKILL.md
plugins/Anybox-Plugins/circleci/skills/config/SKILL.md
plugins/Anybox-Plugins/circleci/skills/smarter-testing/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/agents-sdk/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/cloudflare/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/durable-objects/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/sandbox-sdk/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/web-perf/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/workers-best-practices/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/wrangler/SKILL.md
plugins/Anybox-Plugins/coderabbit/skills/coderabbit-review/SKILL.md
plugins/Anybox-Plugins/computer-use-windows/skills/computer-use/SKILL.md
plugins/Anybox-Plugins/documents/skills/documents/SKILL.md
plugins/Anybox-Plugins/expo/skills/add-app-clip/SKILL.md
plugins/Anybox-Plugins/expo/skills/building-native-ui/SKILL.md
plugins/Anybox-Plugins/expo/skills/eas-update-insights/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-api-routes/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-brownfield/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-cicd-workflows/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-deployment/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-dev-client/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-examples/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-module/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-tailwind-setup/SKILL.md
plugins/Anybox-Plugins/expo/skills/native-data-fetching/SKILL.md
plugins/Anybox-Plugins/expo/skills/upgrading-expo/SKILL.md
plugins/Anybox-Plugins/expo/skills/use-dom/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/feishu-cli/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-base/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-calendar/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-contact/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-doc/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-drive/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-event/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-im/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-mail/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-markdown/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-minutes/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-okr/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-openapi-explorer/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-shared/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-sheets/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-skill-maker/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-slides/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-task/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-vc-agent/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-vc/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-whiteboard/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-wiki/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-workflow-meeting-summary/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-workflow-standup-report/SKILL.md
plugins/Anybox-Plugins/feishu/skills/feishu/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/game-playtest/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/game-studio/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/game-ui-frontend/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/phaser-2d-game/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/react-three-fiber-game/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/sprite-pipeline/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/three-webgl-game/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/web-3d-asset-pipeline/SKILL.md
plugins/Anybox-Plugins/game-studio/skills/web-game-foundations/SKILL.md
plugins/Anybox-Plugins/github/skills/gh-address-comments/SKILL.md
plugins/Anybox-Plugins/github/skills/gh-fix-ci/SKILL.md
plugins/Anybox-Plugins/github/skills/github/SKILL.md
plugins/Anybox-Plugins/github/skills/yeet/SKILL.md
plugins/Anybox-Plugins/gmail/skills/gmail-inbox-triage/SKILL.md
plugins/Anybox-Plugins/gmail/skills/gmail/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-daily-brief/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-free-up-time/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-group-scheduler/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar-meeting-prep/SKILL.md
plugins/Anybox-Plugins/google-calendar/skills/google-calendar/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-docs/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-drive-comments/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-drive/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-sheets/SKILL.md
plugins/Anybox-Plugins/google-drive/skills/google-slides/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot-crm-data-hygiene/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot-customer-prep/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot-pipeline-health/SKILL.md
plugins/Anybox-Plugins/hubspot/skills/hubspot/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/cli/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/community-evals/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/datasets/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/gradio/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/paper-publisher/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/papers/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/trackio/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/transformers.js/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-cli/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-core/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-creative/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-media/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-registry/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/slideshow/SKILL.md
plugins/Anybox-Plugins/kling/skills/kling-video/SKILL.md
plugins/Anybox-Plugins/latex/skills/latex-compile/SKILL.md
plugins/Anybox-Plugins/latex/skills/latex-doctor/SKILL.md
plugins/Anybox-Plugins/latex/skills/texlive-runtime-installer/SKILL.md
plugins/Anybox-Plugins/linear/skills/linear/SKILL.md
plugins/Anybox-Plugins/neon-postgres/skills/neon-postgres/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-ai-gateway/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-blobs/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-caching/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-cli-and-deploy/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-config/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-deploy/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-edge-functions/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-forms/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-frameworks/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-functions/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-identity/SKILL.md
plugins/Anybox-Plugins/netlify/skills/netlify-image-cdn/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-knowledge-capture/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-meeting-intelligence/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-research-documentation/SKILL.md
plugins/Anybox-Plugins/notion/skills/notion-spec-to-implementation/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-dev/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-notes/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-search/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-shared/SKILL.md
plugins/Anybox-Plugins/obsidian-cli/skills/obsidian-tasks/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-daily-brief/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-free-up-time/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-group-scheduler/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-meeting-prep/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar-shared-calendars/SKILL.md
plugins/Anybox-Plugins/outlook-calendar/skills/outlook-calendar/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-inbox-triage/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-reply-drafting/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-shared-mailboxes/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-subscription-cleanup/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email-task-extraction/SKILL.md
plugins/Anybox-Plugins/outlook-email/skills/outlook-email/SKILL.md
plugins/Anybox-Plugins/playwright-cli/skills/playwright-cli/SKILL.md
plugins/Anybox-Plugins/plugin-eval/fixtures/minimal-skill/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/evaluate-plugin/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/evaluate-skill/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/improve-skill/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/metric-pack-designer/SKILL.md
plugins/Anybox-Plugins/plugin-eval/skills/plugin-eval/SKILL.md
plugins/Anybox-Plugins/presentations/skills/presentations/SKILL.md
plugins/Anybox-Plugins/remotion/skills/remotion/SKILL.md
plugins/Anybox-Plugins/render/skills/render-background-workers/SKILL.md
plugins/Anybox-Plugins/render/skills/render-blueprints/SKILL.md
plugins/Anybox-Plugins/render/skills/render-cli/SKILL.md
plugins/Anybox-Plugins/render/skills/render-cron-jobs/SKILL.md
plugins/Anybox-Plugins/render/skills/render-debug/SKILL.md
plugins/Anybox-Plugins/render/skills/render-deploy/SKILL.md
plugins/Anybox-Plugins/render/skills/render-disks/SKILL.md
plugins/Anybox-Plugins/render/skills/render-docker/SKILL.md
plugins/Anybox-Plugins/render/skills/render-domains/SKILL.md
plugins/Anybox-Plugins/render/skills/render-env-vars/SKILL.md
plugins/Anybox-Plugins/render/skills/render-keyvalue/SKILL.md
plugins/Anybox-Plugins/render/skills/render-mcp/SKILL.md
plugins/Anybox-Plugins/render/skills/render-migrate-from-heroku/SKILL.md
plugins/Anybox-Plugins/render/skills/render-monitor/SKILL.md
plugins/Anybox-Plugins/render/skills/render-networking/SKILL.md
plugins/Anybox-Plugins/render/skills/render-postgres/SKILL.md
plugins/Anybox-Plugins/render/skills/render-private-services/SKILL.md
plugins/Anybox-Plugins/render/skills/render-scaling/SKILL.md
plugins/Anybox-Plugins/render/skills/render-web-services/SKILL.md
plugins/Anybox-Plugins/render/skills/render-workflows/SKILL.md
plugins/Anybox-Plugins/sentry/skills/sentry/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-powerpoint/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-shared-doc-maintenance/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-site-discovery/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-spreadsheet-formula-builder/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-spreadsheets/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint-word-docs/SKILL.md
plugins/Anybox-Plugins/sharepoint/skills/sharepoint/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-channel-summarization/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-daily-digest/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-notification-triage/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-outgoing-message/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack-reply-drafting/SKILL.md
plugins/Anybox-Plugins/slack/skills/slack/SKILL.md
plugins/Anybox-Plugins/spreadsheets/skills/spreadsheets/SKILL.md
plugins/Anybox-Plugins/supabase/skills/supabase-postgres-best-practices/SKILL.md
plugins/Anybox-Plugins/supabase/skills/supabase/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/brainstorming/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/dispatching-parallel-agents/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/executing-plans/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/finishing-a-development-branch/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/receiving-code-review/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/requesting-code-review/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/subagent-driven-development/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/systematic-debugging/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/test-driven-development/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/using-git-worktrees/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/using-superpowers/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/verification-before-completion/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/writing-plans/SKILL.md
plugins/Anybox-Plugins/superpowers/skills/writing-skills/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-channel-summarization/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-daily-digest/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-messages/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-notification-triage/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-planner-task-management/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams-reply-drafting/SKILL.md
plugins/Anybox-Plugins/teams/skills/teams/SKILL.md
plugins/Anybox-Plugins/test-android-apps/skills/android-emulator-qa/SKILL.md
plugins/Anybox-Plugins/test-android-apps/skills/android-performance/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-agent-augmentation-architect/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-ai-agent-architect/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-call-recordings/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-compliance-onboarding/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-compliance-traffic/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conference-calls/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-content-template-builder/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conversation-intelligence/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conversation-orchestrator/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-conversations-classic-api/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-customer-memory/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-customer-support-architect/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-debugging-observability/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-email-deliverability-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-email-send/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-identity-verification-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-lookup-phone-intelligence/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-marketing-promotions-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-overview/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-services/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-webhooks/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-notifications-alerts-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-numbers-senders/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-organizations-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-rcs-messaging/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-regulatory-compliance-bundles/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-reliability-patterns/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-security-api-auth/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-security-compliance-hipaa/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-security-hardening/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-account-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-email-send/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-email-settings/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-engagement-quality/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-inbound-parse/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-suppressions/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-webhooks/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sms-isv-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sms-send-message/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-taskrouter-routing/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-verify-send-otp/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-voice-conversation-relay/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-voice-outbound-calls/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-voice-twiml/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-webhook-architecture/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-whatsapp-manage-senders/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-whatsapp-send-message/SKILL.md
plugins/Anybox-Plugins/vercel/skills/ai-gateway/SKILL.md
plugins/Anybox-Plugins/vercel/skills/ai-sdk/SKILL.md
plugins/Anybox-Plugins/vercel/skills/auth/SKILL.md
plugins/Anybox-Plugins/vercel/skills/bootstrap/SKILL.md
plugins/Anybox-Plugins/vercel/skills/chat-sdk/SKILL.md
plugins/Anybox-Plugins/vercel/skills/deployments-cicd/SKILL.md
plugins/Anybox-Plugins/vercel/skills/env-vars/SKILL.md
plugins/Anybox-Plugins/vercel/skills/knowledge-update/SKILL.md
plugins/Anybox-Plugins/vercel/skills/marketplace/SKILL.md
plugins/Anybox-Plugins/vercel/skills/next-cache-components/SKILL.md
plugins/Anybox-Plugins/vercel/skills/next-forge/SKILL.md
plugins/Anybox-Plugins/vercel/skills/next-upgrade/SKILL.md
plugins/Anybox-Plugins/vercel/skills/nextjs/SKILL.md
plugins/Anybox-Plugins/vercel/skills/react-best-practices/SKILL.md
plugins/Anybox-Plugins/vercel/skills/routing-middleware/SKILL.md
plugins/Anybox-Plugins/vercel/skills/runtime-cache/SKILL.md
plugins/Anybox-Plugins/vercel/skills/shadcn/SKILL.md
plugins/Anybox-Plugins/vercel/skills/turbopack/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-agent/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-cli/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-connect/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-firewall/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-functions/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-sandbox/SKILL.md
plugins/Anybox-Plugins/vercel/skills/vercel-storage/SKILL.md
plugins/Anybox-Plugins/vercel/skills/verification/SKILL.md
plugins/Anybox-Plugins/vercel/skills/workflow/SKILL.md
plugins/Anybox-Plugins/zotero/skills/zotero/SKILL.md
.agents/skills/fanfande-desktop-release-windows/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/search-company-knowledge/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/spec-to-backlog/SKILL.md
plugins/Anybox-Plugins/atlassian-rovo/skills/triage-issue/SKILL.md
plugins/Anybox-Plugins/build-web-apps/skills/stripe-best-practices/SKILL.md
plugins/Anybox-Plugins/circleci/skills/onboard/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/building-ai-agent-on-cloudflare/SKILL.md
plugins/Anybox-Plugins/cloudflare/skills/building-mcp-server-on-cloudflare/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-observe/SKILL.md
plugins/Anybox-Plugins/expo/skills/expo-ui/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-approval/SKILL.md
plugins/Anybox-Plugins/feishu-cli/skills/lark-attendance/SKILL.md
plugins/Anybox-Plugins/heygen/skills/heygen-avatar/SKILL.md
plugins/Anybox-Plugins/heygen/skills/heygen-translate/SKILL.md
plugins/Anybox-Plugins/heygen/skills/heygen-video/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/jobs/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/llm-trainer/SKILL.md
plugins/Anybox-Plugins/hugging-face/skills/vision-trainer/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/embedded-captions/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/faceless-explainer/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/general-video/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/graphic-overlays/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes-animation/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/hyperframes/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/motion-graphics/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/pr-to-video/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/remotion-to-hyperframes/SKILL.md
plugins/Anybox-Plugins/hyperframes/skills/website-to-video/SKILL.md
plugins/Anybox-Plugins/neon-postgres/skills/neon-postgres-egress-optimizer/SKILL.md
plugins/Anybox-Plugins/render/skills/render-static-sites/SKILL.md
plugins/Anybox-Plugins/smtp-email/skills/smtp-email/SKILL.md
plugins/Anybox-Plugins/stripe/skills/stripe-best-practices/SKILL.md
plugins/Anybox-Plugins/stripe/skills/upgrade-stripe/SKILL.md
plugins/Anybox-Plugins/temporal/skills/temporal-developer/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-account-setup/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-cli-reference/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-enterprise-knowledge/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-messaging-channel-advisor/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-send-message/SKILL.md
plugins/Anybox-Plugins/twilio-developer-kit/skills/twilio-sendgrid-deliverability-advisor/SKILL.md
plugins/Anybox-Plugins/vercel/skills/microfrontends/SKILL.md
plugins/Anybox-Plugins/test-plugin/skills/hello-world/SKILL.md

Metadata

Files
0
Version
08dc189
Hash
078b63ca
Indexed
2026-07-05 19:02

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-09 01:36
浙ICP备14020137号-1 $Гость$