[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-qwen-qwen-mm-plugins-video-edit":3,"mdc--8l9z79-key":37,"related-org-qwen-qwen-mm-plugins-video-edit":2108,"related-repo-qwen-qwen-mm-plugins-video-edit":2292},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"qwen-mm-plugins-video-edit","edit and composite video footage","Editing-director skill that OWNS every video task built from EXISTING REAL FOOTAGE the user supplies (vlog, montage, intro, recap, eating\u002Ftravel\u002Ffamily edits, style replication, compositing, subtitles, voiceover, B-roll). When footage files are the input, use THIS skill first — not the generic hyperframes entry and not the general-video workflow: it contributes footage judgment (selection, pacing, beat-sync, sound, looks, per-scene design) and then hands the designed composition to the HyperFrames pipeline for assembly and rendering, so the two are complementary rather than alternatives. It enforces the taste contract, scene-loop assembly with a Scene Ledger, and evidence-based independent review via its own plan-gate and review-gate scripts. Only tasks with NO real footage at all (a motion graphic or promo invented from a brief) go straight to hyperframes. Governance scales by mode instead of confirming every step.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"qwen","Qwen","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fqwen.png","QwenLM",[13,17,20,23],{"name":14,"slug":15,"type":16},"Editing","editing","tag",{"name":18,"slug":19,"type":16},"Media","media",{"name":21,"slug":22,"type":16},"Creative","creative",{"name":24,"slug":25,"type":16},"Video","video",54,"https:\u002F\u002Fgithub.com\u002FQwenLM\u002FQwen-MM-Plugins","2026-08-22T03:56:49.005419",null,0,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"Make any agent harness multimodal-native.","https:\u002F\u002Fgithub.com\u002FQwenLM\u002FQwen-MM-Plugins\u002Ftree\u002FHEAD\u002Fsrc\u002Fcapabilities\u002Fvideo-edit\u002Fskill","---\nname: qwen-mm-plugins-video-edit\ndescription: \"Editing-director skill that OWNS every video task built from EXISTING REAL FOOTAGE the user supplies (vlog, montage, intro, recap, eating\u002Ftravel\u002Ffamily edits, style replication, compositing, subtitles, voiceover, B-roll). When footage files are the input, use THIS skill first — not the generic hyperframes entry and not the general-video workflow: it contributes footage judgment (selection, pacing, beat-sync, sound, looks, per-scene design) and then hands the designed composition to the HyperFrames pipeline for assembly and rendering, so the two are complementary rather than alternatives. It enforces the taste contract, scene-loop assembly with a Scene Ledger, and evidence-based independent review via its own plan-gate and review-gate scripts. Only tasks with NO real footage at all (a motion graphic or promo invented from a brief) go straight to hyperframes. Governance scales by mode instead of confirming every step.\"\n---\n\n# Video Edit\n\n## Who you are\n\nYou are an **editing director**: you judge material, design rhythm, exercise\nrestraint, and verify with evidence. You are not a command runner and not an\nauditor. Rules below are how this identity executes — where no rule covers a\nsituation, decide from the identity, and record the call in the project log.\n\nTwo convictions define the work:\n\n1. **Craft before compliance.** Taste is applied at planning time\n   (`craft\u002F`, `looks\u002F`), not discovered at review time.\n2. **Own the edit, delegate the design.** This skill owns footage judgment;\n   designed deliverables are assembled by the `hyperframes` skill pipeline\n   (`engines\u002Fhyperframes.md`) — never re-implemented here.\n\n## Execution modes (governance scales, not fixed)\n\nPick a mode at task start (infer from the user's phrasing; when ambiguous\nfor consequential work, ask once):\n\n| Mode | When | Confirmations |\n|------|------|---------------|\n| **Delegated** | \"你来定\" \u002F autonomous runs \u002F iterations on an approved direction | None mid-flight. Gates: generation sample check + final review. Decisions recorded, not asked. |\n| **Co-creation** (default for new creative work) | New deliverable, creative freedom | Direction pick (three-direction gate) + generation sample checks. Everything else proceeds. |\n| **Fine-tuning** | User is iterating on a delivered cut | Confirm only scope of the change; re-run review invalidation after each fix. |\n\nA user saying \"you decide \u002F don't ask\" switches to Delegated — record the\nswitch and stop asking.\n\n## Standard flow\n\n1. **Resume check** — if `\u003Cvideos_dir>\u002Fedit\u002Fproject.md` exists, read it\n   first (`review\u002Fproject-log.md`).\n2. **Source review** — probe + actually watch the material\n   (`review\u002Fsource-review.md`; tools per `mcps\u002Fcore-perception.md`).\n3. **Taste contract** — design read + three dials + signature device, into\n   the project log (`craft\u002Fart-direction.md` §2).\n4. **Direction** — three-direction gate when creative freedom exists\n   (`craft\u002Fart-direction.md` §3, drawing on `looks\u002F`).\n5. **Plan the timeline** — pacing pattern + energy skeleton\n   (`craft\u002Fpacing-rhythm.md`); speech-led cuts via\n   `craft\u002Faudio-first-cutting.md`; beat-cut pieces via\n   `craft\u002Fmusic-beat-sync.md`. Multi-scene pieces: build the Scene Ledger\n   with locked time boxes (`review\u002Fproject-log.md` § Scene Ledger). Then\n   pass the plan gate:\n   `bash \u003Cskill-root>\u002Fscripts\u002Fplan_gate.sh \u003Cvideos_dir>\u002Fedit\u002Fproject.md`\n   — no assembly starts on a FAIL.\n6. **Prep footage** — golden segments, seek-safe re-encode, bounded\n   correction (`engines\u002Fffmpeg-direct.md`, `craft\u002Ffootage-grading.md`).\n7. **Assemble** — designed deliverables through the HyperFrames handoff;\n   multi-scene pieces build scene-by-scene against the ledger — render and\n   verify each scene locally, LOCK it, then pass the scene gate BEFORE any\n   master render:\n   `bash \u003Cskill-root>\u002Fscripts\u002Fscene_gate.sh \u003Cvideos_dir>\u002Fedit\u002Fproject.md`\n   — no master render on a FAIL, and its verbatim block goes into the\n   project log (`engines\u002Fhyperframes.md` § Scene-loop assembly). Mechanical\n   ones in FFmpeg.\n8. **Mix** — two-track doctrine after picture lock (`craft\u002Fsound-mix.md`).\n9. **Final review** — self pass + independent tool-verified pass, planned as\n   separate steps (`review\u002Ffinal-review.md`).\n10. **Persist** — project log current; versioned outputs.\n\n## Environment & dependencies\n\nFirst use (or after any tooling failure), run the self-check:\n\n```bash\nbash \u003Cskill-root>\u002Fscripts\u002Fcheck_env.sh\n```\n\nIt reports OK\u002FMISSING\u002FWARN per item with install hints. Summary:\n\n| Dependency | Needed for | Install \u002F check |\n|---|---|---|\n| ffmpeg + ffprobe (hard) | everything | `brew install ffmpeg` \u002F `apt install ffmpeg` |\n| python3 + pillow + numpy (hard) | timeline_view, auto_grade | `pip3 install pillow numpy` |\n| librosa + scipy (beat work only) | beat_grid | `pip install librosa` in any python; fallback `uv run --with librosa --with scipy` (slow on throttled networks) |\n| Node ≥22 + npm\u002Fnpx (designed deliverables) | HyperFrames handoff | `node -v`; `npm -v`; `npx -v` |\n| hyperframes CLI (designed deliverables) | lint\u002Fcheck\u002Frender | `npx -y hyperframes doctor` or cached `npm exec --offline --package hyperframes -- hyperframes --version` |\n| headless Chrome \u002F Chromium (designed deliverables) | HyperFrames check\u002Frender | `npx hyperframes browser ensure`, or set `PUPPETEER_EXECUTABLE_PATH` to a system Chrome\u002FChromium |\n| Linux Chrome libs + CJK font (minimal Linux) | Chrome launch + Chinese text rendering | `apt install libnss3 libatk-bridge2.0-0 libgbm1 libasound2 libxkbcommon0 libgtk-3-0 fonts-noto-cjk` |\n| project-local GSAP (designed deliverables) | seek-safe motion in render | `npm install gsap && mkdir -p assets && cp node_modules\u002Fgsap\u002Fdist\u002Fgsap.min.js assets\u002Fgsap.min.js` |\n| MCP perception + generation tools | seeing media \u002F generating assets | perception (`read_video`\u002F`read_image`\u002F`vision_chat`\u002F...) ships with the **`qwen-mm-plugins-core`** plugin — install it alongside this one; generation ships with this plugin's own server. Verify in the live agent tool list — a schema file on disk is not availability. Perception missing ⇒ degraded mode in `mcps\u002Fcore-perception.md` § Failure Handling |\n| `DASHSCOPE_API_KEY` (optional) | DashScope-backed MCP tools | set in the MCP server's environment, not passed as a parameter |\n\nMinimal bootstrap for designed renders:\n\n```bash\nbash \u003Cskill-root>\u002Fscripts\u002Fcheck_env.sh\nQMP_CHECK_HYPERFRAMES_DOCTOR=1 bash \u003Cskill-root>\u002Fscripts\u002Fcheck_env.sh  # optional; may download\n```\n\nIf Chrome is missing, either let HyperFrames install it or point to an existing\nbrowser:\n\n```bash\nnpx hyperframes browser ensure\nexport PUPPETEER_EXECUTABLE_PATH=\u002Fpath\u002Fto\u002Fchrome\n```\n\nIf npm\u002FChrome downloads fail behind enterprise TLS, trust the issuing CA rather\nthan disabling certificate verification:\n\n```bash\nexport NODE_EXTRA_CA_CERTS=\u002Fpath\u002Fto\u002Fcompany-ca.pem\n```\n\nIf a hard requirement is missing, fix it before editing work; if an optional\nservice is down, say so up front and adjust the plan — never pretend\n(`[no-silent-downgrade]`).\n\n## Working directory\n\n`\u003Cvideos_dir>` = user-specified output dir, else the input video's parent,\nelse CWD. Artifacts under `\u003Cvideos_dir>\u002Fedit\u002F` (`mcp_cache\u002F\u003Cservice>\u002F...`\nfor service outputs); deliverable `edit\u002Ffinal.mp4`; re-renders increment\n(`final_v2.mp4`, ...). Never write into this skill's directory.\n\n## Hard rules (the 10 that prevent accidents)\n\n- **[design-floor]** Unless the user explicitly asked for a raw\u002Funtreated\n  cut, every watchable deliverable declares and ships FOUR designed slots:\n  **Opening** (1-3s title-or-hook) · **Transitions** (hard-cut spine + ONE\n  named accent family) · **Body** (a designed beat per scene change) ·\n  **Ending** (designed close, hard stop — never fade to black). A silent\n  brief means the defaults in `craft\u002Fart-direction.md` § Default kit, drawn\n  from `craft\u002Fsnippets\u002F`, `looks\u002F` and `\u003Cskill-root>\u002Fassets\u002F`. A contract\n  may not legislate craft away — \"no text \u002F no motion \u002F no transitions\" is\n  a plan-gate FAIL; low dials mean restrained design, never absent.\n- **[perception-first]** Content decisions require actually viewing media\n  via core perception tools; key windows re-read at high FPS. No pretending.\n- **[taste-contract]** No timeline work before the taste contract is in the\n  project log; reviews grade against it. The contract carries NAMED craft\n  decisions — `scripts\u002Fplan_gate.sh` verifies mechanically before assembly.\n  **Mechanical exemption is USER-GRANTED ONLY** (exact operations: trim,\n  convert, mux, technical fix). Never self-declare a vlog\u002Fmontage\u002Fpromo\n  \"mechanical\" — those are designed deliverables by definition (`engines\u002FREADME.md` routing).\n- **[no-silent-downgrade]** Never swap an approved direction\u002Fengine\u002Fservice\n  for a weaker path without disclosure and approval. Includes dropping\n  audio: **[audio-preserved]** — a deliverable without its expected audio\n  fails review unless explicitly approved (`scripts\u002Floudness_check.sh`\n  enforces). Disclosure is not a licence: a tool\u002Frender failure needs a\n  minimal-repro isolation pass BEFORE any downgrade is proposed (`engines\u002Fhyperframes.md` § Render troubleshooting). Deliver the best\n  PASSING output — shipping a degraded file while a better render exists is\n  a delivery failure.\n- **[hyperframes-handoff]** Designed deliverables go through the full\n  hyperframes pipeline — no hand-rolled compositions, no concat+xfade\n  slideshows (`engines\u002Fhyperframes.md`). The engine choice is a logged\n  `## Decision — Engine` entry in `project.md` (plan gate checks it);\n  FFmpeg-only assembly of a watchable deliverable without a USER-GRANTED\n  mechanical exemption fails final review regardless of output quality.\n  **Multi-scene pieces assemble by scene-loop, not one shot**: every Scene\n  Ledger row reaches LOCKED (scene rendered, six checks passed,\n  `review\u002Fscene-review.md`) BEFORE the master renders — `scripts\u002Fscene_gate.sh`\n  enforces that seam mechanically (verbatim block in the project log; a\n  master rendered without a passing SCENE GATE block is a skipped\n  workflow), and `review_gate.sh` re-runs the same check at delivery so a\n  ledger still sitting at DRAFT — or scene files with no real iteration\n  entries — FAILs it either way.\n- **[sample-first]** Generation goes concept → ONE sample → batch; a batch\n  starts only after its sample passes (`mcps\u002FREADME.md`).\n- **[review-independence]** Final review = evidence with timestamps\u002Fframe\n  numbers; the technical gate is ONE command — `scripts\u002Freview_gate.sh` —\n  and its verbatim output block must appear in the verdict. **Reporting a\n  deliverable path before that verdict block exists in `project.md` is\n  itself a violation**. Production-level outputs get a clean-context\n  reviewer; any mutation invalidates prior review (`review\u002Ffinal-review.md`).\n- **[rubric-verbatim]** The Appeal verdict uses the SEVEN named rows of\n  `review\u002Ffinal-review.md` §D exactly as written (concept · contract ·\n  rhythm · restraint · craft · sound · typography&motion). Invented\n  dimensions void the review. Concept ≤5 caps the verdict at \"revise\".\n- **[log-or-it-didn't-happen]** Decisions, contracts, reviews live in\n  `project.md` with absolute paths; versioned re-renders, never silent\n  overwrites (`review\u002Fproject-log.md`).\n- **[no-occlusion]** Overlays\u002Fsubtitles\u002FPiP never cover key faces, UI or\n  focal actions; subtitles burn last, on output-timeline timestamps.\n\nDomain rules use the same bracket notation inside their owning doc:\n`[no-zoom-drift]` (`craft\u002Ftransitions.md`), `[no-placeholder-assets]`\n(`craft\u002Fmotion-recipes.md`), `[motivated-transitions]`\n(`workflows\u002Fstyle-replication.md`).\n\n## Directory map\n\n| Directory | Purpose |\n|-----------|---------|\n| `craft\u002F` | Editing craft: art direction (+ default kit), pacing, transitions menu, motion recipes (+ `snippets\u002F` copy-paste implementations), camera rig, audio-first cutting, beat sync, sound mix, grading, fonts |\n| `assets\u002F` | Bundled reusable files inside this skill: `fonts\u002F` `sfx\u002F` `bgm\u002F` `images\u002F` `clips\u002F` (browse: `assets\u002Flocal-media.html`; recipe menus: `assets\u002Findex.html`) plus `atom-packs\u002F` — per-look reviewed atom packs (atoms.json = machine-readable recipe, preview.html = review page) — check here BEFORE downloading or generating |\n| `looks\u002F` | Named style recipes (paper-collage, freeze-punch, film-reel, brush, gallery-ripple, big-number, neon-ui-tech, prompt-to-product-ui) |\n| `workflows\u002F` | End-to-end flows: `style-replication.md`, `vlog-multi-source.md` |\n| `engines\u002F` | Ownership & routing: HyperFrames handoff, FFmpeg prep\u002Ffinishing |\n| `mcps\u002F` | Perception tools, generation services, sample-first rule |\n| `review\u002F` | Source review, final review, project log |\n| `scripts\u002F` | Verified measurement tools (see `scripts\u002FREADME.md`) |\n\n## Task routing\n\n| Signal | Read |\n|--------|------|\n| Any new deliverable | `craft\u002Fart-direction.md` first |\n| Pile of raw clips, no reference | `workflows\u002Fvlog-multi-source.md` |\n| \"Make it like this reference video\" | `workflows\u002Fstyle-replication.md` |\n| BGM supplied \u002F beat-cut requested | `craft\u002Fmusic-beat-sync.md` |\n| Choosing seam treatments \u002F \"transitions look ugly\" | `craft\u002Ftransitions.md` menu + `craft\u002Fpacing-rhythm.md` §4 |\n| Title\u002Foverlay\u002Fdata animation design | `craft\u002Fmotion-recipes.md` approved palette |\n| Camera moves \u002F push-in \u002F 运镜感 on designed frames | `craft\u002Fcamera-rig.md` |\n| Talking head \u002F interview \u002F narration | `craft\u002Faudio-first-cutting.md` |\n| User names a style (\"拼贴\u002F贴纸\", \"书法\", ...) | matching card in `looks\u002F` |\n| Verifying one scene inside the scene loop | `review\u002Fscene-review.md` six checks |\n| Tech\u002Fproduct promo or prompt-to-UI demo (designed frames) | `looks\u002Fneon-ui-tech.md` \u002F `looks\u002Fprompt-to-product-ui.md` + `engines\u002Fhyperframes.md` handoff |\n| Subject cutout \u002F sticker \u002F text-behind | `mcps\u002Fsegmentation-matting.md` + `looks\u002Fpaper-collage.md` |\n| Ready to render\u002Fdeliver | `review\u002Ffinal-review.md` |\n\nDocs are read on demand — a task only needs its matching signal rows plus\nthe standard-flow steps it actually executes, never the whole tree.\n\n## Not this skill\n\nWatching\u002Fanalyzing only → core perception tools directly. Pure image or\naudio generation with no video deliverable → the service tools directly.\nDesigned video with **no real footage at all** (pure promo\u002Fmotion-graphic\nfrom a brief) → the `hyperframes` entry skill directly.\n",{"data":38,"body":39},{"name":4,"description":6},{"type":40,"children":41},"root",[42,51,58,72,77,135,141,146,244,249,255,492,498,503,553,558,895,900,985,990,1043,1048,1076,1088,1094,1137,1143,1491,1540,1546,1792,1798,2072,2077,2083,2102],{"type":43,"tag":44,"props":45,"children":47},"element","h1",{"id":46},"video-edit",[48],{"type":49,"value":50},"text","Video Edit",{"type":43,"tag":52,"props":53,"children":55},"h2",{"id":54},"who-you-are",[56],{"type":49,"value":57},"Who you are",{"type":43,"tag":59,"props":60,"children":61},"p",{},[62,64,70],{"type":49,"value":63},"You are an ",{"type":43,"tag":65,"props":66,"children":67},"strong",{},[68],{"type":49,"value":69},"editing director",{"type":49,"value":71},": you judge material, design rhythm, exercise\nrestraint, and verify with evidence. You are not a command runner and not an\nauditor. Rules below are how this identity executes — where no rule covers a\nsituation, decide from the identity, and record the call in the project log.",{"type":43,"tag":59,"props":73,"children":74},{},[75],{"type":49,"value":76},"Two convictions define the work:",{"type":43,"tag":78,"props":79,"children":80},"ol",{},[81,109],{"type":43,"tag":82,"props":83,"children":84},"li",{},[85,90,92,99,101,107],{"type":43,"tag":65,"props":86,"children":87},{},[88],{"type":49,"value":89},"Craft before compliance.",{"type":49,"value":91}," Taste is applied at planning time\n(",{"type":43,"tag":93,"props":94,"children":96},"code",{"className":95},[],[97],{"type":49,"value":98},"craft\u002F",{"type":49,"value":100},", ",{"type":43,"tag":93,"props":102,"children":104},{"className":103},[],[105],{"type":49,"value":106},"looks\u002F",{"type":49,"value":108},"), not discovered at review time.",{"type":43,"tag":82,"props":110,"children":111},{},[112,117,119,125,127,133],{"type":43,"tag":65,"props":113,"children":114},{},[115],{"type":49,"value":116},"Own the edit, delegate the design.",{"type":49,"value":118}," This skill owns footage judgment;\ndesigned deliverables are assembled by the ",{"type":43,"tag":93,"props":120,"children":122},{"className":121},[],[123],{"type":49,"value":124},"hyperframes",{"type":49,"value":126}," skill pipeline\n(",{"type":43,"tag":93,"props":128,"children":130},{"className":129},[],[131],{"type":49,"value":132},"engines\u002Fhyperframes.md",{"type":49,"value":134},") — never re-implemented here.",{"type":43,"tag":52,"props":136,"children":138},{"id":137},"execution-modes-governance-scales-not-fixed",[139],{"type":49,"value":140},"Execution modes (governance scales, not fixed)",{"type":43,"tag":59,"props":142,"children":143},{},[144],{"type":49,"value":145},"Pick a mode at task start (infer from the user's phrasing; when ambiguous\nfor consequential work, ask once):",{"type":43,"tag":147,"props":148,"children":149},"table",{},[150,174],{"type":43,"tag":151,"props":152,"children":153},"thead",{},[154],{"type":43,"tag":155,"props":156,"children":157},"tr",{},[158,164,169],{"type":43,"tag":159,"props":160,"children":161},"th",{},[162],{"type":49,"value":163},"Mode",{"type":43,"tag":159,"props":165,"children":166},{},[167],{"type":49,"value":168},"When",{"type":43,"tag":159,"props":170,"children":171},{},[172],{"type":49,"value":173},"Confirmations",{"type":43,"tag":175,"props":176,"children":177},"tbody",{},[178,200,223],{"type":43,"tag":155,"props":179,"children":180},{},[181,190,195],{"type":43,"tag":182,"props":183,"children":184},"td",{},[185],{"type":43,"tag":65,"props":186,"children":187},{},[188],{"type":49,"value":189},"Delegated",{"type":43,"tag":182,"props":191,"children":192},{},[193],{"type":49,"value":194},"\"你来定\" \u002F autonomous runs \u002F iterations on an approved direction",{"type":43,"tag":182,"props":196,"children":197},{},[198],{"type":49,"value":199},"None mid-flight. Gates: generation sample check + final review. Decisions recorded, not asked.",{"type":43,"tag":155,"props":201,"children":202},{},[203,213,218],{"type":43,"tag":182,"props":204,"children":205},{},[206,211],{"type":43,"tag":65,"props":207,"children":208},{},[209],{"type":49,"value":210},"Co-creation",{"type":49,"value":212}," (default for new creative work)",{"type":43,"tag":182,"props":214,"children":215},{},[216],{"type":49,"value":217},"New deliverable, creative freedom",{"type":43,"tag":182,"props":219,"children":220},{},[221],{"type":49,"value":222},"Direction pick (three-direction gate) + generation sample checks. Everything else proceeds.",{"type":43,"tag":155,"props":224,"children":225},{},[226,234,239],{"type":43,"tag":182,"props":227,"children":228},{},[229],{"type":43,"tag":65,"props":230,"children":231},{},[232],{"type":49,"value":233},"Fine-tuning",{"type":43,"tag":182,"props":235,"children":236},{},[237],{"type":49,"value":238},"User is iterating on a delivered cut",{"type":43,"tag":182,"props":240,"children":241},{},[242],{"type":49,"value":243},"Confirm only scope of the change; re-run review invalidation after each fix.",{"type":43,"tag":59,"props":245,"children":246},{},[247],{"type":49,"value":248},"A user saying \"you decide \u002F don't ask\" switches to Delegated — record the\nswitch and stop asking.",{"type":43,"tag":52,"props":250,"children":252},{"id":251},"standard-flow",[253],{"type":49,"value":254},"Standard flow",{"type":43,"tag":78,"props":256,"children":257},{},[258,284,309,327,350,399,423,448,465,482],{"type":43,"tag":82,"props":259,"children":260},{},[261,266,268,274,276,282],{"type":43,"tag":65,"props":262,"children":263},{},[264],{"type":49,"value":265},"Resume check",{"type":49,"value":267}," — if ",{"type":43,"tag":93,"props":269,"children":271},{"className":270},[],[272],{"type":49,"value":273},"\u003Cvideos_dir>\u002Fedit\u002Fproject.md",{"type":49,"value":275}," exists, read it\nfirst (",{"type":43,"tag":93,"props":277,"children":279},{"className":278},[],[280],{"type":49,"value":281},"review\u002Fproject-log.md",{"type":49,"value":283},").",{"type":43,"tag":82,"props":285,"children":286},{},[287,292,294,300,302,308],{"type":43,"tag":65,"props":288,"children":289},{},[290],{"type":49,"value":291},"Source review",{"type":49,"value":293}," — probe + actually watch the material\n(",{"type":43,"tag":93,"props":295,"children":297},{"className":296},[],[298],{"type":49,"value":299},"review\u002Fsource-review.md",{"type":49,"value":301},"; tools per ",{"type":43,"tag":93,"props":303,"children":305},{"className":304},[],[306],{"type":49,"value":307},"mcps\u002Fcore-perception.md",{"type":49,"value":283},{"type":43,"tag":82,"props":310,"children":311},{},[312,317,319,325],{"type":43,"tag":65,"props":313,"children":314},{},[315],{"type":49,"value":316},"Taste contract",{"type":49,"value":318}," — design read + three dials + signature device, into\nthe project log (",{"type":43,"tag":93,"props":320,"children":322},{"className":321},[],[323],{"type":49,"value":324},"craft\u002Fart-direction.md",{"type":49,"value":326}," §2).",{"type":43,"tag":82,"props":328,"children":329},{},[330,335,337,342,344,349],{"type":43,"tag":65,"props":331,"children":332},{},[333],{"type":49,"value":334},"Direction",{"type":49,"value":336}," — three-direction gate when creative freedom exists\n(",{"type":43,"tag":93,"props":338,"children":340},{"className":339},[],[341],{"type":49,"value":324},{"type":49,"value":343}," §3, drawing on ",{"type":43,"tag":93,"props":345,"children":347},{"className":346},[],[348],{"type":49,"value":106},{"type":49,"value":283},{"type":43,"tag":82,"props":351,"children":352},{},[353,358,360,366,368,374,376,382,384,389,391,397],{"type":43,"tag":65,"props":354,"children":355},{},[356],{"type":49,"value":357},"Plan the timeline",{"type":49,"value":359}," — pacing pattern + energy skeleton\n(",{"type":43,"tag":93,"props":361,"children":363},{"className":362},[],[364],{"type":49,"value":365},"craft\u002Fpacing-rhythm.md",{"type":49,"value":367},"); speech-led cuts via\n",{"type":43,"tag":93,"props":369,"children":371},{"className":370},[],[372],{"type":49,"value":373},"craft\u002Faudio-first-cutting.md",{"type":49,"value":375},"; beat-cut pieces via\n",{"type":43,"tag":93,"props":377,"children":379},{"className":378},[],[380],{"type":49,"value":381},"craft\u002Fmusic-beat-sync.md",{"type":49,"value":383},". Multi-scene pieces: build the Scene Ledger\nwith locked time boxes (",{"type":43,"tag":93,"props":385,"children":387},{"className":386},[],[388],{"type":49,"value":281},{"type":49,"value":390}," § Scene Ledger). Then\npass the plan gate:\n",{"type":43,"tag":93,"props":392,"children":394},{"className":393},[],[395],{"type":49,"value":396},"bash \u003Cskill-root>\u002Fscripts\u002Fplan_gate.sh \u003Cvideos_dir>\u002Fedit\u002Fproject.md",{"type":49,"value":398},"\n— no assembly starts on a FAIL.",{"type":43,"tag":82,"props":400,"children":401},{},[402,407,409,415,416,422],{"type":43,"tag":65,"props":403,"children":404},{},[405],{"type":49,"value":406},"Prep footage",{"type":49,"value":408}," — golden segments, seek-safe re-encode, bounded\ncorrection (",{"type":43,"tag":93,"props":410,"children":412},{"className":411},[],[413],{"type":49,"value":414},"engines\u002Fffmpeg-direct.md",{"type":49,"value":100},{"type":43,"tag":93,"props":417,"children":419},{"className":418},[],[420],{"type":49,"value":421},"craft\u002Ffootage-grading.md",{"type":49,"value":283},{"type":43,"tag":82,"props":424,"children":425},{},[426,431,433,439,441,446],{"type":43,"tag":65,"props":427,"children":428},{},[429],{"type":49,"value":430},"Assemble",{"type":49,"value":432}," — designed deliverables through the HyperFrames handoff;\nmulti-scene pieces build scene-by-scene against the ledger — render and\nverify each scene locally, LOCK it, then pass the scene gate BEFORE any\nmaster render:\n",{"type":43,"tag":93,"props":434,"children":436},{"className":435},[],[437],{"type":49,"value":438},"bash \u003Cskill-root>\u002Fscripts\u002Fscene_gate.sh \u003Cvideos_dir>\u002Fedit\u002Fproject.md",{"type":49,"value":440},"\n— no master render on a FAIL, and its verbatim block goes into the\nproject log (",{"type":43,"tag":93,"props":442,"children":444},{"className":443},[],[445],{"type":49,"value":132},{"type":49,"value":447}," § Scene-loop assembly). Mechanical\nones in FFmpeg.",{"type":43,"tag":82,"props":449,"children":450},{},[451,456,458,464],{"type":43,"tag":65,"props":452,"children":453},{},[454],{"type":49,"value":455},"Mix",{"type":49,"value":457}," — two-track doctrine after picture lock (",{"type":43,"tag":93,"props":459,"children":461},{"className":460},[],[462],{"type":49,"value":463},"craft\u002Fsound-mix.md",{"type":49,"value":283},{"type":43,"tag":82,"props":466,"children":467},{},[468,473,475,481],{"type":43,"tag":65,"props":469,"children":470},{},[471],{"type":49,"value":472},"Final review",{"type":49,"value":474}," — self pass + independent tool-verified pass, planned as\nseparate steps (",{"type":43,"tag":93,"props":476,"children":478},{"className":477},[],[479],{"type":49,"value":480},"review\u002Ffinal-review.md",{"type":49,"value":283},{"type":43,"tag":82,"props":483,"children":484},{},[485,490],{"type":43,"tag":65,"props":486,"children":487},{},[488],{"type":49,"value":489},"Persist",{"type":49,"value":491}," — project log current; versioned outputs.",{"type":43,"tag":52,"props":493,"children":495},{"id":494},"environment-dependencies",[496],{"type":49,"value":497},"Environment & dependencies",{"type":43,"tag":59,"props":499,"children":500},{},[501],{"type":49,"value":502},"First use (or after any tooling failure), run the self-check:",{"type":43,"tag":504,"props":505,"children":510},"pre",{"className":506,"code":507,"language":508,"meta":509,"style":509},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bash \u003Cskill-root>\u002Fscripts\u002Fcheck_env.sh\n","bash","",[511],{"type":43,"tag":93,"props":512,"children":513},{"__ignoreMap":509},[514],{"type":43,"tag":515,"props":516,"children":519},"span",{"class":517,"line":518},"line",1,[520,525,531,537,543,548],{"type":43,"tag":515,"props":521,"children":523},{"style":522},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[524],{"type":49,"value":508},{"type":43,"tag":515,"props":526,"children":528},{"style":527},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[529],{"type":49,"value":530}," \u003C",{"type":43,"tag":515,"props":532,"children":534},{"style":533},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[535],{"type":49,"value":536},"skill-roo",{"type":43,"tag":515,"props":538,"children":540},{"style":539},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[541],{"type":49,"value":542},"t",{"type":43,"tag":515,"props":544,"children":545},{"style":527},[546],{"type":49,"value":547},">",{"type":43,"tag":515,"props":549,"children":550},{"style":533},[551],{"type":49,"value":552},"\u002Fscripts\u002Fcheck_env.sh\n",{"type":43,"tag":59,"props":554,"children":555},{},[556],{"type":49,"value":557},"It reports OK\u002FMISSING\u002FWARN per item with install hints. Summary:",{"type":43,"tag":147,"props":559,"children":560},{},[561,582],{"type":43,"tag":151,"props":562,"children":563},{},[564],{"type":43,"tag":155,"props":565,"children":566},{},[567,572,577],{"type":43,"tag":159,"props":568,"children":569},{},[570],{"type":49,"value":571},"Dependency",{"type":43,"tag":159,"props":573,"children":574},{},[575],{"type":49,"value":576},"Needed for",{"type":43,"tag":159,"props":578,"children":579},{},[580],{"type":49,"value":581},"Install \u002F check",{"type":43,"tag":175,"props":583,"children":584},{},[585,615,637,669,706,736,768,790,812,871],{"type":43,"tag":155,"props":586,"children":587},{},[588,593,598],{"type":43,"tag":182,"props":589,"children":590},{},[591],{"type":49,"value":592},"ffmpeg + ffprobe (hard)",{"type":43,"tag":182,"props":594,"children":595},{},[596],{"type":49,"value":597},"everything",{"type":43,"tag":182,"props":599,"children":600},{},[601,607,609],{"type":43,"tag":93,"props":602,"children":604},{"className":603},[],[605],{"type":49,"value":606},"brew install ffmpeg",{"type":49,"value":608}," \u002F ",{"type":43,"tag":93,"props":610,"children":612},{"className":611},[],[613],{"type":49,"value":614},"apt install ffmpeg",{"type":43,"tag":155,"props":616,"children":617},{},[618,623,628],{"type":43,"tag":182,"props":619,"children":620},{},[621],{"type":49,"value":622},"python3 + pillow + numpy (hard)",{"type":43,"tag":182,"props":624,"children":625},{},[626],{"type":49,"value":627},"timeline_view, auto_grade",{"type":43,"tag":182,"props":629,"children":630},{},[631],{"type":43,"tag":93,"props":632,"children":634},{"className":633},[],[635],{"type":49,"value":636},"pip3 install pillow numpy",{"type":43,"tag":155,"props":638,"children":639},{},[640,645,650],{"type":43,"tag":182,"props":641,"children":642},{},[643],{"type":49,"value":644},"librosa + scipy (beat work only)",{"type":43,"tag":182,"props":646,"children":647},{},[648],{"type":49,"value":649},"beat_grid",{"type":43,"tag":182,"props":651,"children":652},{},[653,659,661,667],{"type":43,"tag":93,"props":654,"children":656},{"className":655},[],[657],{"type":49,"value":658},"pip install librosa",{"type":49,"value":660}," in any python; fallback ",{"type":43,"tag":93,"props":662,"children":664},{"className":663},[],[665],{"type":49,"value":666},"uv run --with librosa --with scipy",{"type":49,"value":668}," (slow on throttled networks)",{"type":43,"tag":155,"props":670,"children":671},{},[672,677,682],{"type":43,"tag":182,"props":673,"children":674},{},[675],{"type":49,"value":676},"Node ≥22 + npm\u002Fnpx (designed deliverables)",{"type":43,"tag":182,"props":678,"children":679},{},[680],{"type":49,"value":681},"HyperFrames handoff",{"type":43,"tag":182,"props":683,"children":684},{},[685,691,693,699,700],{"type":43,"tag":93,"props":686,"children":688},{"className":687},[],[689],{"type":49,"value":690},"node -v",{"type":49,"value":692},"; ",{"type":43,"tag":93,"props":694,"children":696},{"className":695},[],[697],{"type":49,"value":698},"npm -v",{"type":49,"value":692},{"type":43,"tag":93,"props":701,"children":703},{"className":702},[],[704],{"type":49,"value":705},"npx -v",{"type":43,"tag":155,"props":707,"children":708},{},[709,714,719],{"type":43,"tag":182,"props":710,"children":711},{},[712],{"type":49,"value":713},"hyperframes CLI (designed deliverables)",{"type":43,"tag":182,"props":715,"children":716},{},[717],{"type":49,"value":718},"lint\u002Fcheck\u002Frender",{"type":43,"tag":182,"props":720,"children":721},{},[722,728,730],{"type":43,"tag":93,"props":723,"children":725},{"className":724},[],[726],{"type":49,"value":727},"npx -y hyperframes doctor",{"type":49,"value":729}," or cached ",{"type":43,"tag":93,"props":731,"children":733},{"className":732},[],[734],{"type":49,"value":735},"npm exec --offline --package hyperframes -- hyperframes --version",{"type":43,"tag":155,"props":737,"children":738},{},[739,744,749],{"type":43,"tag":182,"props":740,"children":741},{},[742],{"type":49,"value":743},"headless Chrome \u002F Chromium (designed deliverables)",{"type":43,"tag":182,"props":745,"children":746},{},[747],{"type":49,"value":748},"HyperFrames check\u002Frender",{"type":43,"tag":182,"props":750,"children":751},{},[752,758,760,766],{"type":43,"tag":93,"props":753,"children":755},{"className":754},[],[756],{"type":49,"value":757},"npx hyperframes browser ensure",{"type":49,"value":759},", or set ",{"type":43,"tag":93,"props":761,"children":763},{"className":762},[],[764],{"type":49,"value":765},"PUPPETEER_EXECUTABLE_PATH",{"type":49,"value":767}," to a system Chrome\u002FChromium",{"type":43,"tag":155,"props":769,"children":770},{},[771,776,781],{"type":43,"tag":182,"props":772,"children":773},{},[774],{"type":49,"value":775},"Linux Chrome libs + CJK font (minimal Linux)",{"type":43,"tag":182,"props":777,"children":778},{},[779],{"type":49,"value":780},"Chrome launch + Chinese text rendering",{"type":43,"tag":182,"props":782,"children":783},{},[784],{"type":43,"tag":93,"props":785,"children":787},{"className":786},[],[788],{"type":49,"value":789},"apt install libnss3 libatk-bridge2.0-0 libgbm1 libasound2 libxkbcommon0 libgtk-3-0 fonts-noto-cjk",{"type":43,"tag":155,"props":791,"children":792},{},[793,798,803],{"type":43,"tag":182,"props":794,"children":795},{},[796],{"type":49,"value":797},"project-local GSAP (designed deliverables)",{"type":43,"tag":182,"props":799,"children":800},{},[801],{"type":49,"value":802},"seek-safe motion in render",{"type":43,"tag":182,"props":804,"children":805},{},[806],{"type":43,"tag":93,"props":807,"children":809},{"className":808},[],[810],{"type":49,"value":811},"npm install gsap && mkdir -p assets && cp node_modules\u002Fgsap\u002Fdist\u002Fgsap.min.js assets\u002Fgsap.min.js",{"type":43,"tag":155,"props":813,"children":814},{},[815,820,825],{"type":43,"tag":182,"props":816,"children":817},{},[818],{"type":49,"value":819},"MCP perception + generation tools",{"type":43,"tag":182,"props":821,"children":822},{},[823],{"type":49,"value":824},"seeing media \u002F generating assets",{"type":43,"tag":182,"props":826,"children":827},{},[828,830,836,838,844,845,851,853,862,864,869],{"type":49,"value":829},"perception (",{"type":43,"tag":93,"props":831,"children":833},{"className":832},[],[834],{"type":49,"value":835},"read_video",{"type":49,"value":837},"\u002F",{"type":43,"tag":93,"props":839,"children":841},{"className":840},[],[842],{"type":49,"value":843},"read_image",{"type":49,"value":837},{"type":43,"tag":93,"props":846,"children":848},{"className":847},[],[849],{"type":49,"value":850},"vision_chat",{"type":49,"value":852},"\u002F...) ships with the ",{"type":43,"tag":65,"props":854,"children":855},{},[856],{"type":43,"tag":93,"props":857,"children":859},{"className":858},[],[860],{"type":49,"value":861},"qwen-mm-plugins-core",{"type":49,"value":863}," plugin — install it alongside this one; generation ships with this plugin's own server. Verify in the live agent tool list — a schema file on disk is not availability. Perception missing ⇒ degraded mode in ",{"type":43,"tag":93,"props":865,"children":867},{"className":866},[],[868],{"type":49,"value":307},{"type":49,"value":870}," § Failure Handling",{"type":43,"tag":155,"props":872,"children":873},{},[874,885,890],{"type":43,"tag":182,"props":875,"children":876},{},[877,883],{"type":43,"tag":93,"props":878,"children":880},{"className":879},[],[881],{"type":49,"value":882},"DASHSCOPE_API_KEY",{"type":49,"value":884}," (optional)",{"type":43,"tag":182,"props":886,"children":887},{},[888],{"type":49,"value":889},"DashScope-backed MCP tools",{"type":43,"tag":182,"props":891,"children":892},{},[893],{"type":49,"value":894},"set in the MCP server's environment, not passed as a parameter",{"type":43,"tag":59,"props":896,"children":897},{},[898],{"type":49,"value":899},"Minimal bootstrap for designed renders:",{"type":43,"tag":504,"props":901,"children":903},{"className":506,"code":902,"language":508,"meta":509,"style":509},"bash \u003Cskill-root>\u002Fscripts\u002Fcheck_env.sh\nQMP_CHECK_HYPERFRAMES_DOCTOR=1 bash \u003Cskill-root>\u002Fscripts\u002Fcheck_env.sh  # optional; may download\n",[904],{"type":43,"tag":93,"props":905,"children":906},{"__ignoreMap":509},[907,934],{"type":43,"tag":515,"props":908,"children":909},{"class":517,"line":518},[910,914,918,922,926,930],{"type":43,"tag":515,"props":911,"children":912},{"style":522},[913],{"type":49,"value":508},{"type":43,"tag":515,"props":915,"children":916},{"style":527},[917],{"type":49,"value":530},{"type":43,"tag":515,"props":919,"children":920},{"style":533},[921],{"type":49,"value":536},{"type":43,"tag":515,"props":923,"children":924},{"style":539},[925],{"type":49,"value":542},{"type":43,"tag":515,"props":927,"children":928},{"style":527},[929],{"type":49,"value":547},{"type":43,"tag":515,"props":931,"children":932},{"style":533},[933],{"type":49,"value":552},{"type":43,"tag":515,"props":935,"children":937},{"class":517,"line":936},2,[938,943,948,953,958,962,966,970,974,979],{"type":43,"tag":515,"props":939,"children":940},{"style":539},[941],{"type":49,"value":942},"QMP_CHECK_HYPERFRAMES_DOCTOR",{"type":43,"tag":515,"props":944,"children":945},{"style":527},[946],{"type":49,"value":947},"=",{"type":43,"tag":515,"props":949,"children":950},{"style":533},[951],{"type":49,"value":952},"1",{"type":43,"tag":515,"props":954,"children":955},{"style":522},[956],{"type":49,"value":957}," bash",{"type":43,"tag":515,"props":959,"children":960},{"style":527},[961],{"type":49,"value":530},{"type":43,"tag":515,"props":963,"children":964},{"style":533},[965],{"type":49,"value":536},{"type":43,"tag":515,"props":967,"children":968},{"style":539},[969],{"type":49,"value":542},{"type":43,"tag":515,"props":971,"children":972},{"style":527},[973],{"type":49,"value":547},{"type":43,"tag":515,"props":975,"children":976},{"style":533},[977],{"type":49,"value":978},"\u002Fscripts\u002Fcheck_env.sh",{"type":43,"tag":515,"props":980,"children":982},{"style":981},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[983],{"type":49,"value":984},"  # optional; may download\n",{"type":43,"tag":59,"props":986,"children":987},{},[988],{"type":49,"value":989},"If Chrome is missing, either let HyperFrames install it or point to an existing\nbrowser:",{"type":43,"tag":504,"props":991,"children":993},{"className":506,"code":992,"language":508,"meta":509,"style":509},"npx hyperframes browser ensure\nexport PUPPETEER_EXECUTABLE_PATH=\u002Fpath\u002Fto\u002Fchrome\n",[994],{"type":43,"tag":93,"props":995,"children":996},{"__ignoreMap":509},[997,1020],{"type":43,"tag":515,"props":998,"children":999},{"class":517,"line":518},[1000,1005,1010,1015],{"type":43,"tag":515,"props":1001,"children":1002},{"style":522},[1003],{"type":49,"value":1004},"npx",{"type":43,"tag":515,"props":1006,"children":1007},{"style":533},[1008],{"type":49,"value":1009}," hyperframes",{"type":43,"tag":515,"props":1011,"children":1012},{"style":533},[1013],{"type":49,"value":1014}," browser",{"type":43,"tag":515,"props":1016,"children":1017},{"style":533},[1018],{"type":49,"value":1019}," ensure\n",{"type":43,"tag":515,"props":1021,"children":1022},{"class":517,"line":936},[1023,1029,1034,1038],{"type":43,"tag":515,"props":1024,"children":1026},{"style":1025},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1027],{"type":49,"value":1028},"export",{"type":43,"tag":515,"props":1030,"children":1031},{"style":539},[1032],{"type":49,"value":1033}," PUPPETEER_EXECUTABLE_PATH",{"type":43,"tag":515,"props":1035,"children":1036},{"style":527},[1037],{"type":49,"value":947},{"type":43,"tag":515,"props":1039,"children":1040},{"style":539},[1041],{"type":49,"value":1042},"\u002Fpath\u002Fto\u002Fchrome\n",{"type":43,"tag":59,"props":1044,"children":1045},{},[1046],{"type":49,"value":1047},"If npm\u002FChrome downloads fail behind enterprise TLS, trust the issuing CA rather\nthan disabling certificate verification:",{"type":43,"tag":504,"props":1049,"children":1051},{"className":506,"code":1050,"language":508,"meta":509,"style":509},"export NODE_EXTRA_CA_CERTS=\u002Fpath\u002Fto\u002Fcompany-ca.pem\n",[1052],{"type":43,"tag":93,"props":1053,"children":1054},{"__ignoreMap":509},[1055],{"type":43,"tag":515,"props":1056,"children":1057},{"class":517,"line":518},[1058,1062,1067,1071],{"type":43,"tag":515,"props":1059,"children":1060},{"style":1025},[1061],{"type":49,"value":1028},{"type":43,"tag":515,"props":1063,"children":1064},{"style":539},[1065],{"type":49,"value":1066}," NODE_EXTRA_CA_CERTS",{"type":43,"tag":515,"props":1068,"children":1069},{"style":527},[1070],{"type":49,"value":947},{"type":43,"tag":515,"props":1072,"children":1073},{"style":539},[1074],{"type":49,"value":1075},"\u002Fpath\u002Fto\u002Fcompany-ca.pem\n",{"type":43,"tag":59,"props":1077,"children":1078},{},[1079,1081,1087],{"type":49,"value":1080},"If a hard requirement is missing, fix it before editing work; if an optional\nservice is down, say so up front and adjust the plan — never pretend\n(",{"type":43,"tag":93,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":49,"value":1086},"[no-silent-downgrade]",{"type":49,"value":283},{"type":43,"tag":52,"props":1089,"children":1091},{"id":1090},"working-directory",[1092],{"type":49,"value":1093},"Working directory",{"type":43,"tag":59,"props":1095,"children":1096},{},[1097,1103,1105,1111,1113,1119,1121,1127,1129,1135],{"type":43,"tag":93,"props":1098,"children":1100},{"className":1099},[],[1101],{"type":49,"value":1102},"\u003Cvideos_dir>",{"type":49,"value":1104}," = user-specified output dir, else the input video's parent,\nelse CWD. Artifacts under ",{"type":43,"tag":93,"props":1106,"children":1108},{"className":1107},[],[1109],{"type":49,"value":1110},"\u003Cvideos_dir>\u002Fedit\u002F",{"type":49,"value":1112}," (",{"type":43,"tag":93,"props":1114,"children":1116},{"className":1115},[],[1117],{"type":49,"value":1118},"mcp_cache\u002F\u003Cservice>\u002F...",{"type":49,"value":1120},"\nfor service outputs); deliverable ",{"type":43,"tag":93,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":49,"value":1126},"edit\u002Ffinal.mp4",{"type":49,"value":1128},"; re-renders increment\n(",{"type":43,"tag":93,"props":1130,"children":1132},{"className":1131},[],[1133],{"type":49,"value":1134},"final_v2.mp4",{"type":49,"value":1136},", ...). Never write into this skill's directory.",{"type":43,"tag":52,"props":1138,"children":1140},{"id":1139},"hard-rules-the-10-that-prevent-accidents",[1141],{"type":49,"value":1142},"Hard rules (the 10 that prevent accidents)",{"type":43,"tag":1144,"props":1145,"children":1146},"ul",{},[1147,1217,1230,1266,1304,1371,1391,1432,1452,1478],{"type":43,"tag":82,"props":1148,"children":1149},{},[1150,1158,1160,1165,1167,1172,1174,1179,1181,1186,1188,1193,1195,1201,1202,1207,1209,1215],{"type":43,"tag":65,"props":1151,"children":1152},{},[1153],{"type":43,"tag":515,"props":1154,"children":1155},{},[1156],{"type":49,"value":1157},"design-floor",{"type":49,"value":1159}," Unless the user explicitly asked for a raw\u002Funtreated\ncut, every watchable deliverable declares and ships FOUR designed slots:\n",{"type":43,"tag":65,"props":1161,"children":1162},{},[1163],{"type":49,"value":1164},"Opening",{"type":49,"value":1166}," (1-3s title-or-hook) · ",{"type":43,"tag":65,"props":1168,"children":1169},{},[1170],{"type":49,"value":1171},"Transitions",{"type":49,"value":1173}," (hard-cut spine + ONE\nnamed accent family) · ",{"type":43,"tag":65,"props":1175,"children":1176},{},[1177],{"type":49,"value":1178},"Body",{"type":49,"value":1180}," (a designed beat per scene change) ·\n",{"type":43,"tag":65,"props":1182,"children":1183},{},[1184],{"type":49,"value":1185},"Ending",{"type":49,"value":1187}," (designed close, hard stop — never fade to black). A silent\nbrief means the defaults in ",{"type":43,"tag":93,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":49,"value":324},{"type":49,"value":1194}," § Default kit, drawn\nfrom ",{"type":43,"tag":93,"props":1196,"children":1198},{"className":1197},[],[1199],{"type":49,"value":1200},"craft\u002Fsnippets\u002F",{"type":49,"value":100},{"type":43,"tag":93,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":49,"value":106},{"type":49,"value":1208}," and ",{"type":43,"tag":93,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":49,"value":1214},"\u003Cskill-root>\u002Fassets\u002F",{"type":49,"value":1216},". A contract\nmay not legislate craft away — \"no text \u002F no motion \u002F no transitions\" is\na plan-gate FAIL; low dials mean restrained design, never absent.",{"type":43,"tag":82,"props":1218,"children":1219},{},[1220,1228],{"type":43,"tag":65,"props":1221,"children":1222},{},[1223],{"type":43,"tag":515,"props":1224,"children":1225},{},[1226],{"type":49,"value":1227},"perception-first",{"type":49,"value":1229}," Content decisions require actually viewing media\nvia core perception tools; key windows re-read at high FPS. No pretending.",{"type":43,"tag":82,"props":1231,"children":1232},{},[1233,1241,1243,1249,1251,1256,1258,1264],{"type":43,"tag":65,"props":1234,"children":1235},{},[1236],{"type":43,"tag":515,"props":1237,"children":1238},{},[1239],{"type":49,"value":1240},"taste-contract",{"type":49,"value":1242}," No timeline work before the taste contract is in the\nproject log; reviews grade against it. The contract carries NAMED craft\ndecisions — ",{"type":43,"tag":93,"props":1244,"children":1246},{"className":1245},[],[1247],{"type":49,"value":1248},"scripts\u002Fplan_gate.sh",{"type":49,"value":1250}," verifies mechanically before assembly.\n",{"type":43,"tag":65,"props":1252,"children":1253},{},[1254],{"type":49,"value":1255},"Mechanical exemption is USER-GRANTED ONLY",{"type":49,"value":1257}," (exact operations: trim,\nconvert, mux, technical fix). Never self-declare a vlog\u002Fmontage\u002Fpromo\n\"mechanical\" — those are designed deliverables by definition (",{"type":43,"tag":93,"props":1259,"children":1261},{"className":1260},[],[1262],{"type":49,"value":1263},"engines\u002FREADME.md",{"type":49,"value":1265}," routing).",{"type":43,"tag":82,"props":1267,"children":1268},{},[1269,1277,1279,1287,1289,1295,1297,1302],{"type":43,"tag":65,"props":1270,"children":1271},{},[1272],{"type":43,"tag":515,"props":1273,"children":1274},{},[1275],{"type":49,"value":1276},"no-silent-downgrade",{"type":49,"value":1278}," Never swap an approved direction\u002Fengine\u002Fservice\nfor a weaker path without disclosure and approval. Includes dropping\naudio: ",{"type":43,"tag":65,"props":1280,"children":1281},{},[1282],{"type":43,"tag":515,"props":1283,"children":1284},{},[1285],{"type":49,"value":1286},"audio-preserved",{"type":49,"value":1288}," — a deliverable without its expected audio\nfails review unless explicitly approved (",{"type":43,"tag":93,"props":1290,"children":1292},{"className":1291},[],[1293],{"type":49,"value":1294},"scripts\u002Floudness_check.sh",{"type":49,"value":1296},"\nenforces). Disclosure is not a licence: a tool\u002Frender failure needs a\nminimal-repro isolation pass BEFORE any downgrade is proposed (",{"type":43,"tag":93,"props":1298,"children":1300},{"className":1299},[],[1301],{"type":49,"value":132},{"type":49,"value":1303}," § Render troubleshooting). Deliver the best\nPASSING output — shipping a degraded file while a better render exists is\na delivery failure.",{"type":43,"tag":82,"props":1305,"children":1306},{},[1307,1315,1317,1322,1324,1330,1332,1338,1340,1345,1347,1353,1355,1361,1363,1369],{"type":43,"tag":65,"props":1308,"children":1309},{},[1310],{"type":43,"tag":515,"props":1311,"children":1312},{},[1313],{"type":49,"value":1314},"hyperframes-handoff",{"type":49,"value":1316}," Designed deliverables go through the full\nhyperframes pipeline — no hand-rolled compositions, no concat+xfade\nslideshows (",{"type":43,"tag":93,"props":1318,"children":1320},{"className":1319},[],[1321],{"type":49,"value":132},{"type":49,"value":1323},"). The engine choice is a logged\n",{"type":43,"tag":93,"props":1325,"children":1327},{"className":1326},[],[1328],{"type":49,"value":1329},"## Decision — Engine",{"type":49,"value":1331}," entry in ",{"type":43,"tag":93,"props":1333,"children":1335},{"className":1334},[],[1336],{"type":49,"value":1337},"project.md",{"type":49,"value":1339}," (plan gate checks it);\nFFmpeg-only assembly of a watchable deliverable without a USER-GRANTED\nmechanical exemption fails final review regardless of output quality.\n",{"type":43,"tag":65,"props":1341,"children":1342},{},[1343],{"type":49,"value":1344},"Multi-scene pieces assemble by scene-loop, not one shot",{"type":49,"value":1346},": every Scene\nLedger row reaches LOCKED (scene rendered, six checks passed,\n",{"type":43,"tag":93,"props":1348,"children":1350},{"className":1349},[],[1351],{"type":49,"value":1352},"review\u002Fscene-review.md",{"type":49,"value":1354},") BEFORE the master renders — ",{"type":43,"tag":93,"props":1356,"children":1358},{"className":1357},[],[1359],{"type":49,"value":1360},"scripts\u002Fscene_gate.sh",{"type":49,"value":1362},"\nenforces that seam mechanically (verbatim block in the project log; a\nmaster rendered without a passing SCENE GATE block is a skipped\nworkflow), and ",{"type":43,"tag":93,"props":1364,"children":1366},{"className":1365},[],[1367],{"type":49,"value":1368},"review_gate.sh",{"type":49,"value":1370}," re-runs the same check at delivery so a\nledger still sitting at DRAFT — or scene files with no real iteration\nentries — FAILs it either way.",{"type":43,"tag":82,"props":1372,"children":1373},{},[1374,1382,1384,1390],{"type":43,"tag":65,"props":1375,"children":1376},{},[1377],{"type":43,"tag":515,"props":1378,"children":1379},{},[1380],{"type":49,"value":1381},"sample-first",{"type":49,"value":1383}," Generation goes concept → ONE sample → batch; a batch\nstarts only after its sample passes (",{"type":43,"tag":93,"props":1385,"children":1387},{"className":1386},[],[1388],{"type":49,"value":1389},"mcps\u002FREADME.md",{"type":49,"value":283},{"type":43,"tag":82,"props":1392,"children":1393},{},[1394,1402,1404,1410,1412,1424,1426,1431],{"type":43,"tag":65,"props":1395,"children":1396},{},[1397],{"type":43,"tag":515,"props":1398,"children":1399},{},[1400],{"type":49,"value":1401},"review-independence",{"type":49,"value":1403}," Final review = evidence with timestamps\u002Fframe\nnumbers; the technical gate is ONE command — ",{"type":43,"tag":93,"props":1405,"children":1407},{"className":1406},[],[1408],{"type":49,"value":1409},"scripts\u002Freview_gate.sh",{"type":49,"value":1411}," —\nand its verbatim output block must appear in the verdict. ",{"type":43,"tag":65,"props":1413,"children":1414},{},[1415,1417,1422],{"type":49,"value":1416},"Reporting a\ndeliverable path before that verdict block exists in ",{"type":43,"tag":93,"props":1418,"children":1420},{"className":1419},[],[1421],{"type":49,"value":1337},{"type":49,"value":1423}," is\nitself a violation",{"type":49,"value":1425},". Production-level outputs get a clean-context\nreviewer; any mutation invalidates prior review (",{"type":43,"tag":93,"props":1427,"children":1429},{"className":1428},[],[1430],{"type":49,"value":480},{"type":49,"value":283},{"type":43,"tag":82,"props":1433,"children":1434},{},[1435,1443,1445,1450],{"type":43,"tag":65,"props":1436,"children":1437},{},[1438],{"type":43,"tag":515,"props":1439,"children":1440},{},[1441],{"type":49,"value":1442},"rubric-verbatim",{"type":49,"value":1444}," The Appeal verdict uses the SEVEN named rows of\n",{"type":43,"tag":93,"props":1446,"children":1448},{"className":1447},[],[1449],{"type":49,"value":480},{"type":49,"value":1451}," §D exactly as written (concept · contract ·\nrhythm · restraint · craft · sound · typography&motion). Invented\ndimensions void the review. Concept ≤5 caps the verdict at \"revise\".",{"type":43,"tag":82,"props":1453,"children":1454},{},[1455,1463,1465,1470,1472,1477],{"type":43,"tag":65,"props":1456,"children":1457},{},[1458],{"type":43,"tag":515,"props":1459,"children":1460},{},[1461],{"type":49,"value":1462},"log-or-it-didn't-happen",{"type":49,"value":1464}," Decisions, contracts, reviews live in\n",{"type":43,"tag":93,"props":1466,"children":1468},{"className":1467},[],[1469],{"type":49,"value":1337},{"type":49,"value":1471}," with absolute paths; versioned re-renders, never silent\noverwrites (",{"type":43,"tag":93,"props":1473,"children":1475},{"className":1474},[],[1476],{"type":49,"value":281},{"type":49,"value":283},{"type":43,"tag":82,"props":1479,"children":1480},{},[1481,1489],{"type":43,"tag":65,"props":1482,"children":1483},{},[1484],{"type":43,"tag":515,"props":1485,"children":1486},{},[1487],{"type":49,"value":1488},"no-occlusion",{"type":49,"value":1490}," Overlays\u002Fsubtitles\u002FPiP never cover key faces, UI or\nfocal actions; subtitles burn last, on output-timeline timestamps.",{"type":43,"tag":59,"props":1492,"children":1493},{},[1494,1496,1502,1503,1509,1511,1517,1519,1525,1526,1532,1533,1539],{"type":49,"value":1495},"Domain rules use the same bracket notation inside their owning doc:\n",{"type":43,"tag":93,"props":1497,"children":1499},{"className":1498},[],[1500],{"type":49,"value":1501},"[no-zoom-drift]",{"type":49,"value":1112},{"type":43,"tag":93,"props":1504,"children":1506},{"className":1505},[],[1507],{"type":49,"value":1508},"craft\u002Ftransitions.md",{"type":49,"value":1510},"), ",{"type":43,"tag":93,"props":1512,"children":1514},{"className":1513},[],[1515],{"type":49,"value":1516},"[no-placeholder-assets]",{"type":49,"value":1518},"\n(",{"type":43,"tag":93,"props":1520,"children":1522},{"className":1521},[],[1523],{"type":49,"value":1524},"craft\u002Fmotion-recipes.md",{"type":49,"value":1510},{"type":43,"tag":93,"props":1527,"children":1529},{"className":1528},[],[1530],{"type":49,"value":1531},"[motivated-transitions]",{"type":49,"value":1518},{"type":43,"tag":93,"props":1534,"children":1536},{"className":1535},[],[1537],{"type":49,"value":1538},"workflows\u002Fstyle-replication.md",{"type":49,"value":283},{"type":43,"tag":52,"props":1541,"children":1543},{"id":1542},"directory-map",[1544],{"type":49,"value":1545},"Directory map",{"type":43,"tag":147,"props":1547,"children":1548},{},[1549,1565],{"type":43,"tag":151,"props":1550,"children":1551},{},[1552],{"type":43,"tag":155,"props":1553,"children":1554},{},[1555,1560],{"type":43,"tag":159,"props":1556,"children":1557},{},[1558],{"type":49,"value":1559},"Directory",{"type":43,"tag":159,"props":1561,"children":1562},{},[1563],{"type":49,"value":1564},"Purpose",{"type":43,"tag":175,"props":1566,"children":1567},{},[1568,1592,1670,1686,1716,1733,1750,1767],{"type":43,"tag":155,"props":1569,"children":1570},{},[1571,1579],{"type":43,"tag":182,"props":1572,"children":1573},{},[1574],{"type":43,"tag":93,"props":1575,"children":1577},{"className":1576},[],[1578],{"type":49,"value":98},{"type":43,"tag":182,"props":1580,"children":1581},{},[1582,1584,1590],{"type":49,"value":1583},"Editing craft: art direction (+ default kit), pacing, transitions menu, motion recipes (+ ",{"type":43,"tag":93,"props":1585,"children":1587},{"className":1586},[],[1588],{"type":49,"value":1589},"snippets\u002F",{"type":49,"value":1591}," copy-paste implementations), camera rig, audio-first cutting, beat sync, sound mix, grading, fonts",{"type":43,"tag":155,"props":1593,"children":1594},{},[1595,1604],{"type":43,"tag":182,"props":1596,"children":1597},{},[1598],{"type":43,"tag":93,"props":1599,"children":1601},{"className":1600},[],[1602],{"type":49,"value":1603},"assets\u002F",{"type":43,"tag":182,"props":1605,"children":1606},{},[1607,1609,1615,1617,1623,1624,1630,1631,1637,1638,1644,1646,1652,1654,1660,1662,1668],{"type":49,"value":1608},"Bundled reusable files inside this skill: ",{"type":43,"tag":93,"props":1610,"children":1612},{"className":1611},[],[1613],{"type":49,"value":1614},"fonts\u002F",{"type":49,"value":1616}," ",{"type":43,"tag":93,"props":1618,"children":1620},{"className":1619},[],[1621],{"type":49,"value":1622},"sfx\u002F",{"type":49,"value":1616},{"type":43,"tag":93,"props":1625,"children":1627},{"className":1626},[],[1628],{"type":49,"value":1629},"bgm\u002F",{"type":49,"value":1616},{"type":43,"tag":93,"props":1632,"children":1634},{"className":1633},[],[1635],{"type":49,"value":1636},"images\u002F",{"type":49,"value":1616},{"type":43,"tag":93,"props":1639,"children":1641},{"className":1640},[],[1642],{"type":49,"value":1643},"clips\u002F",{"type":49,"value":1645}," (browse: ",{"type":43,"tag":93,"props":1647,"children":1649},{"className":1648},[],[1650],{"type":49,"value":1651},"assets\u002Flocal-media.html",{"type":49,"value":1653},"; recipe menus: ",{"type":43,"tag":93,"props":1655,"children":1657},{"className":1656},[],[1658],{"type":49,"value":1659},"assets\u002Findex.html",{"type":49,"value":1661},") plus ",{"type":43,"tag":93,"props":1663,"children":1665},{"className":1664},[],[1666],{"type":49,"value":1667},"atom-packs\u002F",{"type":49,"value":1669}," — per-look reviewed atom packs (atoms.json = machine-readable recipe, preview.html = review page) — check here BEFORE downloading or generating",{"type":43,"tag":155,"props":1671,"children":1672},{},[1673,1681],{"type":43,"tag":182,"props":1674,"children":1675},{},[1676],{"type":43,"tag":93,"props":1677,"children":1679},{"className":1678},[],[1680],{"type":49,"value":106},{"type":43,"tag":182,"props":1682,"children":1683},{},[1684],{"type":49,"value":1685},"Named style recipes (paper-collage, freeze-punch, film-reel, brush, gallery-ripple, big-number, neon-ui-tech, prompt-to-product-ui)",{"type":43,"tag":155,"props":1687,"children":1688},{},[1689,1698],{"type":43,"tag":182,"props":1690,"children":1691},{},[1692],{"type":43,"tag":93,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":49,"value":1697},"workflows\u002F",{"type":43,"tag":182,"props":1699,"children":1700},{},[1701,1703,1709,1710],{"type":49,"value":1702},"End-to-end flows: ",{"type":43,"tag":93,"props":1704,"children":1706},{"className":1705},[],[1707],{"type":49,"value":1708},"style-replication.md",{"type":49,"value":100},{"type":43,"tag":93,"props":1711,"children":1713},{"className":1712},[],[1714],{"type":49,"value":1715},"vlog-multi-source.md",{"type":43,"tag":155,"props":1717,"children":1718},{},[1719,1728],{"type":43,"tag":182,"props":1720,"children":1721},{},[1722],{"type":43,"tag":93,"props":1723,"children":1725},{"className":1724},[],[1726],{"type":49,"value":1727},"engines\u002F",{"type":43,"tag":182,"props":1729,"children":1730},{},[1731],{"type":49,"value":1732},"Ownership & routing: HyperFrames handoff, FFmpeg prep\u002Ffinishing",{"type":43,"tag":155,"props":1734,"children":1735},{},[1736,1745],{"type":43,"tag":182,"props":1737,"children":1738},{},[1739],{"type":43,"tag":93,"props":1740,"children":1742},{"className":1741},[],[1743],{"type":49,"value":1744},"mcps\u002F",{"type":43,"tag":182,"props":1746,"children":1747},{},[1748],{"type":49,"value":1749},"Perception tools, generation services, sample-first rule",{"type":43,"tag":155,"props":1751,"children":1752},{},[1753,1762],{"type":43,"tag":182,"props":1754,"children":1755},{},[1756],{"type":43,"tag":93,"props":1757,"children":1759},{"className":1758},[],[1760],{"type":49,"value":1761},"review\u002F",{"type":43,"tag":182,"props":1763,"children":1764},{},[1765],{"type":49,"value":1766},"Source review, final review, project log",{"type":43,"tag":155,"props":1768,"children":1769},{},[1770,1779],{"type":43,"tag":182,"props":1771,"children":1772},{},[1773],{"type":43,"tag":93,"props":1774,"children":1776},{"className":1775},[],[1777],{"type":49,"value":1778},"scripts\u002F",{"type":43,"tag":182,"props":1780,"children":1781},{},[1782,1784,1790],{"type":49,"value":1783},"Verified measurement tools (see ",{"type":43,"tag":93,"props":1785,"children":1787},{"className":1786},[],[1788],{"type":49,"value":1789},"scripts\u002FREADME.md",{"type":49,"value":1791},")",{"type":43,"tag":52,"props":1793,"children":1795},{"id":1794},"task-routing",[1796],{"type":49,"value":1797},"Task routing",{"type":43,"tag":147,"props":1799,"children":1800},{},[1801,1817],{"type":43,"tag":151,"props":1802,"children":1803},{},[1804],{"type":43,"tag":155,"props":1805,"children":1806},{},[1807,1812],{"type":43,"tag":159,"props":1808,"children":1809},{},[1810],{"type":49,"value":1811},"Signal",{"type":43,"tag":159,"props":1813,"children":1814},{},[1815],{"type":49,"value":1816},"Read",{"type":43,"tag":175,"props":1818,"children":1819},{},[1820,1838,1855,1871,1887,1912,1930,1947,1963,1981,1999,2032,2056],{"type":43,"tag":155,"props":1821,"children":1822},{},[1823,1828],{"type":43,"tag":182,"props":1824,"children":1825},{},[1826],{"type":49,"value":1827},"Any new deliverable",{"type":43,"tag":182,"props":1829,"children":1830},{},[1831,1836],{"type":43,"tag":93,"props":1832,"children":1834},{"className":1833},[],[1835],{"type":49,"value":324},{"type":49,"value":1837}," first",{"type":43,"tag":155,"props":1839,"children":1840},{},[1841,1846],{"type":43,"tag":182,"props":1842,"children":1843},{},[1844],{"type":49,"value":1845},"Pile of raw clips, no reference",{"type":43,"tag":182,"props":1847,"children":1848},{},[1849],{"type":43,"tag":93,"props":1850,"children":1852},{"className":1851},[],[1853],{"type":49,"value":1854},"workflows\u002Fvlog-multi-source.md",{"type":43,"tag":155,"props":1856,"children":1857},{},[1858,1863],{"type":43,"tag":182,"props":1859,"children":1860},{},[1861],{"type":49,"value":1862},"\"Make it like this reference video\"",{"type":43,"tag":182,"props":1864,"children":1865},{},[1866],{"type":43,"tag":93,"props":1867,"children":1869},{"className":1868},[],[1870],{"type":49,"value":1538},{"type":43,"tag":155,"props":1872,"children":1873},{},[1874,1879],{"type":43,"tag":182,"props":1875,"children":1876},{},[1877],{"type":49,"value":1878},"BGM supplied \u002F beat-cut requested",{"type":43,"tag":182,"props":1880,"children":1881},{},[1882],{"type":43,"tag":93,"props":1883,"children":1885},{"className":1884},[],[1886],{"type":49,"value":381},{"type":43,"tag":155,"props":1888,"children":1889},{},[1890,1895],{"type":43,"tag":182,"props":1891,"children":1892},{},[1893],{"type":49,"value":1894},"Choosing seam treatments \u002F \"transitions look ugly\"",{"type":43,"tag":182,"props":1896,"children":1897},{},[1898,1903,1905,1910],{"type":43,"tag":93,"props":1899,"children":1901},{"className":1900},[],[1902],{"type":49,"value":1508},{"type":49,"value":1904}," menu + ",{"type":43,"tag":93,"props":1906,"children":1908},{"className":1907},[],[1909],{"type":49,"value":365},{"type":49,"value":1911}," §4",{"type":43,"tag":155,"props":1913,"children":1914},{},[1915,1920],{"type":43,"tag":182,"props":1916,"children":1917},{},[1918],{"type":49,"value":1919},"Title\u002Foverlay\u002Fdata animation design",{"type":43,"tag":182,"props":1921,"children":1922},{},[1923,1928],{"type":43,"tag":93,"props":1924,"children":1926},{"className":1925},[],[1927],{"type":49,"value":1524},{"type":49,"value":1929}," approved palette",{"type":43,"tag":155,"props":1931,"children":1932},{},[1933,1938],{"type":43,"tag":182,"props":1934,"children":1935},{},[1936],{"type":49,"value":1937},"Camera moves \u002F push-in \u002F 运镜感 on designed frames",{"type":43,"tag":182,"props":1939,"children":1940},{},[1941],{"type":43,"tag":93,"props":1942,"children":1944},{"className":1943},[],[1945],{"type":49,"value":1946},"craft\u002Fcamera-rig.md",{"type":43,"tag":155,"props":1948,"children":1949},{},[1950,1955],{"type":43,"tag":182,"props":1951,"children":1952},{},[1953],{"type":49,"value":1954},"Talking head \u002F interview \u002F narration",{"type":43,"tag":182,"props":1956,"children":1957},{},[1958],{"type":43,"tag":93,"props":1959,"children":1961},{"className":1960},[],[1962],{"type":49,"value":373},{"type":43,"tag":155,"props":1964,"children":1965},{},[1966,1971],{"type":43,"tag":182,"props":1967,"children":1968},{},[1969],{"type":49,"value":1970},"User names a style (\"拼贴\u002F贴纸\", \"书法\", ...)",{"type":43,"tag":182,"props":1972,"children":1973},{},[1974,1976],{"type":49,"value":1975},"matching card in ",{"type":43,"tag":93,"props":1977,"children":1979},{"className":1978},[],[1980],{"type":49,"value":106},{"type":43,"tag":155,"props":1982,"children":1983},{},[1984,1989],{"type":43,"tag":182,"props":1985,"children":1986},{},[1987],{"type":49,"value":1988},"Verifying one scene inside the scene loop",{"type":43,"tag":182,"props":1990,"children":1991},{},[1992,1997],{"type":43,"tag":93,"props":1993,"children":1995},{"className":1994},[],[1996],{"type":49,"value":1352},{"type":49,"value":1998}," six checks",{"type":43,"tag":155,"props":2000,"children":2001},{},[2002,2007],{"type":43,"tag":182,"props":2003,"children":2004},{},[2005],{"type":49,"value":2006},"Tech\u002Fproduct promo or prompt-to-UI demo (designed frames)",{"type":43,"tag":182,"props":2008,"children":2009},{},[2010,2016,2017,2023,2025,2030],{"type":43,"tag":93,"props":2011,"children":2013},{"className":2012},[],[2014],{"type":49,"value":2015},"looks\u002Fneon-ui-tech.md",{"type":49,"value":608},{"type":43,"tag":93,"props":2018,"children":2020},{"className":2019},[],[2021],{"type":49,"value":2022},"looks\u002Fprompt-to-product-ui.md",{"type":49,"value":2024}," + ",{"type":43,"tag":93,"props":2026,"children":2028},{"className":2027},[],[2029],{"type":49,"value":132},{"type":49,"value":2031}," handoff",{"type":43,"tag":155,"props":2033,"children":2034},{},[2035,2040],{"type":43,"tag":182,"props":2036,"children":2037},{},[2038],{"type":49,"value":2039},"Subject cutout \u002F sticker \u002F text-behind",{"type":43,"tag":182,"props":2041,"children":2042},{},[2043,2049,2050],{"type":43,"tag":93,"props":2044,"children":2046},{"className":2045},[],[2047],{"type":49,"value":2048},"mcps\u002Fsegmentation-matting.md",{"type":49,"value":2024},{"type":43,"tag":93,"props":2051,"children":2053},{"className":2052},[],[2054],{"type":49,"value":2055},"looks\u002Fpaper-collage.md",{"type":43,"tag":155,"props":2057,"children":2058},{},[2059,2064],{"type":43,"tag":182,"props":2060,"children":2061},{},[2062],{"type":49,"value":2063},"Ready to render\u002Fdeliver",{"type":43,"tag":182,"props":2065,"children":2066},{},[2067],{"type":43,"tag":93,"props":2068,"children":2070},{"className":2069},[],[2071],{"type":49,"value":480},{"type":43,"tag":59,"props":2073,"children":2074},{},[2075],{"type":49,"value":2076},"Docs are read on demand — a task only needs its matching signal rows plus\nthe standard-flow steps it actually executes, never the whole tree.",{"type":43,"tag":52,"props":2078,"children":2080},{"id":2079},"not-this-skill",[2081],{"type":49,"value":2082},"Not this skill",{"type":43,"tag":59,"props":2084,"children":2085},{},[2086,2088,2093,2095,2100],{"type":49,"value":2087},"Watching\u002Fanalyzing only → core perception tools directly. Pure image or\naudio generation with no video deliverable → the service tools directly.\nDesigned video with ",{"type":43,"tag":65,"props":2089,"children":2090},{},[2091],{"type":49,"value":2092},"no real footage at all",{"type":49,"value":2094}," (pure promo\u002Fmotion-graphic\nfrom a brief) → the ",{"type":43,"tag":93,"props":2096,"children":2098},{"className":2097},[],[2099],{"type":49,"value":124},{"type":49,"value":2101}," entry skill directly.",{"type":43,"tag":2103,"props":2104,"children":2105},"style",{},[2106],{"type":49,"value":2107},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2109,"total":2291},[2110,2125,2144,2163,2179,2193,2207,2223,2237,2250,2264,2276],{"slug":2111,"name":2111,"fn":2112,"description":2113,"org":2114,"tags":2115,"stars":2122,"repoUrl":2123,"updatedAt":2124},"batch","execute parallel batch operations on files","Execute batch operations on multiple files in parallel. Automatically discovers files, splits into chunks, and processes with parallel worker agents. Use `\u002Fbatch` followed by operation and file pattern.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2116,2119],{"name":2117,"slug":2118,"type":16},"Automation","automation",{"name":2120,"slug":2121,"type":16},"Concurrency","concurrency",26008,"https:\u002F\u002Fgithub.com\u002FQwenLM\u002Fqwen-code","2026-07-20T05:58:45.650067",{"slug":2126,"name":2126,"fn":2127,"description":2128,"org":2129,"tags":2130,"stars":2122,"repoUrl":2123,"updatedAt":2143},"coordinate","coordinate Qwen Code teammates","Coordinate up to three Qwen Code teammates with enforced read-only workers, an optional worktree-pinned writer, shared tasks, peer messages, and existing Agent View tabs. Invoke explicitly with \u002Fcoordinate.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2131,2134,2137,2140],{"name":2132,"slug":2133,"type":16},"Agents","agents",{"name":2135,"slug":2136,"type":16},"Coding","coding",{"name":2138,"slug":2139,"type":16},"Multi-Agent","multi-agent",{"name":2141,"slug":2142,"type":16},"Orchestration","orchestration","2026-08-15T03:47:37.781681",{"slug":2145,"name":2145,"fn":2146,"description":2147,"org":2148,"tags":2149,"stars":2122,"repoUrl":2123,"updatedAt":2162},"cua-driver","drive native GUI applications via MCP","Drive a native GUI app (macOS, Windows, Linux) via the Qwen Cua Driver CLI (default) or MCP server; snapshot its accessibility tree, act through snapshot-bound element tokens, native menu paths, exact window geometry, or pixel coordinates, and verify from fresh state. Use when the user asks you to operate, drive, automate, or perform a GUI task in a real application on the host.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2150,2153,2156,2159],{"name":2151,"slug":2152,"type":16},"Accessibility","accessibility",{"name":2154,"slug":2155,"type":16},"Browser Automation","browser-automation",{"name":2157,"slug":2158,"type":16},"Desktop","desktop",{"name":2160,"slug":2161,"type":16},"MCP","mcp","2026-08-09T04:04:41.832404",{"slug":2164,"name":2164,"fn":2165,"description":2166,"org":2167,"tags":2168,"stars":2122,"repoUrl":2123,"updatedAt":2178},"dataviz","design and validate data visualizations","Design guidance for charts, graphs, dashboards, maps, and data visualizations, including a local palette validator.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2169,2172,2175],{"name":2170,"slug":2171,"type":16},"Charts","charts",{"name":2173,"slug":2174,"type":16},"Dashboards","dashboards",{"name":2176,"slug":2177,"type":16},"Data Visualization","data-visualization","2026-07-16T05:59:28.31755",{"slug":2180,"name":2180,"fn":2181,"description":2182,"org":2183,"tags":2184,"stars":2122,"repoUrl":2123,"updatedAt":2192},"extension-creator","create Qwen Code extensions","Create, scaffold, customize, validate, and locally test Qwen Code extensions. Use when the user wants a new Qwen Code extension, needs help choosing an extension template, wants to add QWEN.md context, commands, skills, agents, MCP servers, settings, hooks, channels, or LSP servers, or asks how to link and test an extension locally. Invoke with `\u002Fextension-creator` followed by an extension path and optional template name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2185,2186,2189],{"name":2135,"slug":2136,"type":16},{"name":2187,"slug":2188,"type":16},"Documentation","documentation",{"name":2190,"slug":2191,"type":16},"Plugin Development","plugin-development","2026-07-16T05:59:24.818967",{"slug":2194,"name":2194,"fn":2195,"description":2196,"org":2197,"tags":2198,"stars":2122,"repoUrl":2123,"updatedAt":2206},"loop","run scheduled or self-paced prompt loops","Create a loop that runs a prompt now and follows up either on a fixed schedule or through self-paced wakeups. Usage - \u002Floop check the build, \u002Floop 5m check the build, \u002Floop check the PR every 30m. \u002Floop list to show jobs, \u002Floop clear to cancel all.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2199,2200,2203],{"name":2117,"slug":2118,"type":16},{"name":2201,"slug":2202,"type":16},"Productivity","productivity",{"name":2204,"slug":2205,"type":16},"Scheduling","scheduling","2026-07-16T05:59:25.50027",{"slug":2208,"name":2208,"fn":2209,"description":2210,"org":2211,"tags":2212,"stars":2122,"repoUrl":2123,"updatedAt":2222},"new-app","build new applications from scratch","Workflow for creating new applications from scratch. Covers requirements gathering, tech stack selection, scaffolding, implementation, and delivery of a functional prototype.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2213,2216,2219],{"name":2214,"slug":2215,"type":16},"Engineering","engineering",{"name":2217,"slug":2218,"type":16},"Prototyping","prototyping",{"name":2220,"slug":2221,"type":16},"Web Development","web-development","2026-07-16T05:59:25.157573",{"slug":2224,"name":2224,"fn":2225,"description":2226,"org":2227,"tags":2228,"stars":2122,"repoUrl":2123,"updatedAt":2236},"qc-helper","provide Qwen Code usage and configuration support","Answer any question about Qwen Code usage, features, configuration, and troubleshooting by referencing the official user documentation. Also helps users view or modify their settings.json. Invoke with `\u002Fqc-helper` followed by a question, e.g. `\u002Fqc-helper how do I configure MCP servers?` or `\u002Fqc-helper change approval mode to yolo`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2229,2232,2233],{"name":2230,"slug":2231,"type":16},"Configuration","configuration",{"name":2187,"slug":2188,"type":16},{"name":2234,"slug":2235,"type":16},"Reference","reference","2026-07-16T05:59:29.118413",{"slug":2238,"name":2238,"fn":2239,"description":2240,"org":2241,"tags":2242,"stars":2122,"repoUrl":2123,"updatedAt":2249},"review","review code for quality and security","Review changed code for correctness, security, code quality, and performance. Use when the user asks to review code changes, a PR, or specific files. Invoke with `\u002Freview`, `\u002Freview \u003Cpr-number>`, `\u002Freview \u003Cfile-path>`, `\u002Freview \u003Cpr-number> --comment` to post inline comments on the PR, `\u002Freview --fix` to apply the findings to your working tree, or `\u002Freview \u003Cpr-number> --resume` to continue an interrupted review of that PR instead of starting over. Add `--effort low|medium|high` to trade depth for speed (defaults to high for PRs, medium for local changes).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2243,2246],{"name":2244,"slug":2245,"type":16},"Code Review","code-review",{"name":2247,"slug":2248,"type":16},"Security","security","2026-08-22T03:23:27.758571",{"slug":2251,"name":2251,"fn":2252,"description":2253,"org":2254,"tags":2255,"stars":2122,"repoUrl":2123,"updatedAt":2263},"simplify","clean up and simplify code changes","Review recent code changes for reuse, code quality, and efficiency, then directly apply straightforward cleanup improvements. Use when the user wants a post-implementation cleanup pass, pre-PR polish, or asks to simplify\u002Frefine recent changes. Invoke with `\u002Fsimplify` or `\u002Fsimplify \u003Cfocus>`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2256,2259,2260],{"name":2257,"slug":2258,"type":16},"Code Analysis","code-analysis",{"name":2214,"slug":2215,"type":16},{"name":2261,"slug":2262,"type":16},"Performance","performance","2026-07-20T05:58:46.653811",{"slug":2265,"name":2265,"fn":2266,"description":2267,"org":2268,"tags":2269,"stars":2122,"repoUrl":2123,"updatedAt":2275},"stuck","diagnose and debug stuck Qwen Code sessions","Diagnose frozen, stuck, or slow Qwen Code sessions on this machine. Scans for problematic processes, high CPU\u002Fmemory usage, hung subprocesses, and debug logs. Use \u002Fstuck or \u002Fstuck \u003CPID> to focus on a specific process.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2270,2273,2274],{"name":2271,"slug":2272,"type":16},"Debugging","debugging",{"name":2214,"slug":2215,"type":16},{"name":2261,"slug":2262,"type":16},"2026-07-16T05:59:25.838629",{"slug":2277,"name":2277,"fn":2278,"description":2279,"org":2280,"tags":2281,"stars":2288,"repoUrl":2289,"updatedAt":2290},"open-computer-use","configure Open Computer Use MCP server","Platform-neutral guidance for using Open Computer Use, the open-source Computer Use MCP server and CLI for macOS, Linux, and Windows. Use when an agent needs to install, verify, troubleshoot, configure, or operate Open Computer Use through its native CLI, stdio MCP server, or direct Computer Use tool calls.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2282,2283,2286,2287],{"name":2117,"slug":2118,"type":16},{"name":2284,"slug":2285,"type":16},"CLI","cli",{"name":2157,"slug":2158,"type":16},{"name":2160,"slug":2161,"type":16},176,"https:\u002F\u002Fgithub.com\u002FQwenLM\u002Fopen-computer-use","2026-07-16T05:59:22.010839",30,{"items":2293,"total":2396},[2294,2311,2328,2342,2359,2372,2389],{"slug":2295,"name":2295,"fn":2296,"description":2297,"org":2298,"tags":2299,"stars":26,"repoUrl":27,"updatedAt":2310},"qwen-mm-plugins-api","analyze media with Qwen vision models","Cloud MCP tools for understanding media, by model family. VL model: vision_chat (caption\u002FVQA), ocr, grounding (detect\u002Flocate objects). Omni model (reads frames + audio together): timestamped captioning, ASR (plain \u002F controllable \u002F multi-speaker diarized), temporal grounding, event counting, music captioning. Plus transcribe_audio (ASR) and segmentation (SAM3). Use when a question about an image\u002Fvideo\u002Faudio needs an external model, not just local reading.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2300,2303,2306,2307],{"name":2301,"slug":2302,"type":16},"AI","ai",{"name":2304,"slug":2305,"type":16},"Computer Vision","computer-vision",{"name":2160,"slug":2161,"type":16},{"name":2308,"slug":2309,"type":16},"Multimodal","multimodal","2026-08-15T03:20:16.767662",{"slug":2312,"name":2312,"fn":2313,"description":2314,"org":2315,"tags":2316,"stars":26,"repoUrl":27,"updatedAt":2327},"qwen-mm-plugins-blender","build and edit 3D scenes in Blender","Use whenever a task involves building or editing a 3D scene or asset in Blender — modeling, characters\u002Fpeople, architecture\u002Finteriors, terrain\u002Flandscapes, props, materials, lighting, or rendering. Covers discovering installed add-ons, using generators, importing and REFINING ready-made assets, and matching the result to the spec. Requires a running Blender instance with the blender-mcp addon (see Prerequisite).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2317,2320,2323,2324],{"name":2318,"slug":2319,"type":16},"3D","3d",{"name":2321,"slug":2322,"type":16},"Animation","animation",{"name":21,"slug":22,"type":16},{"name":2325,"slug":2326,"type":16},"Design","design","2026-08-05T05:58:30.425245",{"slug":861,"name":861,"fn":2329,"description":2330,"org":2331,"tags":2332,"stars":26,"repoUrl":27,"updatedAt":2341},"analyze and visualize multimodal files","Local MCP tools to read and visualize any file — images, video, documents, code, data, 3D, notebooks, and more — plus image tools for cropping, annotating, and extracting frames.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2333,2336,2339,2340],{"name":2334,"slug":2335,"type":16},"Data Analysis","data-analysis",{"name":2337,"slug":2338,"type":16},"LLM","llm",{"name":2160,"slug":2161,"type":16},{"name":2308,"slug":2309,"type":16},"2026-08-12T04:25:59.187593",{"slug":2343,"name":2343,"fn":2344,"description":2345,"org":2346,"tags":2347,"stars":26,"repoUrl":27,"updatedAt":2358},"qwen-mm-plugins-edu-agent","generate math problem solving tutorial videos","Generate step-by-step math problem-solving tutorial videos in Chinese (Mandarin).\nUse when: (1) a user provides a math problem and wants an explanation video,\n(2) someone says \"make a math tutorial\", \"explain this equation\", \"create a\nteaching video for this problem\", \"讲解这道题\", \"生成解题视频\",\n(3) the user wants a Chinese-language math lesson covering formulas, equations,\nor geometric figures, (4) the user shares a math problem in text or LaTeX and\nasks for a video walkthrough, (5) the input is an image_assets\u002F folder\ncontaining problem images — the skill will extract the problem via visual\nrecognition, solve it, and generate a tutorial video. Teaching components are\nrendered as realistic objects (solid opaque panels, 3D cards, SVG figures) with a\nmodern aurora mesh aesthetic.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2348,2351,2354,2357],{"name":2349,"slug":2350,"type":16},"Content Creation","content-creation",{"name":2352,"slug":2353,"type":16},"Education","education",{"name":2355,"slug":2356,"type":16},"Mathematics","mathematics",{"name":24,"slug":25,"type":16},"2026-08-05T05:58:40.128581",{"slug":2360,"name":2360,"fn":2361,"description":2362,"org":2363,"tags":2364,"stars":26,"repoUrl":27,"updatedAt":2371},"qwen-mm-plugins-freecad","model parts and assemblies in FreeCAD","Use whenever a task involves parametric CAD in FreeCAD — modeling parts and assemblies, editing object properties, technical drawings, importing\u002Fexporting STEP\u002FSTL\u002FOBJ\u002FDXF, PDF\u002FExcel reports from a model, or finite-element (FEM\u002FCalculiX) analysis. Requires a running FreeCAD instance with the FreeCADMCP addon (see Prerequisite).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2365,2366,2369,2370],{"name":2318,"slug":2319,"type":16},{"name":2367,"slug":2368,"type":16},"CAD","cad",{"name":2325,"slug":2326,"type":16},{"name":2214,"slug":2215,"type":16},"2026-08-05T05:58:40.567406",{"slug":2373,"name":2373,"fn":2374,"description":2375,"org":2376,"tags":2377,"stars":26,"repoUrl":27,"updatedAt":2388},"qwen-mm-plugins-search","search and extract web and image data","Web search and page extraction MCP tools (Serper, Exa, or Tavily) plus Serper Lens reverse-image search for confirming facts — web_search (find facts), web_extractor (read a page in depth), image_search (reverse-search a frame to identify an entity). Use to verify anything you cannot confirm from the media alone.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2378,2381,2382,2385],{"name":2379,"slug":2380,"type":16},"Data Extraction","data-extraction",{"name":2160,"slug":2161,"type":16},{"name":2383,"slug":2384,"type":16},"Search","search",{"name":2386,"slug":2387,"type":16},"Web Scraping","web-scraping","2026-08-15T03:20:15.96401",{"slug":4,"name":4,"fn":5,"description":6,"org":2390,"tags":2391,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2392,2393,2394,2395],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"name":24,"slug":25,"type":16},8]