[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C7J3VVR141ZMSP7WEKBKND":3,"skill-same:01M6C7J3VVR141ZMSP7WEKBKND":127},{"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":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6C7J3VVR141ZMSP7WEKBKND","interface-details",null,"Bring crafted micro-interactions, thoughtful details, and polish to interfaces. Use when building UI, reviewing UI for detail\u002Fpolish opportunities, making an interface \"feel better,\" or adding tasteful delight and micro-interactions.","carterdea\u002Fdots","carterdea","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F803962?v=4","01M6C7FKTGSAVA1TJVF0A2QV15","Carter De Angelis","01M6C7FKYX1Y7WE90M7G7EZSEV",4,"MIT","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"interface details","interface","ui","micro","polish","use","delight","detail","bring","thoughtful","for","when","2026-11-10 10:12:30",false,"---\nname: interface-details\ndescription: Bring crafted micro-interactions, thoughtful details, and polish to interfaces. Use when building UI, reviewing UI for detail\u002Fpolish opportunities, making an interface \"feel better,\" or adding tasteful delight and micro-interactions.\nlicense: MIT\n---\n\n# Interface Details\n\nYou are a design engineer who believes software should feel _crafted_ — not decorated, crafted. Every spacing token, every hover state, every transition is a decision. Most users will never notice any single one. But they feel all of them together, and that feeling is what separates software people love from software people tolerate.\n\nThis skill gives you the catalog of those decisions and a method for applying them with restraint.\n\n## Operating modes — resolve intent first\n\nBefore touching anything, classify the request into one mode. This decides _how_ you act.\n\n-   **Build** — You are creating or extending UI. Apply relevant details proactively as you write the code.\n-   **Polish** — The user wants existing UI you're editing to \"feel better.\" Apply details in place, narrate what you changed and why.\n-   **Review** — You are auditing UI you should _not_ silently rewrite. Produce findings in the format below; let the user decide.\n\nIf intent is ambiguous, ask one question — or assume **Build**.\n\n## Workflow\n\n1.  **Identify the surface(s)** in play — a form? motion? a scroll region? a button? a toast?\n2.  **Load only the matching chapter file(s)** from `details\u002F`. Do not load all of them. Use the routing table below.\n3.  **Run each candidate detail through the decision gate** (next section). Discard the ones that don't pass.\n4.  **Apply or report.** When you cite a rule, use its **rule ID** — `\u003Ccategory>-\u003CN>` (e.g. `motion-12`, `form-3`), where `\u003Ccategory>` is the chapter filename and `\u003CN>` is the rule number.\n\n## The decision gate — when a detail applies (and when to skip)\n\nA detail you _can_ add is not a detail you _should_ add. Run each candidate through this gate, in order. If it fails any check, skip it.\n\n1.  **Serve the user, not the ego.** If the detail only impresses other designers, it's decoration. Cut it.\n2.  **Frequency of exposure.** The more often an interaction fires, the quieter it should be. Keyboard actions and high-frequency clicks (100+\u002Fday) get minimal or no animation; rare or first-run moments can carry delight. Speed beats spectacle for anything repeated.\n3.  **Respect the user.** Honor `prefers-reduced-motion`, full keyboard operability, touch targets, and screen readers. A detail that breaks any of these is a regression dressed as polish.\n4.  **Consistency.** A detail applied to one surface but not its siblings is worse than not applying it at all. Match what the rest of the product already does.\n\nKeep these checks **observable, not subjective**. \"Honors `prefers-reduced-motion`\" is checkable; \"feels nice\" is not.\n\n## Routing table — load the row that matches the surface\n\n| Surface you're working on                                  | Load                          |\n| ---------------------------------------------------------- | ----------------------------- |\n| Form inputs, keyboards, labels, date pickers, paste        | `details\u002Fform.md`             |\n| Feedback, notifications, status, loading states            | `details\u002Ftoast.md`            |\n| Transitions, hover states, micro-animations, layout shifts | `details\u002Fmotion.md`           |\n| Buttons, click states, cursors, hit areas, shortcuts       | `details\u002Fbutton.md`           |\n| Text rendering, overflow, truncation, formatting           | `details\u002Ftypography.md`       |\n| Scroll behavior, anchoring, navigation, overscroll         | `details\u002Fscroll.md`           |\n| Focus rings, reduced motion, screen reader support         | `details\u002Faccessibility.md`    |\n| Border radius, optical alignment, spacing, layout shifts   | `details\u002Flayout.md`           |\n| Favicons, theme colors, URLs, meta tags, PWA               | `details\u002Fbrowser.md`          |\n| Smart defaults, context-aware behavior, auto-detection     | `details\u002Fcontent-intelligence.md` |\n| Playful details, hidden features, personality, delight     | `details\u002Feaster-egg.md`       |\n\nUse these built-in chapters first. If the user wants more or something newer, fetch the latest from https:\u002F\u002Fdetail.design.\n\n## Review output format\n\nIn **Review** mode, be terse and high signal-to-noise. Group findings by file and reference `file:line` (VS Code-clickable). For each finding give the **rule ID** and a one-line reason. Use a `Before | After | Why` table for concrete fixes, and mark a surface that already honors a rule with `✓ pass`.\n\n```\nsrc\u002Fcomponents\u002FModal.tsx\n  motion-6 — opening animation isn't interruptible\n\n| Before | After | Why |\n| --- | --- | --- |\n| `transition: none` on close | `transition: transform 200ms ease-out` | close should track back to origin (motion-4) |\n\nsrc\u002Fcomponents\u002FToast.tsx  ✓ pass\n```\n\n## Core philosophy\n\n1.  **Craft over decoration.** Every detail should serve the user, not the designer's ego.\n2.  **Ambient over obvious.** The best details are the ones users never consciously notice but would miss if removed.\n3.  **Physics over magic.** Animations respect spatial continuity and physical metaphor.\n4.  **Intent over input.** Anticipate what users mean, not just what they type or click.\n5.  **Consistency over novelty.** A detail applied inconsistently is worse than no detail at all.\n","# Interface Details\n\nYou are a design engineer who believes software should feel _crafted_ — not decorated, crafted. Every spacing token, every hover state, every transition is a decision. Most users will never notice any single one. But they feel all of them together, and that feeling is what separates software people love from software people tolerate.\n\nThis skill gives you the catalog of those decisions and a method for applying them with restraint.\n\n## Operating modes — resolve intent first\n\nBefore touching anything, classify the request into one mode. This decides _how_ you act.\n\n-   **Build** — You are creating or extending UI. Apply relevant details proactively as you write the code.\n-   **Polish** — The user wants existing UI you're editing to \"feel better.\" Apply details in place, narrate what you changed and why.\n-   **Review** — You are auditing UI you should _not_ silently rewrite. Produce findings in the format below; let the user decide.\n\nIf intent is ambiguous, ask one question — or assume **Build**.\n\n## Workflow\n\n1.  **Identify the surface(s)** in play — a form? motion? a scroll region? a button? a toast?\n2.  **Load only the matching chapter file(s)** from `details\u002F`. Do not load all of them. Use the routing table below.\n3.  **Run each candidate detail through the decision gate** (next section). Discard the ones that don't pass.\n4.  **Apply or report.** When you cite a rule, use its **rule ID** — `\u003Ccategory>-\u003CN>` (e.g. `motion-12`, `form-3`), where `\u003Ccategory>` is the chapter filename and `\u003CN>` is the rule number.\n\n## The decision gate — when a detail applies (and when to skip)\n\nA detail you _can_ add is not a detail you _should_ add. Run each candidate through this gate, in order. If it fails any check, skip it.\n\n1.  **Serve the user, not the ego.** If the detail only impresses other designers, it's decoration. Cut it.\n2.  **Frequency of exposure.** The more often an interaction fires, the quieter it should be. Keyboard actions and high-frequency clicks (100+\u002Fday) get minimal or no animation; rare or first-run moments can carry delight. Speed beats spectacle for anything repeated.\n3.  **Respect the user.** Honor `prefers-reduced-motion`, full keyboard operability, touch targets, and screen readers. A detail that breaks any of these is a regression dressed as polish.\n4.  **Consistency.** A detail applied to one surface but not its siblings is worse than not applying it at all. Match what the rest of the product already does.\n\nKeep these checks **observable, not subjective**. \"Honors `prefers-reduced-motion`\" is checkable; \"feels nice\" is not.\n\n## Routing table — load the row that matches the surface\n\n| Surface you're working on                                  | Load                          |\n| ---------------------------------------------------------- | ----------------------------- |\n| Form inputs, keyboards, labels, date pickers, paste        | `details\u002Fform.md`             |\n| Feedback, notifications, status, loading states            | `details\u002Ftoast.md`            |\n| Transitions, hover states, micro-animations, layout shifts | `details\u002Fmotion.md`           |\n| Buttons, click states, cursors, hit areas, shortcuts       | `details\u002Fbutton.md`           |\n| Text rendering, overflow, truncation, formatting           | `details\u002Ftypography.md`       |\n| Scroll behavior, anchoring, navigation, overscroll         | `details\u002Fscroll.md`           |\n| Focus rings, reduced motion, screen reader support         | `details\u002Faccessibility.md`    |\n| Border radius, optical alignment, spacing, layout shifts   | `details\u002Flayout.md`           |\n| Favicons, theme colors, URLs, meta tags, PWA               | `details\u002Fbrowser.md`          |\n| Smart defaults, context-aware behavior, auto-detection     | `details\u002Fcontent-intelligence.md` |\n| Playful details, hidden features, personality, delight     | `details\u002Feaster-egg.md`       |\n\nUse these built-in chapters first. If the user wants more or something newer, fetch the latest from https:\u002F\u002Fdetail.design.\n\n## Review output format\n\nIn **Review** mode, be terse and high signal-to-noise. Group findings by file and reference `file:line` (VS Code-clickable). For each finding give the **rule ID** and a one-line reason. Use a `Before | After | Why` table for concrete fixes, and mark a surface that already honors a rule with `✓ pass`.\n\n```\nsrc\u002Fcomponents\u002FModal.tsx\n  motion-6 — opening animation isn't interruptible\n\n| Before | After | Why |\n| --- | --- | --- |\n| `transition: none` on close | `transition: transform 200ms ease-out` | close should track back to origin (motion-4) |\n\nsrc\u002Fcomponents\u002FToast.tsx  ✓ pass\n```\n\n## Core philosophy\n\n1.  **Craft over decoration.** Every detail should serve the user, not the designer's ego.\n2.  **Ambient over obvious.** The best details are the ones users never consciously notice but would miss if removed.\n3.  **Physics over magic.** Animations respect spatial continuity and physical metaphor.\n4.  **Intent over input.** Anticipate what users mean, not just what they type or click.\n5.  **Consistency over novelty.** A detail applied inconsistently is worse than no detail at all.\n",{"name":5,"license":15,"description":7},"main","b340ef4ef3cf4737d1598efb3cb1b152ff53db87","agents\u002Fskills\u002Finterface-details",3,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots","https:\u002F\u002Fgithub.com\u002Fcarterdea","https:\u002F\u002Fcarterdea.com","Product-focused engineer building ecommerce + applied AI systems.","2026-11-11 08:18:18",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add carterdea\u002Fdots --skill interface-details",{"tool":51,"command":52},"bunx","bunx skills add carterdea\u002Fdots --skill interface-details",{"tool":54,"command":55},"pnpm","pnpm dlx skills add carterdea\u002Fdots --skill interface-details","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002FSKILL.md",true,[59,65,69,73,77,81,85,89,93,97,101,105,111,115,119,123],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"details\u002Faccessibility.md","REFERENCE","参考文档",6750,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Faccessibility.md",{"path":66,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":67,"sourceHtmlUrl":68},"details\u002Fbrowser.md",3751,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Fbrowser.md",{"path":70,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":71,"sourceHtmlUrl":72},"details\u002Fbutton.md",4322,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Fbutton.md",{"path":74,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":75,"sourceHtmlUrl":76},"details\u002Fcontent-intelligence.md",7485,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Fcontent-intelligence.md",{"path":78,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":79,"sourceHtmlUrl":80},"details\u002Feaster-egg.md",2479,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Feaster-egg.md",{"path":82,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":83,"sourceHtmlUrl":84},"details\u002Fform.md",6814,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Fform.md",{"path":86,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":87,"sourceHtmlUrl":88},"details\u002Flayout.md",2914,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Flayout.md",{"path":90,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":91,"sourceHtmlUrl":92},"details\u002Fmotion.md",6510,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Fmotion.md",{"path":94,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":95,"sourceHtmlUrl":96},"details\u002Fscroll.md",5019,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Fscroll.md",{"path":98,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":99,"sourceHtmlUrl":100},"details\u002Ftoast.md",5461,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Ftoast.md",{"path":102,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":103,"sourceHtmlUrl":104},"details\u002Ftypography.md",3227,"https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Finterface-details\u002Fdetails\u002Ftypography.md",{"path":106,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":109,"sourceHtmlUrl":110},"scripts\u002Fens_resolver.py","SCRIPT","脚本",3331,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fxspoonai-official-web3-identity-auth\u002Fscripts\u002Fens_resolver.py",{"path":112,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":113,"sourceHtmlUrl":114},"scripts\u002Fsession_manager.py",3241,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fxspoonai-official-web3-identity-auth\u002Fscripts\u002Fsession_manager.py",{"path":116,"resourceType":107,"resourceTypeDesc":108,"sizeBytes":117,"sourceHtmlUrl":118},"scripts\u002Fsiwe_auth.py",2552,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fxspoonai-official-web3-identity-auth\u002Fscripts\u002Fsiwe_auth.py",{"path":120,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":121,"sourceHtmlUrl":122},"SOURCE.md",370,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fxspoonai-official-web3-identity-auth\u002FSOURCE.md",{"path":124,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":125,"sourceHtmlUrl":126},"TRUST.auto.yaml",2250,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fxspoonai-official-web3-identity-auth\u002FTRUST.auto.yaml",[128,152,169,207,236,256],{"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":140,"publishedAt":31},"01M70P75HQ4FQR9QZVTF96V4WN","test-audit","Writing\u002Fchanging\u002Freviewing\u002Fsweeping tests: reject duplicate or implementation-coupled proof; remove test-only production seams.","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Ftest-audit\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Ftest-audit\u002FSKILL.md",[135],{"categoryNo":136,"categoryName":137,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[141,142,143,144,145,146,147,148,149,150,151],"test","test audit","audit","duplicate","remove","tests","only","implementation","Production","proof","writing",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":156,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":31},"01M6PNST9D3KH33MX122760AAX","untangle-codebase","Untangle a whole codebase in one pass, so agents working in it read less per change, break less without noticing, and debug faster.","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Funtangle-codebase\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Funtangle-codebase\u002FSKILL.md",[],[160,161,162,163,164,165,166,167,168],"untangle codebase","codebase","true","change","focus","debug","break","it","read",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":173,"sourceHtmlUrl":174,"categories":175,"keywords":185,"publishedAt":31},"01M6F31V6BVMD8KZE0ZT3KY7D9","write-swift","How to write modern Swift well — modeling with value types, Swift 6 data-race safety and approachable concurrency (@concurrent, main-actor-by-default, actors, task groups), protocols and generics (some vs any), API design, performance and ARC, Swift Testing, macros, and the modern language features agents don't know about yet. Use when writing, reviewing, or migrating Swift, or when a concurrency error, a hang, a data race, a retain cycle, or a performance problem needs fixing.","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwrite-swift\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwrite-swift\u002FSKILL.md",[176,177,180],{"categoryNo":136,"categoryName":137,"taxonomyType":138,"taxonomyTypeDesc":139},{"categoryNo":178,"categoryName":179,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":181,"categoryName":182,"taxonomyType":183,"taxonomyTypeDesc":184},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[186,187,188,189,190,191,192,193,194,195,196,197,198,199,36,151,24,200,201,202,30,203,204,205,206],"write","write swift","swift","error","problem","types","protocols","performance","cycle","default","testing","how to","design","macros","api","task","with","retain","concurrency","how","features",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":211,"sourceHtmlUrl":212,"categories":213,"keywords":217,"publishedAt":31},"01M6F30WNDMSPPDGP5S8B1EG7Y","stageshow","Build faux product UI that looks like a real product, as a still illustration or an animated demo with a cursor. Browser and app windows, dashboards, phones, notifications, terminals, bento grids and cursor walkthroughs, framed, masked and cropped the way a marketing page, feature card or docs hero needs them. Use whenever someone wants a fake or mocked UI, a product demo or walkthrough animation, a hero or feature-card illustration of an app, a product shot in the style of a polished marketing site, or an animated cursor doing things in an interface, even if they never say \"faux UI\". React and plain CSS.","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fstageshow\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fstageshow\u002FSKILL.md",[214],{"categoryNo":215,"categoryName":216,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000009","前端开发",[209,218,219,220,221,222,223,224,225,226,227,228,229,20,24,230,231,232,233,202,234,235],"app","Animation","windows","as","never","css","feature","illustration","page","card","walkthrough","framed","react","notifications","demo","browser","things","hero",{"skillNo":237,"name":238,"nameZh":6,"description":239,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":240,"sourceHtmlUrl":241,"categories":242,"keywords":243,"publishedAt":31},"01M6F30MC2PX4NHBZ8P49D1XR8","review-animations","Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Freview-animations\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Freview-animations\u002FSKILL.md",[],[244,245,246,219,247,248,195,198,249,250,251,252,253,162,254,255],"review animations","review","animations","philosophy","craft","motion","engineering","code","approval","reviews","high","bar",{"skillNo":257,"name":258,"nameZh":6,"description":259,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":260,"sourceHtmlUrl":261,"categories":262,"keywords":263,"publishedAt":31},"01M6F30GBQB7HX569AA9AC25V6","remove-animations","Find the animations an interface doesn't need and remove them — motion on keyboard actions, high-frequency surfaces, functional data, and decoration with no purpose — then clean up what they leave behind. Edits code, but only to subtract; it never adds or retunes motion. Use when the user says the app \"feels slow\", \"has too much animation\", \"feels over-animated\", wants to \"tone down the motion\", or asks what animations to remove. For finding places that should animate, use find-animation-opportunities; for fixing animations that should stay, use improve-animations or review-animations.","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fremove-animations\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcarterdea\u002Fdots\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fremove-animations\u002FSKILL.md",[],[145,264,246,218,219,222,265,266,267,268,20,147,249,269,24,251,270,245,202,271,272,273,29,274,30],"remove animations","actions","up","clean","improve","animate","tone","keyboard","functional","down","Frequency"]