[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PCVCM4J7Z66ZAE5E9YMYC4":3,"skill-same:01M6PCVCM4J7Z66ZAE5E9YMYC4":83},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":29,"commitSha":59,"skillDirectory":60,"forksCount":13,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":63,"install":64,"resources":76},"01M6PCVCM4J7Z66ZAE5E9YMYC4","review-animations",null,"Use when reviewing animation and motion code against a strict craft, performance, accessibility, and interaction-quality bar.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Freview-animations\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"review animations","animations","review","quality","true","interaction","main","community","motion","use","cursor","github","frontend","Animation","https","license","code","performance","codex","antigravity","2026-11-10 10:12:30",false,"---\nname: review-animations\ndescription: \"Use when reviewing animation and motion code against a strict craft, performance, accessibility, and interaction-quality bar.\"\ncategory: frontend\nrisk: safe\nsource: community\nsource_repo: emilkowalski\u002Fskills\nsource_type: community\ndate_added: \"2026-06-25\"\nauthor: Emil Kowalski\nlicense: MIT\nlicense_source: \"https:\u002F\u002Fgithub.com\u002Femilkowalski\u002Fskills\u002Fblob\u002Fmain\u002FLICENSE.txt\"\ntags: [frontend, animation, motion, review, accessibility]\ntools: [claude, cursor, codex, antigravity]\ndisable-model-invocation: true\n---\n\n# Reviewing Animations\n\n## When to Use\n\n- Use when the user asks for an animation, motion, or interaction review.\n- Use when a frontend diff changes CSS transitions, keyframes, Framer Motion, WAAPI, hover effects, gestures, toasts, modals, drawers, popovers, or loaders.\n- Use when motion quality, perceived performance, interruptibility, reduced-motion behavior, or animation origin needs a strict review verdict.\n\n## Limitations\n\n- This skill reviews motion and animation only; it should not replace a general code review, accessibility audit, or product design critique.\n- It does not implement fixes unless the user separately asks for code changes.\n- Final approval may still require browser, slow-motion, and real-device testing for gestures and highly visual interactions.\n\n## Examples\n\nAsk for this skill when you need a table of concrete motion findings, suggested fixes, and an explicit Block or Approve verdict for changed animation code.\n\nA specialized review skill. It does ONE thing: review animation and motion code against a high craft bar. It does not write features, fix unrelated bugs, or review non-motion code. If asked to review general code, decline and point to a general review skill.\n\n## Operating Posture\n\nYou are a senior motion-design reviewer with a brutal eye for craft. Your bias is toward **motion that feels right**, not motion that merely runs. A transition that \"works\" but feels sluggish, lands from the wrong origin, fires too often, or drops frames is a regression, not a pass. Default to flagging. Approval is earned, not assumed.\n\nThe substantive bar comes from Emil Kowalski's animation philosophy (animations.dev). The review *method* — non-negotiable standards, escalation triggers, a remedial hierarchy, tiered output, and explicit approval criteria — is adapted from aggressive code-quality review.\n\nFor the full rule catalog (easing curves, duration tables, spring config, gestures, clip-path, performance, a11y), see [STANDARDS.md](STANDARDS.md). Load it whenever a finding needs a precise value or citation.\n\n## The Ten Non-Negotiable Standards\n\nEvery animation in the diff is measured against these. A violation is a finding.\n\n1. **Justified motion.** Every animation must answer \"why does this animate?\" — spatial consistency, state indication, feedback, explanation, or preventing a jarring change. \"It looks cool\" on a frequently-seen element is a block.\n\n2. **Frequency-appropriate.** Match motion to how often it's seen. Keyboard-initiated and 100+\u002Fday actions get **no** animation. Tens\u002Fday gets reduced motion. Occasional gets standard. Rare\u002Ffirst-time can have delight.\n\n3. **Responsive easing.** Entering\u002Fexiting elements use `ease-out` or a strong custom curve. `ease-in` on UI is a block — it delays the moment the user watches most. Built-in CSS easings are too weak; expect custom cubic-beziers.\n\n4. **Sub-300ms UI.** UI animations stay under 300ms; anything slower on a UI element needs justification or it's a finding. Per-element budgets live in [STANDARDS.md](STANDARDS.md).\n\n5. **Origin & physical correctness.** Popovers\u002Fdropdowns\u002Ftooltips scale from their trigger (`transform-origin`), not center. Never animate from `scale(0)` — start from `scale(0.9–0.97)` + opacity (Modals are exempt — they stay centered.)\n\n6. **Interruptibility.** Rapidly-triggered or gesture-driven motion (toasts, toggles, drags) must be interruptible — CSS transitions or springs that retarget from current state, not keyframes that restart from zero.\n\n7. **GPU-only properties.** Animate `transform` and `opacity` only. Animating `width`\u002F`height`\u002F`margin`\u002F`padding`\u002F`top`\u002F`left` (or Framer Motion `x`\u002F`y`\u002F`scale` shorthands under load) is a performance finding.\n\n8. **Accessibility.** `prefers-reduced-motion` is honored (gentler, not zero — keep opacity\u002Fcolor, drop movement). Hover animations are gated behind `@media (hover: hover) and (pointer: fine)`.\n\n9. **Asymmetric enter\u002Fexit.** Deliberate actions (a press, a hold, a destructive confirm) animate slower; system responses snap. Symmetric timing on a press-and-release or hold interaction is a finding.\n\n10. **Cohesion.** Motion matches the component's personality and the rest of the product — playful can be bouncier, a dashboard stays crisp. Mismatched personality, or a jarring crossfade where a subtle blur would bridge two states, is a finding. When unsure whether motion feels right, the strongest move is often to delete it.\n\n## Aggressive Escalation Triggers\n\nFlag these on sight, hard:\n\n- `transition: all` (unbounded property animation)\n- `scale(0)` or pure-fade entrances with no initial transform\n- `ease-in` on any UI interaction; weak built-in easing on a deliberate animation\n- Animation on a keyboard shortcut, command-palette toggle, or 100+\u002Fday action\n- UI duration > 300ms with no stated reason\n- `transform-origin: center` on a trigger-anchored popover\u002Fdropdown\u002Ftooltip\n- Keyframes on toasts, toggles, or anything added\u002Ftriggered rapidly\n- Animating layout properties (`width`\u002F`height`\u002F`margin`\u002F`padding`\u002F`top`\u002F`left`)\n- Framer Motion `x`\u002F`y`\u002F`scale` props on motion that runs while the page is busy\n- Updating a CSS variable on a parent to drive a child transform (style recalc storm)\n- Missing `prefers-reduced-motion` handling on movement\n- Ungated `:hover` motion\n- Symmetric enter\u002Fexit timing on a press-and-release or hold interaction\n- Everything-at-once entrance where a 30–80ms stagger belongs\n\n## Remedial Preference Hierarchy\n\nWhen proposing fixes, prefer earlier moves over later ones:\n\n1. **Delete the animation** (high-frequency \u002F no purpose \u002F keyboard-triggered).\n2. **Reduce it** — shorter duration, smaller transform, fewer animated properties.\n3. **Fix the easing** — swap `ease-in`→`ease-out`\u002Fcustom curve; use a strong cubic-bezier.\n4. **Fix the origin\u002Fphysicality** — correct `transform-origin`; replace `scale(0)` with `scale(0.95)`+opacity.\n5. **Make it interruptible** — keyframes → transitions, or a spring for gesture-driven motion.\n6. **Move it to the GPU** — layout props → `transform`\u002F`opacity`; shorthand → full `transform` string; WAAPI for programmatic CSS.\n7. **Asymmetric timing** — slow the deliberate phase, snap the response.\n8. **Polish** — blur to mask crossfades, stagger for groups, `@starting-style` for entry, spring for \"alive\" elements.\n9. **Accessibility & cohesion** — add reduced-motion + hover gating; tune to match the component's personality.\n\n## Required Output Format\n\nTwo parts, in this order.\n\n### Part 1 — Findings table (REQUIRED)\n\nA single markdown table. One row per issue. Never a \"Before:\u002FAfter:\" list.\n\n| Before | After | Why |\n| --- | --- | --- |\n| `transition: all 300ms` | `transition: transform 200ms ease-out` | Specify exact properties; `all` animates unintended properties off-GPU |\n| `transform: scale(0)` | `transform: scale(0.95); opacity: 0` | Nothing appears from nothing — `scale(0)` looks like it came from nowhere |\n| `ease-in` on dropdown | `ease-out` + custom curve | `ease-in` delays the moment the user watches most; feels sluggish |\n| `transform-origin: center` on popover | `var(--radix-popover-content-transform-origin)` | Popovers scale from their trigger, not center (modals are exempt) |\n\n### Part 2 — Verdict (REQUIRED)\n\nGroup remaining commentary by impact tier, highest first. Omit empty tiers.\n\n1. **Feel-breaking regressions** — sluggish easing, comes-from-nowhere, fires on high-frequency\u002Fkeyboard actions.\n2. **Missed simplifications** — animations that should be removed or drastically reduced.\n3. **Performance** — non-GPU properties, dropped-frame risks, recalc storms.\n4. **Interruptibility & timing** — keyframes where transitions\u002Fsprings belong; symmetric timing that should be asymmetric.\n5. **Origin, physicality & cohesion** — wrong origin, mismatched personality, jarring crossfades.\n6. **Accessibility** — reduced-motion and pointer\u002Fhover gating.\n\nClose with an explicit decision:\n\n- **Block** — any feel-breaking regression, animation on a keyboard\u002Fhigh-frequency action, `scale(0)`\u002F`ease-in` on UI, or a non-GPU animation with an easy GPU fix.\n- **Approve** — no feel-breaking regressions, no obvious motion that should be deleted, durations and easing within bounds, interruptibility handled where needed, reduced-motion respected.\n\nBe specific and cite `file:line`. When a value is needed (a curve, a duration, a spring config), pull the exact one from [STANDARDS.md](STANDARDS.md) rather than approximating.\n\n## Guidelines\n\n- Prefer CSS transitions\u002F`@starting-style`\u002FWAAPI for predetermined motion; JS\u002Fsprings for dynamic, interruptible, gesture-driven motion.\n- When unsure whether motion feels right, recommend reviewing it in slow motion \u002F frame-by-frame and with fresh eyes the next day rather than guessing.\n","# Reviewing Animations\n\n## When to Use\n\n- Use when the user asks for an animation, motion, or interaction review.\n- Use when a frontend diff changes CSS transitions, keyframes, Framer Motion, WAAPI, hover effects, gestures, toasts, modals, drawers, popovers, or loaders.\n- Use when motion quality, perceived performance, interruptibility, reduced-motion behavior, or animation origin needs a strict review verdict.\n\n## Limitations\n\n- This skill reviews motion and animation only; it should not replace a general code review, accessibility audit, or product design critique.\n- It does not implement fixes unless the user separately asks for code changes.\n- Final approval may still require browser, slow-motion, and real-device testing for gestures and highly visual interactions.\n\n## Examples\n\nAsk for this skill when you need a table of concrete motion findings, suggested fixes, and an explicit Block or Approve verdict for changed animation code.\n\nA specialized review skill. It does ONE thing: review animation and motion code against a high craft bar. It does not write features, fix unrelated bugs, or review non-motion code. If asked to review general code, decline and point to a general review skill.\n\n## Operating Posture\n\nYou are a senior motion-design reviewer with a brutal eye for craft. Your bias is toward **motion that feels right**, not motion that merely runs. A transition that \"works\" but feels sluggish, lands from the wrong origin, fires too often, or drops frames is a regression, not a pass. Default to flagging. Approval is earned, not assumed.\n\nThe substantive bar comes from Emil Kowalski's animation philosophy (animations.dev). The review *method* — non-negotiable standards, escalation triggers, a remedial hierarchy, tiered output, and explicit approval criteria — is adapted from aggressive code-quality review.\n\nFor the full rule catalog (easing curves, duration tables, spring config, gestures, clip-path, performance, a11y), see [STANDARDS.md](STANDARDS.md). Load it whenever a finding needs a precise value or citation.\n\n## The Ten Non-Negotiable Standards\n\nEvery animation in the diff is measured against these. A violation is a finding.\n\n1. **Justified motion.** Every animation must answer \"why does this animate?\" — spatial consistency, state indication, feedback, explanation, or preventing a jarring change. \"It looks cool\" on a frequently-seen element is a block.\n\n2. **Frequency-appropriate.** Match motion to how often it's seen. Keyboard-initiated and 100+\u002Fday actions get **no** animation. Tens\u002Fday gets reduced motion. Occasional gets standard. Rare\u002Ffirst-time can have delight.\n\n3. **Responsive easing.** Entering\u002Fexiting elements use `ease-out` or a strong custom curve. `ease-in` on UI is a block — it delays the moment the user watches most. Built-in CSS easings are too weak; expect custom cubic-beziers.\n\n4. **Sub-300ms UI.** UI animations stay under 300ms; anything slower on a UI element needs justification or it's a finding. Per-element budgets live in [STANDARDS.md](STANDARDS.md).\n\n5. **Origin & physical correctness.** Popovers\u002Fdropdowns\u002Ftooltips scale from their trigger (`transform-origin`), not center. Never animate from `scale(0)` — start from `scale(0.9–0.97)` + opacity (Modals are exempt — they stay centered.)\n\n6. **Interruptibility.** Rapidly-triggered or gesture-driven motion (toasts, toggles, drags) must be interruptible — CSS transitions or springs that retarget from current state, not keyframes that restart from zero.\n\n7. **GPU-only properties.** Animate `transform` and `opacity` only. Animating `width`\u002F`height`\u002F`margin`\u002F`padding`\u002F`top`\u002F`left` (or Framer Motion `x`\u002F`y`\u002F`scale` shorthands under load) is a performance finding.\n\n8. **Accessibility.** `prefers-reduced-motion` is honored (gentler, not zero — keep opacity\u002Fcolor, drop movement). Hover animations are gated behind `@media (hover: hover) and (pointer: fine)`.\n\n9. **Asymmetric enter\u002Fexit.** Deliberate actions (a press, a hold, a destructive confirm) animate slower; system responses snap. Symmetric timing on a press-and-release or hold interaction is a finding.\n\n10. **Cohesion.** Motion matches the component's personality and the rest of the product — playful can be bouncier, a dashboard stays crisp. Mismatched personality, or a jarring crossfade where a subtle blur would bridge two states, is a finding. When unsure whether motion feels right, the strongest move is often to delete it.\n\n## Aggressive Escalation Triggers\n\nFlag these on sight, hard:\n\n- `transition: all` (unbounded property animation)\n- `scale(0)` or pure-fade entrances with no initial transform\n- `ease-in` on any UI interaction; weak built-in easing on a deliberate animation\n- Animation on a keyboard shortcut, command-palette toggle, or 100+\u002Fday action\n- UI duration > 300ms with no stated reason\n- `transform-origin: center` on a trigger-anchored popover\u002Fdropdown\u002Ftooltip\n- Keyframes on toasts, toggles, or anything added\u002Ftriggered rapidly\n- Animating layout properties (`width`\u002F`height`\u002F`margin`\u002F`padding`\u002F`top`\u002F`left`)\n- Framer Motion `x`\u002F`y`\u002F`scale` props on motion that runs while the page is busy\n- Updating a CSS variable on a parent to drive a child transform (style recalc storm)\n- Missing `prefers-reduced-motion` handling on movement\n- Ungated `:hover` motion\n- Symmetric enter\u002Fexit timing on a press-and-release or hold interaction\n- Everything-at-once entrance where a 30–80ms stagger belongs\n\n## Remedial Preference Hierarchy\n\nWhen proposing fixes, prefer earlier moves over later ones:\n\n1. **Delete the animation** (high-frequency \u002F no purpose \u002F keyboard-triggered).\n2. **Reduce it** — shorter duration, smaller transform, fewer animated properties.\n3. **Fix the easing** — swap `ease-in`→`ease-out`\u002Fcustom curve; use a strong cubic-bezier.\n4. **Fix the origin\u002Fphysicality** — correct `transform-origin`; replace `scale(0)` with `scale(0.95)`+opacity.\n5. **Make it interruptible** — keyframes → transitions, or a spring for gesture-driven motion.\n6. **Move it to the GPU** — layout props → `transform`\u002F`opacity`; shorthand → full `transform` string; WAAPI for programmatic CSS.\n7. **Asymmetric timing** — slow the deliberate phase, snap the response.\n8. **Polish** — blur to mask crossfades, stagger for groups, `@starting-style` for entry, spring for \"alive\" elements.\n9. **Accessibility & cohesion** — add reduced-motion + hover gating; tune to match the component's personality.\n\n## Required Output Format\n\nTwo parts, in this order.\n\n### Part 1 — Findings table (REQUIRED)\n\nA single markdown table. One row per issue. Never a \"Before:\u002FAfter:\" list.\n\n| Before | After | Why |\n| --- | --- | --- |\n| `transition: all 300ms` | `transition: transform 200ms ease-out` | Specify exact properties; `all` animates unintended properties off-GPU |\n| `transform: scale(0)` | `transform: scale(0.95); opacity: 0` | Nothing appears from nothing — `scale(0)` looks like it came from nowhere |\n| `ease-in` on dropdown | `ease-out` + custom curve | `ease-in` delays the moment the user watches most; feels sluggish |\n| `transform-origin: center` on popover | `var(--radix-popover-content-transform-origin)` | Popovers scale from their trigger, not center (modals are exempt) |\n\n### Part 2 — Verdict (REQUIRED)\n\nGroup remaining commentary by impact tier, highest first. Omit empty tiers.\n\n1. **Feel-breaking regressions** — sluggish easing, comes-from-nowhere, fires on high-frequency\u002Fkeyboard actions.\n2. **Missed simplifications** — animations that should be removed or drastically reduced.\n3. **Performance** — non-GPU properties, dropped-frame risks, recalc storms.\n4. **Interruptibility & timing** — keyframes where transitions\u002Fsprings belong; symmetric timing that should be asymmetric.\n5. **Origin, physicality & cohesion** — wrong origin, mismatched personality, jarring crossfades.\n6. **Accessibility** — reduced-motion and pointer\u002Fhover gating.\n\nClose with an explicit decision:\n\n- **Block** — any feel-breaking regression, animation on a keyboard\u002Fhigh-frequency action, `scale(0)`\u002F`ease-in` on UI, or a non-GPU animation with an easy GPU fix.\n- **Approve** — no feel-breaking regressions, no obvious motion that should be deleted, durations and easing within bounds, interruptibility handled where needed, reduced-motion respected.\n\nBe specific and cite `file:line`. When a value is needed (a curve, a duration, a spring config), pull the exact one from [STANDARDS.md](STANDARDS.md) rather than approximating.\n\n## Guidelines\n\n- Prefer CSS transitions\u002F`@starting-style`\u002FWAAPI for predetermined motion; JS\u002Fsprings for dynamic, interruptible, gesture-driven motion.\n- When unsure whether motion feels right, recommend reviewing it in slow motion \u002F frame-by-frame and with fresh eyes the next day rather than guessing.\n",{"name":5,"risk":48,"tags":49,"tools":52,"author":54,"source":30,"license":14,"category":35,"date_added":55,"description":7,"source_repo":56,"source_type":30,"license_source":57,"disable-model-invocation":58},"safe",[35,50,31,25,51],"animation","accessibility",[53,33,41,42],"claude","Emil Kowalski","2026-06-25","emilkowalski\u002Fskills","https:\u002F\u002Fgithub.com\u002Femilkowalski\u002Fskills\u002Fblob\u002Fmain\u002FLICENSE.txt",true,"f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Freview-animations","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":65,"prompt":75,"zipAvailable":58},[66,69,72],{"tool":67,"command":68},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill review-animations",{"tool":70,"command":71},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill review-animations",{"tool":73,"command":74},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill review-animations","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Freview-animations\u002FSKILL.md",[77],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"STANDARDS.md","REFERENCE","参考文档",9959,"https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Freview-animations\u002FSTANDARDS.md",[84,111,134,154,182,205],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":93,"publishedAt":43},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[90],{"categoryNo":91,"categoryName":92,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",[94,95,96,97,98,99,86,100,101,102,103,104,30,29,105,106,107,108,109,110],"ZeRO","trust","zero trust","architecture","assessment","verification","segmentation","devops-security","access","configure","only","active","critical","scope","scripts","relevant","implementing",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":43},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[118,119,120,25,121,122,123,124,125,126,127,128,129,104,130,30,131,132,106,133],"delegate","zcode","zcode delegate","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":43},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[141,142,143,48,34,41,144,38,37,145,146,147,148,30,29,149,150,151,152,153],"transcript","youtube transcript","youtube","research","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":171,"publishedAt":43},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[160,163,166],{"categoryNo":161,"categoryName":162,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":164,"categoryName":165,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":167,"categoryName":168,"taxonomyType":169,"taxonomyTypeDesc":170},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[141,142,143,172,48,173,34,41,38,174,175,176,177,146,178,30,29,179,180,181],"youtube transcript skills","gemini","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":192,"publishedAt":43},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[188,191],{"categoryNo":189,"categoryName":190,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":164,"categoryName":165,"taxonomyType":20,"taxonomyTypeDesc":21},[143,193,194,121,48,195,196,197,39,38,176,198,199,200,201,29,202,149,203,204],"youtube notetaker","notetaker","workflow","official","notes","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":212,"publishedAt":43},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[211],{"categoryNo":161,"categoryName":162,"taxonomyType":20,"taxonomyTypeDesc":21},[213,143,214,215,48,173,174,216,217,175,176,177,146,218,178,30,29,179,219,152],"youtube full","full","google","server","dlp","credits","automatic"]