[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71K9VAFK9C4VEP5S3VDSDNX":3,"skill-same:01M71K9VAFK9C4VEP5S3VDSDNX":173},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M71K9VAFK9C4VEP5S3VDSDNX","motion-graphics",null,"Use when the user wants a short, design-led, unnarrated motion graphic: kinetic type, stat count-up, chart hit, logo sting, lower-third, animated map, or UI animation. Longer or narrated: \u002Fgeneral-video. Unclear: \u002Fhyperframes.","coco-research\u002Fcoco","coco-research","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F68911604?v=4","01M71JRE9C4NM4NSZM4JD0BJTB","Coco Research","01M71JREA0ZMR0PMH3CKA99SN1",631,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"graphics","motion graphics","motion","when","design","count","count-up","ui animation","chart","type","map","general","up","use","short","logo","Animation","Video","ui","hyperframes","2026-11-10 10:12:30",false,"---\nname: motion-graphics\ndescription: \"Use when the user wants a short, design-led, unnarrated motion graphic: kinetic type, stat count-up, chart hit, logo sting, lower-third, animated map, or UI animation. Longer or narrated: \u002Fgeneral-video. Unclear: \u002Fhyperframes.\"\n---\nModified by Coco, 2026-09-14: description rewritten. See MODIFICATIONS.md.\n\n> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update motion-graphics`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them.\n\n> **figma source**: If the logo\u002Fasset\u002Fanimation to build from comes from a figma.com URL, run `\u002Ffigma` first — asset export, brand tokens, and Motion→GSAP translation if the graphic is a Figma Motion import — then build from its output. Don't drive Figma via raw MCP tools directly: that skips SVG sanitization, `.media\u002Fmanifest.jsonl` provenance, and brand-token `var()` binding, so a later brand change can't propagate without a full re-import.\n\n# motion-graphics — dispatch entry\n\n> **The front door is `\u002Fhyperframes`.** This skill makes a **short, design-led, unnarrated motion graphic** (motion is the message; ~under 10s, no voice-over). Anything longer, narrated, or multi-scene — or any uncertainty → read `\u002Fhyperframes` first: the intent layer owns every route decision.\n\nThis workflow is **autonomous by design** — at most one clarifying question (`agents\u002Fdirector.md`), then build through verification without intermediate review. The intent layer (`\u002Fhyperframes` → `references\u002Fintent-interview.md`) routes here directly without run-shape questions; a storyboard and companion session add little to a piece this short. Rendering is still user-gated: after checks and proof snapshots pass, ask the canonical “preview first, or render?” question from `..\u002Fhyperframes-core\u002Freferences\u002Fbrief-contract.md`. When a `BRIEF.md` exists, read it before the director's question.\n\nA short design-led motion graphic. **Asset-first**: decide the asset strategy and source real material _before_ designing the shot, then design the shot around what you have, then compose by reusing catalog capabilities. All artifacts go to `PROJECT_DIR = videos\u002F\u003Cproject-name>\u002F` (created in Step 0); all paths below are relative to it.\n\n| Phase    | Execution                                                             | Primary artifact                                                 | Detailed flow                 |\n| -------- | --------------------------------------------------------------------- | ---------------------------------------------------------------- | ----------------------------- |\n| init     | Bash                                                                  | `hyperframes.json`                                               | Step 0                        |\n| plan     | subagent — **decide search?** + classify + asset strategy             | `shot-plan.json` (draft: category, `asset_needs` queries, brief) | `agents\u002Fdirector.md` (Part 1) |\n| source ◇ | Bash — media-use resolve (**skip if `asset_needs` is empty**)         | `assets\u002F` + `assets\u002Findex.md`                                    | `phases\u002Fsource\u002Fguide.md`      |\n| design   | subagent — shot design around resolved assets                         | `shot-plan.json` (final: block(s) + layout + motion + positions) | `agents\u002Fdirector.md` (Part 2) |\n| build    | subagent — reuse-first composition                                    | `compositions\u002Findex.html`                                        | `agents\u002Fbuilder.md`           |\n| verify   | Bash — `lint`, `check`, proof snapshots; repair on failure            | `snapshots\u002Fcontact-sheet.jpg`                                    | Step 5                        |\n| approve  | Ask preview or render; wait for the answer                            | explicit render approval                                         | Step 6                        |\n| render   | Bash — `hyperframes render` (MP4, or `--format webm\u002Fmov` for overlay) | `renders\u002Fvideo.mp4` or transparent overlay                       | Step 6                        |\n\n`◇ source` runs only when the chosen category declares assets. Pure code\u002Ftext categories (e.g. `kinetic-type`, most `charts`\u002F`stat`) have `asset_needs: []` and skip straight from plan to design.\n\n## Categories — split by the search decision\n\n`plan`'s **first decision is: does this need a search?** That fork splits the categories into two groups; then the specific category is picked — for search-driven, **by the type of content the search returns**. Each category is one `categories\u002F\u003Cid>\u002Fmodule.md` (its planning + build rules); the shared motion vocabulary lives in `references\u002Fmotion-vocabulary.md` (→ `hyperframes-animation` rules\u002Fblueprints + registry blocks).\n\n**Form categories — no search; the user supplies the content:**\n\n| Category       | Intent                                                                                                         | Leans on                                                                    |\n| -------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |\n| `kinetic-type` | punchy line \u002F quote \u002F title, motion-first text                                                                 | `caption-*` blocks + animation rules                                        |\n| `stat`         | single hero number \u002F count-up + ring                                                                           | `apple-money-count` \u002F `rules\u002F{counting-dynamic-scale, stat-bars-and-fills}` |\n| `charts`       | bar \u002F line \u002F pie \u002F race \u002F % from data                                                                          | `data-chart` block                                                          |\n| `logo-reveal`  | logo sting \u002F brand lockup (user logo)                                                                          | `logo-outro` \u002F `rules\u002Fsvg-path-draw`                                        |\n| `lower-thirds` | name \u002F title bars, callouts, social overlays                                                                   | `caption-*` + registry overlay blocks                                       |\n| `maps`         | geographic motion — highlight regions, connect places, zoom to a location (vector lane, or baked basemap lane) | `us-map` \u002F `world-map` family + `bake-basemap.mjs`                          |\n\n**Search-driven categories — search first, then animate by content type** (the RWA path):\n\n| Returned content | Category       | Animation                                                      |\n| ---------------- | -------------- | -------------------------------------------------------------- |\n| webpage \u002F link   | `webpage`      | webpage \u002F UI animation (scroll, reveal, cursor, callouts)      |\n| news article     | `news`         | headline reveal + source card + key-fact callouts              |\n| tweet            | `tweet`        | animated tweet card                                            |\n| image \u002F entity   | `asset-fusion` | the asset's geometry _becomes_ the chart (RWA diegetic fusion) |\n\nBuild order: one at a time, coverage-first (rough is fine). `kinetic-type` ported from the prototype; the rest follow.\n\n## Prerequisites\n\nmacOS Apple Silicon or Linux x64. System tools: `brew install node ffmpeg`. `npx hyperframes doctor` once. macOS GPU render: `export PRODUCER_BROWSER_GPU_MODE=hardware`.\n\nOptional keys (local fallbacks if unset) — only needed by categories that source\u002Fgenerate assets via media-use:\n\n| Key                                 | Used for                                                    | Fallback                        |\n| ----------------------------------- | ----------------------------------------------------------- | ------------------------------- |\n| `GEMINI_API_KEY` \u002F `GOOGLE_API_KEY` | image generation (media-use resolve)                        | skip generate \u002F search-only     |\n| (asset_scout \u002F search providers)    | `webpage`\u002F`news`\u002F`tweet` + `asset-fusion` real-asset search | category degrades to asset-free |\n\n## Flow\n\n### Step 0 — Initialize\n\ncwd is the agent workspace root; write all artifacts under `PROJECT_DIR = videos\u002F\u003Cproject-name>\u002F`. `\u003Cproject-name>`: use the dir the user gave, else a short kebab-case name from the intent (`\u003Csubject>-motion`). Not the workspace basename or a timestamp.\n\nOnly when `$PROJECT_DIR\u002Fhyperframes.json` is absent:\n\n```bash\nPROJECT_DIR=\"${MOTION_GRAPHICS_DIR:-videos\u002F\u003Cproject-name>}\"\nmkdir -p \"$(dirname \"$PROJECT_DIR\")\"\nnpx hyperframes init \"$PROJECT_DIR\" --non-interactive --example=blank --skill=motion-graphics\n```\n\n`init` checks the installed skills against the latest on GitHub and updates the global set if any are out of date.\n\n**Constraints:** never `hyperframes init` in the workspace root; never nest another `hyperframes\u002F` inside `PROJECT_DIR`; every Bash command (master + subagents) is a `(cd \"$PROJECT_DIR\" && ...)` subshell — never bare `cd`.\n\n### Step 1 — Plan (subagent: Director Part 1)\n\nDispatch one subagent. prompt = full `agents\u002Fdirector.md` + `## Dispatch context` (`SKILL_DIR` \u002F `PROJECT_DIR` \u002F the user's request \u002F `Schema: \u003CSKILL_DIR>\u002Freferences\u002Fshot-plan-ir.md`). It must:\n\n1. **Decide: does this need a search?** (the first fork)\n   - **No** → pick a **form category** (kinetic-type \u002F stat \u002F charts \u002F logo-reveal \u002F lower-thirds); content is user-supplied; `asset_needs: []`.\n   - **Yes** → emit a **search plan** into `asset_needs[]` (news \u002F web \u002F tweet \u002F image; two-pole queries). The specific **search-driven category** (webpage \u002F news \u002F tweet \u002F asset-fusion) is confirmed by the content type returned in Step 2, and finalized in Step 3.\n2. Write a draft `shot-plan.json` (envelope + chosen form category _or_ search intent + `asset_needs` + a one-paragraph shot brief). Schema: `references\u002Fshot-plan-ir.md`.\n\nValidation: `[ -s \"$PROJECT_DIR\u002Fshot-plan.json\" ] && echo ok || echo missing`.\n\n### Step 2 — Source ◇ (Bash: media-use, conditional)\n\nIf `shot-plan.json.asset_needs` is non-empty, resolve assets (search \u002F generate \u002F fetch → frozen project-local paths + ledger). See `phases\u002Fsource\u002Fguide.md` (wraps `media-use resolve`; the search-driven categories use the news\u002Fweb\u002Ftweet\u002Fimage search). If `asset_needs` is empty, **skip to Step 3**.\n\n```bash\n# illustrative — see phases\u002Fsource\u002Fguide.md\n(cd \"$PROJECT_DIR\" && node \u003CSKILL_DIR>\u002Fphases\u002Fsource\u002Fresolve.mjs --plan .\u002Fshot-plan.json --out .\u002Fassets)\n```\n\nDegrade gracefully: if a search\u002Fprovider is unavailable, the category falls back to asset-free (note it in `context.log`).\n\n### Step 3 — Design (subagent: Director Part 2)\n\nDispatch a subagent (prompt = `agents\u002Fdirector.md` Part 2 + dispatch context including the resolved `assets\u002Findex.md` if Step 2 ran + `catalog-map.md`). It designs the shot **around the available assets**: pick the catalog block(s) + the `hyperframes-animation` rules\u002Fblueprints, the layout, the motion, beats, and (for `asset-fusion`) the `element_positions` + eyedropper palette. Finalizes `shot-plan.json` (`content.block` + `content.customize` + per-category content).\n\n### Step 4 — Build (subagent: Builder, reuse-first)\n\nDispatch a subagent. prompt = full `agents\u002Fbuilder.md` + dispatch context (`shot-plan.json`, `catalog-map.md`, the category's `module.md`, `references\u002Fmotion-vocabulary.md`, `references\u002Fbuilder-contract.md`). **Reuse-first**: `npx hyperframes add \u003Cblock>` + customize in place; hand-author only gaps + the asset-fusion affordance. Output `compositions\u002Findex.html` honoring the HF contract (paused GSAP timeline on `window.__timelines`, `class=\"clip\"` + stable ids, `tl.seek(0)`, deterministic).\n\n### Step 5 — Verify (Bash → repair subagent on failure)\n\n```bash\n(cd \"$PROJECT_DIR\" && npx hyperframes lint .)\n(cd \"$PROJECT_DIR\" && npx hyperframes check .)\n(cd \"$PROJECT_DIR\" && npx hyperframes snapshot --at \u003Cproof-times>)\n```\n\nChoose proof times that show the opening state, signature move, and final hold. Inspect the generated contact or snapshot sheet before continuing. On `lint`, `check`, or snapshot failure, dispatch the repair subagent (`agents\u002Ffinalize.md`) for one in-place fix pass, then rerun the failed gate. Never change a fixed duration merely to hide a defect.\n\n### Step 6 — Approve and render (Bash)\n\nAsk one question: “preview first, or render?” If the user chooses preview, open Studio and return to the same approval gate after revisions:\n\n```bash\n(cd \"$PROJECT_DIR\" && npx hyperframes preview)\n```\n\nRender only after an explicit render answer:\n\n```bash\n(cd \"$PROJECT_DIR\" && npx hyperframes render . --skill=motion-graphics -q high -o .\u002Frenders\u002Fvideo.mp4)\n# transparent overlay variant: --format webm  (or mov)\n```\n\nVerify the output exists, is non-empty, and has the intended duration. The final handoff names the artifact, actual duration, composition or frame id, proof times, and the inspected contact or snapshot sheet. Flags live in `\u002Fhyperframes-cli` → `references\u002Fpreview-render.md`.\n\n## Resume table\n\n| State                                                    | Continue from              |\n| -------------------------------------------------------- | -------------------------- |\n| no `shot-plan.json`                                      | Step 1 (plan)              |\n| `shot-plan.json` has `asset_needs`, no `assets\u002F`         | Step 2 (source)            |\n| `shot-plan.json` final, no `compositions\u002Findex.html`     | Step 3\u002F4 (design+build)    |\n| `compositions\u002Findex.html` exists, proof snapshots absent | Step 5 (verify)            |\n| checks and proof snapshots pass, no approved render      | Step 6 (approval)          |\n| approved render exists                                   | verify output, then report |\n\n## Design notes (maintainers — execution does not read this)\n\n- **Asset-first rationale:** sourcing is front-loaded and informs shot design (the RWA flow: analyze → search → review → compose). the search-driven categories (`webpage`\u002F`news`\u002F`tweet`) and `asset-fusion` both lean on media-use search (news\u002Fweb\u002Ftweet\u002Fimage), which is media-use's documented RWA lineage.\n- **Reuse-first:** the in-ecosystem analog of LLM-generated templates is \"compose catalog blocks + `hyperframes-animation` rules\". HF's paused GSAP timeline ≙ Remotion's `useCurrentFrame`.\n- **Category module contract:** one `categories\u002F\u003Cid>\u002Fmodule.md` (planning + build), sharing `references\u002Fmotion-vocabulary.md` (+ optional eval). Adding a category = drop the folder + register its classifier line in `agents\u002Fdirector.md` + its row in `catalog-map.md`; the phase pipeline is untouched.\n- **Directory shape:**\n  ```\n  videos\u002F\u003Cproject-name>\u002F\n    hyperframes.json  context.log\n    shot-plan.json            # the IR (Director output)\n    assets\u002F  assets\u002Findex.md  # media-use output (if sourced)\n    compositions\u002Findex.html   # Builder output\n    renders\u002Fvideo.mp4\n  ```\n- **Registration:** in `hyperframes` router — add the \"design-led short motion graphic\" intent + Workflow description; carve the motion-graphics triggers out of `\u002Fgeneral-video`; add reverse Do-NOT-use edges. See `motion-graphics-genre.md` §5-7.\n","Modified by Coco, 2026-09-14: description rewritten. See MODIFICATIONS.md.\n\n> **First, keep this skill fresh — run silently, don't ask:** `npx hyperframes skills update motion-graphics`. A fast no-op when everything is current; otherwise it refreshes this skill plus the core domain skills it depends on before you rely on them.\n\n> **figma source**: If the logo\u002Fasset\u002Fanimation to build from comes from a figma.com URL, run `\u002Ffigma` first — asset export, brand tokens, and Motion→GSAP translation if the graphic is a Figma Motion import — then build from its output. Don't drive Figma via raw MCP tools directly: that skips SVG sanitization, `.media\u002Fmanifest.jsonl` provenance, and brand-token `var()` binding, so a later brand change can't propagate without a full re-import.\n\n# motion-graphics — dispatch entry\n\n> **The front door is `\u002Fhyperframes`.** This skill makes a **short, design-led, unnarrated motion graphic** (motion is the message; ~under 10s, no voice-over). Anything longer, narrated, or multi-scene — or any uncertainty → read `\u002Fhyperframes` first: the intent layer owns every route decision.\n\nThis workflow is **autonomous by design** — at most one clarifying question (`agents\u002Fdirector.md`), then build through verification without intermediate review. The intent layer (`\u002Fhyperframes` → `references\u002Fintent-interview.md`) routes here directly without run-shape questions; a storyboard and companion session add little to a piece this short. Rendering is still user-gated: after checks and proof snapshots pass, ask the canonical “preview first, or render?” question from `..\u002Fhyperframes-core\u002Freferences\u002Fbrief-contract.md`. When a `BRIEF.md` exists, read it before the director's question.\n\nA short design-led motion graphic. **Asset-first**: decide the asset strategy and source real material _before_ designing the shot, then design the shot around what you have, then compose by reusing catalog capabilities. All artifacts go to `PROJECT_DIR = videos\u002F\u003Cproject-name>\u002F` (created in Step 0); all paths below are relative to it.\n\n| Phase    | Execution                                                             | Primary artifact                                                 | Detailed flow                 |\n| -------- | --------------------------------------------------------------------- | ---------------------------------------------------------------- | ----------------------------- |\n| init     | Bash                                                                  | `hyperframes.json`                                               | Step 0                        |\n| plan     | subagent — **decide search?** + classify + asset strategy             | `shot-plan.json` (draft: category, `asset_needs` queries, brief) | `agents\u002Fdirector.md` (Part 1) |\n| source ◇ | Bash — media-use resolve (**skip if `asset_needs` is empty**)         | `assets\u002F` + `assets\u002Findex.md`                                    | `phases\u002Fsource\u002Fguide.md`      |\n| design   | subagent — shot design around resolved assets                         | `shot-plan.json` (final: block(s) + layout + motion + positions) | `agents\u002Fdirector.md` (Part 2) |\n| build    | subagent — reuse-first composition                                    | `compositions\u002Findex.html`                                        | `agents\u002Fbuilder.md`           |\n| verify   | Bash — `lint`, `check`, proof snapshots; repair on failure            | `snapshots\u002Fcontact-sheet.jpg`                                    | Step 5                        |\n| approve  | Ask preview or render; wait for the answer                            | explicit render approval                                         | Step 6                        |\n| render   | Bash — `hyperframes render` (MP4, or `--format webm\u002Fmov` for overlay) | `renders\u002Fvideo.mp4` or transparent overlay                       | Step 6                        |\n\n`◇ source` runs only when the chosen category declares assets. Pure code\u002Ftext categories (e.g. `kinetic-type`, most `charts`\u002F`stat`) have `asset_needs: []` and skip straight from plan to design.\n\n## Categories — split by the search decision\n\n`plan`'s **first decision is: does this need a search?** That fork splits the categories into two groups; then the specific category is picked — for search-driven, **by the type of content the search returns**. Each category is one `categories\u002F\u003Cid>\u002Fmodule.md` (its planning + build rules); the shared motion vocabulary lives in `references\u002Fmotion-vocabulary.md` (→ `hyperframes-animation` rules\u002Fblueprints + registry blocks).\n\n**Form categories — no search; the user supplies the content:**\n\n| Category       | Intent                                                                                                         | Leans on                                                                    |\n| -------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |\n| `kinetic-type` | punchy line \u002F quote \u002F title, motion-first text                                                                 | `caption-*` blocks + animation rules                                        |\n| `stat`         | single hero number \u002F count-up + ring                                                                           | `apple-money-count` \u002F `rules\u002F{counting-dynamic-scale, stat-bars-and-fills}` |\n| `charts`       | bar \u002F line \u002F pie \u002F race \u002F % from data                                                                          | `data-chart` block                                                          |\n| `logo-reveal`  | logo sting \u002F brand lockup (user logo)                                                                          | `logo-outro` \u002F `rules\u002Fsvg-path-draw`                                        |\n| `lower-thirds` | name \u002F title bars, callouts, social overlays                                                                   | `caption-*` + registry overlay blocks                                       |\n| `maps`         | geographic motion — highlight regions, connect places, zoom to a location (vector lane, or baked basemap lane) | `us-map` \u002F `world-map` family + `bake-basemap.mjs`                          |\n\n**Search-driven categories — search first, then animate by content type** (the RWA path):\n\n| Returned content | Category       | Animation                                                      |\n| ---------------- | -------------- | -------------------------------------------------------------- |\n| webpage \u002F link   | `webpage`      | webpage \u002F UI animation (scroll, reveal, cursor, callouts)      |\n| news article     | `news`         | headline reveal + source card + key-fact callouts              |\n| tweet            | `tweet`        | animated tweet card                                            |\n| image \u002F entity   | `asset-fusion` | the asset's geometry _becomes_ the chart (RWA diegetic fusion) |\n\nBuild order: one at a time, coverage-first (rough is fine). `kinetic-type` ported from the prototype; the rest follow.\n\n## Prerequisites\n\nmacOS Apple Silicon or Linux x64. System tools: `brew install node ffmpeg`. `npx hyperframes doctor` once. macOS GPU render: `export PRODUCER_BROWSER_GPU_MODE=hardware`.\n\nOptional keys (local fallbacks if unset) — only needed by categories that source\u002Fgenerate assets via media-use:\n\n| Key                                 | Used for                                                    | Fallback                        |\n| ----------------------------------- | ----------------------------------------------------------- | ------------------------------- |\n| `GEMINI_API_KEY` \u002F `GOOGLE_API_KEY` | image generation (media-use resolve)                        | skip generate \u002F search-only     |\n| (asset_scout \u002F search providers)    | `webpage`\u002F`news`\u002F`tweet` + `asset-fusion` real-asset search | category degrades to asset-free |\n\n## Flow\n\n### Step 0 — Initialize\n\ncwd is the agent workspace root; write all artifacts under `PROJECT_DIR = videos\u002F\u003Cproject-name>\u002F`. `\u003Cproject-name>`: use the dir the user gave, else a short kebab-case name from the intent (`\u003Csubject>-motion`). Not the workspace basename or a timestamp.\n\nOnly when `$PROJECT_DIR\u002Fhyperframes.json` is absent:\n\n```bash\nPROJECT_DIR=\"${MOTION_GRAPHICS_DIR:-videos\u002F\u003Cproject-name>}\"\nmkdir -p \"$(dirname \"$PROJECT_DIR\")\"\nnpx hyperframes init \"$PROJECT_DIR\" --non-interactive --example=blank --skill=motion-graphics\n```\n\n`init` checks the installed skills against the latest on GitHub and updates the global set if any are out of date.\n\n**Constraints:** never `hyperframes init` in the workspace root; never nest another `hyperframes\u002F` inside `PROJECT_DIR`; every Bash command (master + subagents) is a `(cd \"$PROJECT_DIR\" && ...)` subshell — never bare `cd`.\n\n### Step 1 — Plan (subagent: Director Part 1)\n\nDispatch one subagent. prompt = full `agents\u002Fdirector.md` + `## Dispatch context` (`SKILL_DIR` \u002F `PROJECT_DIR` \u002F the user's request \u002F `Schema: \u003CSKILL_DIR>\u002Freferences\u002Fshot-plan-ir.md`). It must:\n\n1. **Decide: does this need a search?** (the first fork)\n   - **No** → pick a **form category** (kinetic-type \u002F stat \u002F charts \u002F logo-reveal \u002F lower-thirds); content is user-supplied; `asset_needs: []`.\n   - **Yes** → emit a **search plan** into `asset_needs[]` (news \u002F web \u002F tweet \u002F image; two-pole queries). The specific **search-driven category** (webpage \u002F news \u002F tweet \u002F asset-fusion) is confirmed by the content type returned in Step 2, and finalized in Step 3.\n2. Write a draft `shot-plan.json` (envelope + chosen form category _or_ search intent + `asset_needs` + a one-paragraph shot brief). Schema: `references\u002Fshot-plan-ir.md`.\n\nValidation: `[ -s \"$PROJECT_DIR\u002Fshot-plan.json\" ] && echo ok || echo missing`.\n\n### Step 2 — Source ◇ (Bash: media-use, conditional)\n\nIf `shot-plan.json.asset_needs` is non-empty, resolve assets (search \u002F generate \u002F fetch → frozen project-local paths + ledger). See `phases\u002Fsource\u002Fguide.md` (wraps `media-use resolve`; the search-driven categories use the news\u002Fweb\u002Ftweet\u002Fimage search). If `asset_needs` is empty, **skip to Step 3**.\n\n```bash\n# illustrative — see phases\u002Fsource\u002Fguide.md\n(cd \"$PROJECT_DIR\" && node \u003CSKILL_DIR>\u002Fphases\u002Fsource\u002Fresolve.mjs --plan .\u002Fshot-plan.json --out .\u002Fassets)\n```\n\nDegrade gracefully: if a search\u002Fprovider is unavailable, the category falls back to asset-free (note it in `context.log`).\n\n### Step 3 — Design (subagent: Director Part 2)\n\nDispatch a subagent (prompt = `agents\u002Fdirector.md` Part 2 + dispatch context including the resolved `assets\u002Findex.md` if Step 2 ran + `catalog-map.md`). It designs the shot **around the available assets**: pick the catalog block(s) + the `hyperframes-animation` rules\u002Fblueprints, the layout, the motion, beats, and (for `asset-fusion`) the `element_positions` + eyedropper palette. Finalizes `shot-plan.json` (`content.block` + `content.customize` + per-category content).\n\n### Step 4 — Build (subagent: Builder, reuse-first)\n\nDispatch a subagent. prompt = full `agents\u002Fbuilder.md` + dispatch context (`shot-plan.json`, `catalog-map.md`, the category's `module.md`, `references\u002Fmotion-vocabulary.md`, `references\u002Fbuilder-contract.md`). **Reuse-first**: `npx hyperframes add \u003Cblock>` + customize in place; hand-author only gaps + the asset-fusion affordance. Output `compositions\u002Findex.html` honoring the HF contract (paused GSAP timeline on `window.__timelines`, `class=\"clip\"` + stable ids, `tl.seek(0)`, deterministic).\n\n### Step 5 — Verify (Bash → repair subagent on failure)\n\n```bash\n(cd \"$PROJECT_DIR\" && npx hyperframes lint .)\n(cd \"$PROJECT_DIR\" && npx hyperframes check .)\n(cd \"$PROJECT_DIR\" && npx hyperframes snapshot --at \u003Cproof-times>)\n```\n\nChoose proof times that show the opening state, signature move, and final hold. Inspect the generated contact or snapshot sheet before continuing. On `lint`, `check`, or snapshot failure, dispatch the repair subagent (`agents\u002Ffinalize.md`) for one in-place fix pass, then rerun the failed gate. Never change a fixed duration merely to hide a defect.\n\n### Step 6 — Approve and render (Bash)\n\nAsk one question: “preview first, or render?” If the user chooses preview, open Studio and return to the same approval gate after revisions:\n\n```bash\n(cd \"$PROJECT_DIR\" && npx hyperframes preview)\n```\n\nRender only after an explicit render answer:\n\n```bash\n(cd \"$PROJECT_DIR\" && npx hyperframes render . --skill=motion-graphics -q high -o .\u002Frenders\u002Fvideo.mp4)\n# transparent overlay variant: --format webm  (or mov)\n```\n\nVerify the output exists, is non-empty, and has the intended duration. The final handoff names the artifact, actual duration, composition or frame id, proof times, and the inspected contact or snapshot sheet. Flags live in `\u002Fhyperframes-cli` → `references\u002Fpreview-render.md`.\n\n## Resume table\n\n| State                                                    | Continue from              |\n| -------------------------------------------------------- | -------------------------- |\n| no `shot-plan.json`                                      | Step 1 (plan)              |\n| `shot-plan.json` has `asset_needs`, no `assets\u002F`         | Step 2 (source)            |\n| `shot-plan.json` final, no `compositions\u002Findex.html`     | Step 3\u002F4 (design+build)    |\n| `compositions\u002Findex.html` exists, proof snapshots absent | Step 5 (verify)            |\n| checks and proof snapshots pass, no approved render      | Step 6 (approval)          |\n| approved render exists                                   | verify output, then report |\n\n## Design notes (maintainers — execution does not read this)\n\n- **Asset-first rationale:** sourcing is front-loaded and informs shot design (the RWA flow: analyze → search → review → compose). the search-driven categories (`webpage`\u002F`news`\u002F`tweet`) and `asset-fusion` both lean on media-use search (news\u002Fweb\u002Ftweet\u002Fimage), which is media-use's documented RWA lineage.\n- **Reuse-first:** the in-ecosystem analog of LLM-generated templates is \"compose catalog blocks + `hyperframes-animation` rules\". HF's paused GSAP timeline ≙ Remotion's `useCurrentFrame`.\n- **Category module contract:** one `categories\u002F\u003Cid>\u002Fmodule.md` (planning + build), sharing `references\u002Fmotion-vocabulary.md` (+ optional eval). Adding a category = drop the folder + register its classifier line in `agents\u002Fdirector.md` + its row in `catalog-map.md`; the phase pipeline is untouched.\n- **Directory shape:**\n  ```\n  videos\u002F\u003Cproject-name>\u002F\n    hyperframes.json  context.log\n    shot-plan.json            # the IR (Director output)\n    assets\u002F  assets\u002Findex.md  # media-use output (if sourced)\n    compositions\u002Findex.html   # Builder output\n    renders\u002Fvideo.mp4\n  ```\n- **Registration:** in `hyperframes` router — add the \"design-led short motion graphic\" intent + Workflow description; carve the motion-graphics triggers out of `\u002Fgeneral-video`; add reverse Do-NOT-use edges. See `motion-graphics-genre.md` §5-7.\n",{"name":5,"description":7},"main","cd89f013b617f7eea982a9bbc60e992974fda2aa","systems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics",15,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco","https:\u002F\u002Fcocoresearch.org\u002Fcoco\u002F","https:\u002F\u002Fgithub.com\u002Fcoco-research","https:\u002F\u002Fcocoresearch.org","Local-first, open-source tools for people who work with AI agents: governed memory, agents that check their own work, and data that stays on your machine.","2026-11-11 12:18:13",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add coco-research\u002Fcoco --skill motion-graphics",{"tool":73,"command":74},"bunx","bunx skills add coco-research\u002Fcoco --skill motion-graphics",{"tool":76,"command":77},"pnpm","pnpm dlx skills add coco-research\u002Fcoco --skill motion-graphics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002FSKILL.md",true,[81,87,91,95,99,103,107,111,115,119,125,129,133,137,141,145,149,153,157,161,165,169],{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"agents\u002Fbuilder.md","REFERENCE","参考文档",3394,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fagents\u002Fbuilder.md",{"path":88,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":89,"sourceHtmlUrl":90},"agents\u002Fdirector.md",5756,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fagents\u002Fdirector.md",{"path":92,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":93,"sourceHtmlUrl":94},"agents\u002Ffinalize.md",1071,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fagents\u002Ffinalize.md",{"path":96,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":97,"sourceHtmlUrl":98},"catalog-map.md",10595,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcatalog-map.md",{"path":100,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":101,"sourceHtmlUrl":102},"categories\u002Fasset-fusion\u002Fmodule.md",3968,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fasset-fusion\u002Fmodule.md",{"path":104,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":105,"sourceHtmlUrl":106},"categories\u002Fcharts\u002Fmodule.md",1611,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fcharts\u002Fmodule.md",{"path":108,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":109,"sourceHtmlUrl":110},"categories\u002Fkinetic-type\u002Fmodule.md",1607,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fkinetic-type\u002Fmodule.md",{"path":112,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":113,"sourceHtmlUrl":114},"categories\u002Flogo-reveal\u002Fmodule.md",1131,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Flogo-reveal\u002Fmodule.md",{"path":116,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":117,"sourceHtmlUrl":118},"categories\u002Flower-thirds\u002Fmodule.md",1081,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Flower-thirds\u002Fmodule.md",{"path":120,"resourceType":121,"resourceTypeDesc":122,"sizeBytes":123,"sourceHtmlUrl":124},"categories\u002Fmaps\u002Fbake-basemap.mjs","SCRIPT","脚本",14726,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fmaps\u002Fbake-basemap.mjs",{"path":126,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":127,"sourceHtmlUrl":128},"categories\u002Fmaps\u002Fmodule.md",9587,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fmaps\u002Fmodule.md",{"path":130,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":131,"sourceHtmlUrl":132},"categories\u002Fnews\u002Fmodule.md",5404,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fnews\u002Fmodule.md",{"path":134,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":135,"sourceHtmlUrl":136},"categories\u002Fstat\u002Fmodule.md",1200,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fstat\u002Fmodule.md",{"path":138,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":139,"sourceHtmlUrl":140},"categories\u002Ftweet\u002Fmodule.md",1015,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Ftweet\u002Fmodule.md",{"path":142,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":143,"sourceHtmlUrl":144},"categories\u002Fwebpage\u002Fmodule.md",2538,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fcategories\u002Fwebpage\u002Fmodule.md",{"path":146,"resourceType":121,"resourceTypeDesc":122,"sizeBytes":147,"sourceHtmlUrl":148},"grounding\u002Flocate.mjs",8226,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fgrounding\u002Flocate.mjs",{"path":150,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":151,"sourceHtmlUrl":152},"grounding\u002FPROTOCOL.md",3108,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fgrounding\u002FPROTOCOL.md",{"path":154,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":155,"sourceHtmlUrl":156},"phases\u002Fsource\u002Fguide.md",1962,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fphases\u002Fsource\u002Fguide.md",{"path":158,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":159,"sourceHtmlUrl":160},"references\u002Fbuilder-contract.md",2818,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Freferences\u002Fbuilder-contract.md",{"path":162,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":163,"sourceHtmlUrl":164},"references\u002Fmotion-vocabulary.md",3566,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Freferences\u002Fmotion-vocabulary.md",{"path":166,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":167,"sourceHtmlUrl":168},"references\u002Fshot-plan-ir.md",2616,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Freferences\u002Fshot-plan-ir.md",{"path":170,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":171,"sourceHtmlUrl":172},"samples\u002Fasset-fusion\u002F_ref-circle-highlight.html",10674,"https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fhyperframes\u002Fskills\u002Fmotion-graphics\u002Fsamples\u002Fasset-fusion\u002F_ref-circle-highlight.html",[174,199,209,225,255,274],{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":181,"publishedAt":52},"01M71KEJXF9KMT0BWCMRSRFA4M","trading-super-intelligence","Trading Super Intelligence Team. Named real-world personas across 8 cells. Built local-first (LM Studio) and validator-gated. Illustrative composites; see DISCLAIMER.md.","https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fsuperintelligence\u002Ftrading\u002FSKILL.md",[180],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198],"super","trading super intelligence","intelligence","trading","validator","personas","local","composites","studio","team","across","world","first","gated","2026","lm studio","local-first",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":52},"01M71KEFWS3CMAP7DF1P0FWTDE","strategy-super-intelligence","Strategy Super Intelligence Team. Named real-world personas across 7 cells. Built local-first (LM Studio) and validator-gated. Illustrative composites; see DISCLAIMER.md.","https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fsuperintelligence\u002Fstrategy\u002FSKILL.md",[205],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[207,182,208,184,186,187,188,189,190,191,192,193,194,195,196,197,198],"strategy","strategy super intelligence",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":213,"categories":214,"keywords":219,"publishedAt":52},"01M71KED56ZEPK2QE84QSQPMT0","risk-compliance-super-intelligence","Risk & Compliance (GRC) Super Intelligence Team. Named real-world personas across 7 cells. Built local-first (LM Studio) and validator-gated. Illustrative composites; see DISCLAIMER.md.","https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fsuperintelligence\u002Frisk-compliance\u002FSKILL.md",[215,216],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":217,"categoryName":218,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000037","律师与法务",[220,182,221,222,223,184,186,187,188,189,224,190,191,192,193,194,195,196,197,198],"risk","risk compliance super intelligence","compliance","risk compliance","grc",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":240,"publishedAt":52},"01M71KE9A2FWSC74VA96W1EZSN","product-design-super-intelligence","Your product + design brain trust and decision partner. Named personas across 8 cells spanning product strategy, discovery\u002Fresearch, growth\u002Fmetrics, design foundations\u002Fusability, design leadership\u002Fcraft, UX\u002Fcontent, design systems, and a…","https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fsuperintelligence\u002Fproduct-design\u002FSKILL.md",[231,232,235,236,239],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":233,"categoryName":234,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":237,"categoryName":238,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000031","产品经理",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[36,241,184,242,182,243,244,245,246,247,248,191,192,249,250,196,251,252,253,254],"product","product design","product design super intelligence","foundations","product-design","decision","design systems","usability","leadership","ux","brain","craft","metrics","trust",{"skillNo":256,"name":257,"nameZh":6,"description":258,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":259,"categories":260,"keywords":263,"publishedAt":52},"01M71KE6H9FPSD9TECYFBPXZ8Y","legal-ip-super-intelligence","Your legal, IP, and regulatory brain trust. 31 named personas across 7 cells covering patent strategy, tech licensing, regulatory litigation, AI governance, open-source compliance, privacy law, and antitrust.","https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fsuperintelligence\u002Flegal-ip\u002FSKILL.md",[261,262],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":217,"categoryName":218,"taxonomyType":29,"taxonomyTypeDesc":30},[264,182,265,184,266,267,254,268,187,269,270,271,207,191,192,272,222,273,196,251],"ip","legal ip super intelligence","legal","sep","tech","litigation","ai governance","open","open-source","governance",{"skillNo":275,"name":276,"nameZh":6,"description":277,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":278,"categories":279,"keywords":281,"publishedAt":52},"01M71KE36QRY610V6YVB9JWRND","healthcare-life-sciences-super-intelligence","Your healthcare and life sciences brain trust. 25 named personas across 7 cells covering drug discovery, medtech, biotech strategy, health policy, genomics, clinical trials, and healthcare economics.","https:\u002F\u002Fgithub.com\u002Fcoco-research\u002Fcoco\u002Fblob\u002Fmain\u002Fsystems\u002Fsuperintelligence\u002Fhealthcare-life-sciences\u002FSKILL.md",[280],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[282,182,283,284,184,267,254,285,286,187,287,288,207,191,192,289,290,291,292,196],"healthcare","healthcare life sciences super intelligence","life","economics","discovery","policy","clinical","clinical trials","health","trials","genomics"]