[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HR3RVD2EMH9RSP5V2CES88":3,"skill-same:01M6HR3RVD2EMH9RSP5V2CES88":80},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":19,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":5,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M6HR3RVD2EMH9RSP5V2CES88","animate",null,"Build, review, or plan purposeful web UI motion: transitions, easing, springs, choreography, staggers, view swaps, and motion audits. Use gestures for direct manipulation; not video or native apps.","malinskibeniamin\u002Fskills","malinskibeniamin","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9860550?v=4","01M6HR395Z9MM67BCKMW1WKTJS","Beniamin Malinski","01M6HR39AP95WH9NHANQ91FAJ0",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fanimate\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fanimate\u002FSKILL.md",[],[5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"Production","direct","swaps","ui motion","choreography","view","review","web ui","native apps","ui","apps","use","motion","video production","for","build","native","transitions","web","springs","gestures","plan","Animation","Video","2026-11-10 10:12:30",false,"---\nname: animate\ndescription: \"Build, review, or plan purposeful web UI motion: transitions, easing, springs, choreography, staggers, view swaps, and motion audits. Use gestures for direct manipulation; not video or native apps.\"\n---\n\nChoose motion that explains a state change without delaying the user's task.\nAdapted from Emil Kowalski; [source and selection](..\u002Fshared\u002FEMIL-SKILLS-CREDITS.md).\nRecorded product walkthroughs use the [demo recording stack](..\u002Fdemo\u002FRECORDING.md),\nnot UI animation. `\u002Fdemo` remains user-invoked; this pointer grants no publication scope.\n\n## Endpoint\n\n- Build\u002Ffix: implement the requested motion through the project's TDD and delivery gates.\n- Review: report evidenced defects; leave source unchanged.\n- Audit\u002Fplan\u002Fopportunities: rank improvements or justified additions; leave source unchanged.\n  Save plans only when requested. Do not turn an audit into an execution wave.\n\n## Choose the motion lane\n\nUse the symptom, not the word \"slow\", to select the next step. Inspect the interaction\nbefore prescribing removal, shorter durations or a performance fix.\n\n| Request \u002F observed symptom | Local owner |\n|---|---|\n| \"The app feels slow\" because motion makes people wait | [remove-animations](..\u002Fremove-animations\u002FSKILL.md) for subtraction; this skill for retained motion's timing |\n| \"The sidebar is janky\" \u002F frames visibly stutter | [animation-performance](..\u002Fanimation-performance\u002FSKILL.md): capture a trace before optimizing |\n| \"The drawer jumps when I let go\" \u002F a flick ignores direction | [gestures](..\u002Fgestures\u002FSKILL.md): tracking, release and interruption |\n| \"The two views fight while the card resizes\" | This skill's [choreography](REFERENCE.md#choreography), not another command |\n| \"Survey the app and plan motion fixes\" | [improve-animations](..\u002Fimprove-animations\u002FSKILL.md); audit\u002Fplan stays read-only |\n| \"What should and shouldn't animate here?\" \u002F \"review this popover\" | This skill's review\u002Fopportunity mode below; findings, not implementation |\n| \"What's it called when a popover grows from its button?\" | [animation-vocabulary](..\u002Fanimation-vocabulary\u002FSKILL.md); naming alone authorizes no build |\n\n## Decision sequence\n\n1. Inspect the component, existing motion tokens, installed library\u002Fversion, input paths,\n   and product context. Use the existing UI primitives before inventing a component.\n2. Name the purpose: feedback, spatial continuity, state indication, explanation,\n   or rare delight. Repeated navigation, command palettes, and data-reading surfaces\n   favor instant changes. Frequency is a heuristic, not an invented daily-use metric.\n   Keyboard users get equivalent feedback without a waiting period.\n3. Choose the cheapest faithful driver: CSS transitions for state changes;\n   `@starting-style` for supported entry transitions; WAAPI for imperative control;\n   an installed spring\u002Fmotion library for gestures, layout, or exit lifecycles.\n   Read installed types and current official docs before using library-specific APIs.\n   For drag\u002Fswipe\u002Fsheet physics, load [gestures](..\u002Fgestures\u002FSKILL.md); it owns tracking,\n   release velocity, resistance, scroll arbitration and re-grab continuity.\n4. Prefer explicit `transform`\u002F`opacity` transitions. Retarget from the current value;\n   preserve exit state until completion and handle interruption\u002Funmount cleanup.\n   Scale anchored surfaces from their trigger; keep centered dialogs centered.\n5. Reuse tokens. For new tokens and component-specific starting points, read\n   [REFERENCE.md](REFERENCE.md); profile instead of assuming hardware acceleration.\n   For surface\u002Ficon motion recipes, read [interface compatibility](..\u002Fshared\u002FINTERFACES.md#better-ui),\n   then [better-ui](..\u002Fjakubkrehel-skills\u002Fbetter-ui\u002FSKILL.md); its fixed values never override project tokens or instant feedback.\n6. Respect reduced motion, hover capability, focus, and cancellation from the start.\n   Remove non-essential movement; instant state changes are valid. Keep essential\n   meaning available without animation. Gate hover with `(hover: hover) and (pointer: fine)`.\n7. Exercise enter\u002Fexit, rapid reversal, repeated activation, keyboard, reduced motion,\n   and touch paths at the real entrypoint. Record what was observed and what needs a device.\n\nFor multiple elements responding to one event, read\n[choreography](REFERENCE.md#choreography): choose what stays still, run related parts\ntogether, and sequence only meaningful dependencies. Keep interaction immediate;\nprevent stale async continuations from restarting a canceled sequence.\n\n## Review and planning\n\nFor subtraction-only cleanup, load [remove-animations](..\u002Fremove-animations\u002FSKILL.md).\nFor a codebase-wide audit or prioritized roadmap, load\n[improve-animations](..\u002Fimprove-animations\u002FSKILL.md); this skill remains the craft owner.\n\nReview purpose\u002Ffrequency, easing\u002Ftiming, origin, interruption, frame cost, accessibility,\nand cohesion. Cite `file:line` plus visible or trace evidence; distinguish craft suggestions\nfrom reproducible defects. Existing deliberate tradeoffs are context, not automatic findings.\nDescribe a finding as observed behavior -> proposed behavior -> why it helps. Compare the\nsame state\u002Finput at normal speed; a source demo is a reference, not proof of this app's result.\n\nFor opportunity searches, show the eligible location, purpose, expected frequency,\nrecipe, and rejected candidates. No surviving opportunity is a valid result.\nFor a roadmap, rank confirmed findings by user impact and effort; include exact target\nvalues, existing tokens, scope, rollback, and a real feel-check in each requested plan.\n\nReport the decision, ingredients, verification, and limits briefly. A code-only review\ncannot approve perceived feel or claim measured smoothness. For measured frame problems,\nload [animation-performance](..\u002Fanimation-performance\u002FSKILL.md); for general visual critique,\nload [visual-review](..\u002Fvisual-review\u002FSKILL.md) per the\n[dependency-loading contract](..\u002Fwriting-for-agents\u002FSKILL-MECHANICS.md#loading-dependencies).\n","Choose motion that explains a state change without delaying the user's task.\nAdapted from Emil Kowalski; [source and selection](..\u002Fshared\u002FEMIL-SKILLS-CREDITS.md).\nRecorded product walkthroughs use the [demo recording stack](..\u002Fdemo\u002FRECORDING.md),\nnot UI animation. `\u002Fdemo` remains user-invoked; this pointer grants no publication scope.\n\n## Endpoint\n\n- Build\u002Ffix: implement the requested motion through the project's TDD and delivery gates.\n- Review: report evidenced defects; leave source unchanged.\n- Audit\u002Fplan\u002Fopportunities: rank improvements or justified additions; leave source unchanged.\n  Save plans only when requested. Do not turn an audit into an execution wave.\n\n## Choose the motion lane\n\nUse the symptom, not the word \"slow\", to select the next step. Inspect the interaction\nbefore prescribing removal, shorter durations or a performance fix.\n\n| Request \u002F observed symptom | Local owner |\n|---|---|\n| \"The app feels slow\" because motion makes people wait | [remove-animations](..\u002Fremove-animations\u002FSKILL.md) for subtraction; this skill for retained motion's timing |\n| \"The sidebar is janky\" \u002F frames visibly stutter | [animation-performance](..\u002Fanimation-performance\u002FSKILL.md): capture a trace before optimizing |\n| \"The drawer jumps when I let go\" \u002F a flick ignores direction | [gestures](..\u002Fgestures\u002FSKILL.md): tracking, release and interruption |\n| \"The two views fight while the card resizes\" | This skill's [choreography](REFERENCE.md#choreography), not another command |\n| \"Survey the app and plan motion fixes\" | [improve-animations](..\u002Fimprove-animations\u002FSKILL.md); audit\u002Fplan stays read-only |\n| \"What should and shouldn't animate here?\" \u002F \"review this popover\" | This skill's review\u002Fopportunity mode below; findings, not implementation |\n| \"What's it called when a popover grows from its button?\" | [animation-vocabulary](..\u002Fanimation-vocabulary\u002FSKILL.md); naming alone authorizes no build |\n\n## Decision sequence\n\n1. Inspect the component, existing motion tokens, installed library\u002Fversion, input paths,\n   and product context. Use the existing UI primitives before inventing a component.\n2. Name the purpose: feedback, spatial continuity, state indication, explanation,\n   or rare delight. Repeated navigation, command palettes, and data-reading surfaces\n   favor instant changes. Frequency is a heuristic, not an invented daily-use metric.\n   Keyboard users get equivalent feedback without a waiting period.\n3. Choose the cheapest faithful driver: CSS transitions for state changes;\n   `@starting-style` for supported entry transitions; WAAPI for imperative control;\n   an installed spring\u002Fmotion library for gestures, layout, or exit lifecycles.\n   Read installed types and current official docs before using library-specific APIs.\n   For drag\u002Fswipe\u002Fsheet physics, load [gestures](..\u002Fgestures\u002FSKILL.md); it owns tracking,\n   release velocity, resistance, scroll arbitration and re-grab continuity.\n4. Prefer explicit `transform`\u002F`opacity` transitions. Retarget from the current value;\n   preserve exit state until completion and handle interruption\u002Funmount cleanup.\n   Scale anchored surfaces from their trigger; keep centered dialogs centered.\n5. Reuse tokens. For new tokens and component-specific starting points, read\n   [REFERENCE.md](REFERENCE.md); profile instead of assuming hardware acceleration.\n   For surface\u002Ficon motion recipes, read [interface compatibility](..\u002Fshared\u002FINTERFACES.md#better-ui),\n   then [better-ui](..\u002Fjakubkrehel-skills\u002Fbetter-ui\u002FSKILL.md); its fixed values never override project tokens or instant feedback.\n6. Respect reduced motion, hover capability, focus, and cancellation from the start.\n   Remove non-essential movement; instant state changes are valid. Keep essential\n   meaning available without animation. Gate hover with `(hover: hover) and (pointer: fine)`.\n7. Exercise enter\u002Fexit, rapid reversal, repeated activation, keyboard, reduced motion,\n   and touch paths at the real entrypoint. Record what was observed and what needs a device.\n\nFor multiple elements responding to one event, read\n[choreography](REFERENCE.md#choreography): choose what stays still, run related parts\ntogether, and sequence only meaningful dependencies. Keep interaction immediate;\nprevent stale async continuations from restarting a canceled sequence.\n\n## Review and planning\n\nFor subtraction-only cleanup, load [remove-animations](..\u002Fremove-animations\u002FSKILL.md).\nFor a codebase-wide audit or prioritized roadmap, load\n[improve-animations](..\u002Fimprove-animations\u002FSKILL.md); this skill remains the craft owner.\n\nReview purpose\u002Ffrequency, easing\u002Ftiming, origin, interruption, frame cost, accessibility,\nand cohesion. Cite `file:line` plus visible or trace evidence; distinguish craft suggestions\nfrom reproducible defects. Existing deliberate tradeoffs are context, not automatic findings.\nDescribe a finding as observed behavior -> proposed behavior -> why it helps. Compare the\nsame state\u002Finput at normal speed; a source demo is a reference, not proof of this app's result.\n\nFor opportunity searches, show the eligible location, purpose, expected frequency,\nrecipe, and rejected candidates. No surviving opportunity is a valid result.\nFor a roadmap, rank confirmed findings by user impact and effort; include exact target\nvalues, existing tokens, scope, rollback, and a real feel-check in each requested plan.\n\nReport the decision, ingredients, verification, and limits briefly. A code-only review\ncannot approve perceived feel or claim measured smoothness. For measured frame problems,\nload [animation-performance](..\u002Fanimation-performance\u002FSKILL.md); for general visual critique,\nload [visual-review](..\u002Fvisual-review\u002FSKILL.md) per the\n[dependency-loading contract](..\u002Fwriting-for-agents\u002FSKILL-MECHANICS.md#loading-dependencies).\n",{"name":5,"description":7},"main","33ce54f34e30fc6576782912ce0d571729558427",1,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin","Software Engineer ","2026-11-14 18:47:37",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add malinskibeniamin\u002Fskills --skill animate",{"tool":62,"command":63},"bunx","bunx skills add malinskibeniamin\u002Fskills --skill animate",{"tool":65,"command":66},"pnpm","pnpm dlx skills add malinskibeniamin\u002Fskills --skill animate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fanimate\u002FSKILL.md",true,[70,74],{"path":71,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":16},"LICENSE","许可证",1070,{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"REFERENCE.md","REFERENCE","参考文档",8083,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fanimate\u002FREFERENCE.md",[81,100,118,123,128,147],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":44},"01M70WY35N42VJT16W9MA8CCGX","hill-climb","Optimize a defined outcome through bounded evaluation loops. Use for hill-climb requests or repeated improvement against an executable eval, benchmark, or visual comparison; not a one-pass review.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fhill-climb\u002FSKILL.md",[],[88,89,90,26,91,92,31,93,94,95,96,34,97,98,99],"hill climb","bounded","improvement","visual","comparison","eval","benchmark","Evaluation","outcome","requests","optimize","loops",{"skillNo":101,"name":40,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":103,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":44},"01M70WXTA2JQ9SN3QZPHHCYB90","Build or fix web drag, swipe, sheet, reorder, and hold interactions: direct tracking, rubber banding, release velocity, momentum, snap points, and interruption. Not native React Native or Swift.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgestures\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fgestures\u002FSKILL.md",[],[40,35,36,107,38,108,109,110,111,112,113,114,21,115,116,117],"velocity","drag","react native","snap","release","swift","react","swipe","tracking","fix","sheet",{"skillNo":119,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":44},"01M70WKSB2PTJGVH7C9XC1FEED","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fhill-climb\u002FSKILL.md",[],[88,34,89,26,91,92,31,93,94,96,95,90,98,99,97],{"skillNo":124,"name":40,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":44},"01M70WKGYKGN1J786GK8N3RGH1","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fgestures\u002FSKILL.md",[],[40,111,112,113,114,21,115,116,117,35,36,107,38,108,109,110],{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":132,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":44},"01M6HS2326AZFPF8G9C2KW4AT0","improve-animations","Audit existing web UI motion and prioritize concrete improvements or self-contained implementation plans. Use for a motion roadmap; animate owns implementation and diff review.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimprove-animations\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fimprove-animations\u002FSKILL.md",[],[136,137,34,29,138,139,31,5,32,140,141,142,143,27,144,145,38,146,23,26],"improve animations","improve","roadmap","Existing","implementation","plans","diff review","prioritize","audit","diff","self",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":151,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":44},"01M6HS0AADDXBB0S8B42R0G82K","effect-ts","Use when setting up a repository that uses the Effect TypeScript library.","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Feffect-ts\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Feffect-ts\u002FSKILL.md",[],[155,156,157,31,158,159,160],"effect ts","effect","library","typescript","up","repository"]