[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HSDKMEJTCX6TDF0FDM00J4":3,"skill-same:01M6HSDKMEJTCX6TDF0FDM00J4":67},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":5,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6HSDKMEJTCX6TDF0FDM00J4","remove-animations",null,"Remove or reduce unnecessary web UI motion: repeated reveals, decorative loops, delayed keyboard actions and reanimated data. Subtraction only; use animate for retained motion.","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\u002Fremove-animations\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fremove-animations\u002FSKILL.md",[],[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"animations","remove animations","remove","ui motion","reduce","for","web ui","loops","keyboard","motion","web","only","use","animate","data","actions","ui","2026-11-10 10:12:30",false,"---\nname: remove-animations\ndescription: \"Remove or reduce unnecessary web UI motion: repeated reveals, decorative loops, delayed keyboard actions and reanimated data. Subtraction only; use animate for retained motion.\"\n---\n\nSubtract motion that delays the task without explaining a meaningful change.\nAdapted from Emil Kowalski; [source and compatibility](..\u002Fshared\u002FEMIL-SKILLS-CREDITS.md).\nAn audit or question returns findings without edits; a removal request implements\nthrough the project's TDD and delivery gates. Loading grants no broader authority.\n\n## Removal loop\n\n1. Map motion in the requested scope: component, trigger, driver, properties, tokens,\n   purpose and observed or expected frequency. Respect documented design decisions.\n   Treat frequency as a heuristic, not invented daily-use analytics.\n2. Keep motion that conveys feedback, spatial continuity, state or explanation.\n   Consider rare delight in context. Prioritize removing repeated scroll reveals,\n   decorative loops, chart redraws\u002Fcount-ups on every mount, list staggers and waiting\n   periods on keyboard or frequent navigation. Preserve equivalent keyboard feedback,\n   loading indicators and essential status meaning; instant state changes are valid.\n3. Choose delete, reduce or keep, with `file:line` and the deciding reason. Reduce only\n   the existing effect: drop spatial movement or stagger, shorten excessive delay,\n   or stop a decorative loop. Reuse existing tokens; add no new animation or easing.\n   Tooltip groups should not repeat the initial delay as the pointer moves between them.\n4. Before editing, trace hidden initial states, fill modes, observers, animation-end\n   callbacks, duration-sized timers, exit\u002Funmount lifecycles and deferred focus.\n   Remove hidden starts with reveals. Move completion\u002Ffocus work to the actual state\n   change, exactly once, rather than leaving a wait for a deleted event.\n   If layout motion masks a jump, retain it and report the underlying layout problem.\n5. Delete only proven orphans: keyframes, variants, motion imports, wrappers and tokens.\n   Retain any wrapper with other behavior. Dependency removal is outside this motion-only\n   cleanup; report unused libraries without changing the manifest or lockfile.\n6. Verify visible content, immediate close\u002Funmount, focus restoration, keyboard\u002Ftouch,\n   rapid reversal and reduced motion at the real entrypoint. Run focused tests and\n   repository checks; confirm removed names have no remaining references.\n\n## Handoff\n\nReport changed locations with before -> verdict -> reason, deliberately kept motion\nwith its purpose, orphan cleanup and verification limits. Do not invent kept examples\nto fill a quota or claim perceived speed\u002Fframe-rate gains from code inspection.\n\nFor retained motion needing craft fixes, load [animate](..\u002Fanimate\u002FSKILL.md); for a\nprioritized audit or roadmap, load [improve-animations](..\u002Fimprove-animations\u002FSKILL.md).\nFor measured jank, load [animation-performance](..\u002Fanimation-performance\u002FSKILL.md).\nUse the [dependency-loading contract](..\u002Fwriting-for-agents\u002FSKILL-MECHANICS.md#loading-dependencies).\n","Subtract motion that delays the task without explaining a meaningful change.\nAdapted from Emil Kowalski; [source and compatibility](..\u002Fshared\u002FEMIL-SKILLS-CREDITS.md).\nAn audit or question returns findings without edits; a removal request implements\nthrough the project's TDD and delivery gates. Loading grants no broader authority.\n\n## Removal loop\n\n1. Map motion in the requested scope: component, trigger, driver, properties, tokens,\n   purpose and observed or expected frequency. Respect documented design decisions.\n   Treat frequency as a heuristic, not invented daily-use analytics.\n2. Keep motion that conveys feedback, spatial continuity, state or explanation.\n   Consider rare delight in context. Prioritize removing repeated scroll reveals,\n   decorative loops, chart redraws\u002Fcount-ups on every mount, list staggers and waiting\n   periods on keyboard or frequent navigation. Preserve equivalent keyboard feedback,\n   loading indicators and essential status meaning; instant state changes are valid.\n3. Choose delete, reduce or keep, with `file:line` and the deciding reason. Reduce only\n   the existing effect: drop spatial movement or stagger, shorten excessive delay,\n   or stop a decorative loop. Reuse existing tokens; add no new animation or easing.\n   Tooltip groups should not repeat the initial delay as the pointer moves between them.\n4. Before editing, trace hidden initial states, fill modes, observers, animation-end\n   callbacks, duration-sized timers, exit\u002Funmount lifecycles and deferred focus.\n   Remove hidden starts with reveals. Move completion\u002Ffocus work to the actual state\n   change, exactly once, rather than leaving a wait for a deleted event.\n   If layout motion masks a jump, retain it and report the underlying layout problem.\n5. Delete only proven orphans: keyframes, variants, motion imports, wrappers and tokens.\n   Retain any wrapper with other behavior. Dependency removal is outside this motion-only\n   cleanup; report unused libraries without changing the manifest or lockfile.\n6. Verify visible content, immediate close\u002Funmount, focus restoration, keyboard\u002Ftouch,\n   rapid reversal and reduced motion at the real entrypoint. Run focused tests and\n   repository checks; confirm removed names have no remaining references.\n\n## Handoff\n\nReport changed locations with before -> verdict -> reason, deliberately kept motion\nwith its purpose, orphan cleanup and verification limits. Do not invent kept examples\nto fill a quota or claim perceived speed\u002Fframe-rate gains from code inspection.\n\nFor retained motion needing craft fixes, load [animate](..\u002Fanimate\u002FSKILL.md); for a\nprioritized audit or roadmap, load [improve-animations](..\u002Fimprove-animations\u002FSKILL.md).\nFor measured jank, load [animation-performance](..\u002Fanimation-performance\u002FSKILL.md).\nUse the [dependency-loading contract](..\u002Fwriting-for-agents\u002FSKILL-MECHANICS.md#loading-dependencies).\n",{"name":5,"description":7},"main","7ff748aa4575e7e65de115ca97b7848b195b79a6",1,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin","Software Engineer ","2026-11-12 04:21:00",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add malinskibeniamin\u002Fskills --skill remove-animations",{"tool":55,"command":56},"bunx","bunx skills add malinskibeniamin\u002Fskills --skill remove-animations",{"tool":58,"command":59},"pnpm","pnpm dlx skills add malinskibeniamin\u002Fskills --skill remove-animations","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fremove-animations\u002FSKILL.md",true,[63],{"path":64,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":16},"LICENSE","许可证",1070,[68,87,109,114,119,138],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":37},"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",[],[75,76,77,78,79,80,32,81,82,83,84,25,85,86,27],"hill climb","bounded","improvement","review","visual","comparison","eval","benchmark","Evaluation","outcome","requests","optimize",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":91,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":37},"01M70WXTA2JQ9SN3QZPHHCYB90","gestures","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",[],[89,95,96,97,30,98,99,100,101,102,103,104,105,106,107,108],"build","native","velocity","drag","react native","snap","release","swift","react","swipe","direct","tracking","fix","sheet",{"skillNo":110,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":37},"01M70WKSB2PTJGVH7C9XC1FEED","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fhill-climb\u002FSKILL.md",[],[75,25,76,78,79,80,32,81,82,84,83,77,86,27,85],{"skillNo":115,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":37},"01M70WKGYKGN1J786GK8N3RGH1","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fgestures\u002FSKILL.md",[],[89,101,102,103,104,105,106,107,108,95,96,97,30,98,99,100],{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":123,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":37},"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",[],[127,128,25,36,129,130,32,33,29,131,132,133,134,26,135,136,30,137,23,78],"improve animations","improve","roadmap","Existing","implementation","plans","diff review","prioritize","audit","diff","self",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":142,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":37},"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",[],[146,147,148,32,149,150,151],"effect ts","effect","library","typescript","up","repository"]