[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71A7949MJ3DN8DMBEPC1RRK":3,"skill-same:01M71A7949MJ3DN8DMBEPC1RRK":81},{"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":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":14,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":66,"install":67,"resources":80},"01M71A7949MJ3DN8DMBEPC1RRK","ui-review",null,"Review UI code for StyleSeed design-system compliance, accessibility, mobile ergonomics, spacing discipline, and implementation quality.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fui-review\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"review","ui review","ui","2026","design","for","ergonomics","community","styleseed","mobile","discipline","cursor","quality","system","compliance","code","accessibility","codex","gemini","safe","2026-11-10 10:12:30",false,"---\nname: ui-review\ndescription: \"Review UI code for StyleSeed design-system compliance, accessibility, mobile ergonomics, spacing discipline, and implementation quality.\"\ncategory: design\nrisk: safe\nsource: community\nsource_repo: bitjaru\u002Fstyleseed\nsource_type: community\ndate_added: \"2026-04-08\"\nauthor: bitjaru\ntags: [ui, review, design-system, accessibility, styleseed]\ntools: [claude, cursor, codex, gemini]\n---\n\n# UI Review\n\n## Overview\n\nPart of [StyleSeed](https:\u002F\u002Fgithub.com\u002Fbitjaru\u002Fstyleseed), this skill audits UI code against the Toss seed's conventions instead of reviewing it as generic frontend work. It focuses on design-token discipline, component ergonomics, accessibility, mobile readiness, typography, and spacing consistency.\n\n## When to Use\n\n- Use when a component or page should follow the StyleSeed Toss design language\n- Use when reviewing a UI-heavy PR for consistency and design-system violations\n- Use when the output looks \"mostly fine\" but feels off in subtle ways\n- Use when you need a structured review with concrete fixes\n\n## Review Checklist\n\n### Design Tokens\n\n- no hardcoded hex colors when semantic tokens exist\n- no improvised shadow values when tokenized shadows exist\n- no arbitrary radius choices outside the system scale\n- no random spacing values that break the seed rhythm\n\n### Component Conventions\n\n- uses the project's class merge helper\n- supports `className` extension when appropriate\n- uses the agreed typing pattern\n- avoids wrapper components that only forward one class string\n- reuses existing primitives before inventing new ones\n\n### Accessibility\n\n- touch targets large enough for mobile\n- visible keyboard focus states\n- labels and `aria-*` attributes where needed\n- adequate color contrast\n- reduced-motion respect for animation\n\n### Mobile UX\n\n- no horizontal overflow\n- safe-area handling where relevant\n- readable text sizes\n- thumb-friendly interaction spacing\n- bottom nav or sticky actions do not obscure content\n\n### Typography and Spacing\n\n- uses the system type hierarchy\n- display and headings are not overly loose\n- body text remains readable\n- spacing follows the seed grid instead of arbitrary values\n\n## Output Format\n\nReturn:\n1. A verdict: Pass, Needs Improvement, or Fail\n2. A prioritized list of issues with file and line references when available\n3. Concrete fixes for each issue\n4. Any open questions where the design intent is ambiguous\n\n## Best Practices\n\n- Review against the seed, not against personal taste\n- Separate stylistic drift from real usability or accessibility bugs\n- Prefer actionable diffs over abstract criticism\n- Call out duplication when an existing component already solves the problem\n\n## Additional Resources\n\n- [StyleSeed repository](https:\u002F\u002Fgithub.com\u002Fbitjaru\u002Fstyleseed)\n- [Source skill](https:\u002F\u002Fgithub.com\u002Fbitjaru\u002Fstyleseed\u002Fblob\u002Fmain\u002Fseeds\u002Ftoss\u002F.claude\u002Fskills\u002Fui-review\u002FSKILL.md)\n","# UI Review\n\n## Overview\n\nPart of [StyleSeed](https:\u002F\u002Fgithub.com\u002Fbitjaru\u002Fstyleseed), this skill audits UI code against the Toss seed's conventions instead of reviewing it as generic frontend work. It focuses on design-token discipline, component ergonomics, accessibility, mobile readiness, typography, and spacing consistency.\n\n## When to Use\n\n- Use when a component or page should follow the StyleSeed Toss design language\n- Use when reviewing a UI-heavy PR for consistency and design-system violations\n- Use when the output looks \"mostly fine\" but feels off in subtle ways\n- Use when you need a structured review with concrete fixes\n\n## Review Checklist\n\n### Design Tokens\n\n- no hardcoded hex colors when semantic tokens exist\n- no improvised shadow values when tokenized shadows exist\n- no arbitrary radius choices outside the system scale\n- no random spacing values that break the seed rhythm\n\n### Component Conventions\n\n- uses the project's class merge helper\n- supports `className` extension when appropriate\n- uses the agreed typing pattern\n- avoids wrapper components that only forward one class string\n- reuses existing primitives before inventing new ones\n\n### Accessibility\n\n- touch targets large enough for mobile\n- visible keyboard focus states\n- labels and `aria-*` attributes where needed\n- adequate color contrast\n- reduced-motion respect for animation\n\n### Mobile UX\n\n- no horizontal overflow\n- safe-area handling where relevant\n- readable text sizes\n- thumb-friendly interaction spacing\n- bottom nav or sticky actions do not obscure content\n\n### Typography and Spacing\n\n- uses the system type hierarchy\n- display and headings are not overly loose\n- body text remains readable\n- spacing follows the seed grid instead of arbitrary values\n\n## Output Format\n\nReturn:\n1. A verdict: Pass, Needs Improvement, or Fail\n2. A prioritized list of issues with file and line references when available\n3. Concrete fixes for each issue\n4. Any open questions where the design intent is ambiguous\n\n## Best Practices\n\n- Review against the seed, not against personal taste\n- Separate stylistic drift from real usability or accessibility bugs\n- Prefer actionable diffs over abstract criticism\n- Call out duplication when an existing component already solves the problem\n\n## Additional Resources\n\n- [StyleSeed repository](https:\u002F\u002Fgithub.com\u002Fbitjaru\u002Fstyleseed)\n- [Source skill](https:\u002F\u002Fgithub.com\u002Fbitjaru\u002Fstyleseed\u002Fblob\u002Fmain\u002Fseeds\u002Ftoss\u002F.claude\u002Fskills\u002Fui-review\u002FSKILL.md)\n",{"name":5,"risk":48,"tags":54,"tools":56,"author":58,"source":36,"category":33,"date_added":59,"description":7,"source_repo":60,"source_type":36},[31,29,55,45,37],"design-system",[57,40,46,47],"claude","bitjaru","2026-04-08","bitjaru\u002Fstyleseed","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fglobal\u002Fui-review","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill ui-review",{"tool":73,"command":74},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill ui-review",{"tool":76,"command":77},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill ui-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fui-review\u002FSKILL.md",true,[],[82,102,128,138,151,168],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":91,"publishedAt":49},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务",[92,93,94,95,96,33,97,43,98,99,100,101],"wechat search","wechat","search","capabilities","openclaw","web search","web","official","fetch","with",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":49},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[109,110,111,112,113,114,94,115,116,117,118,119,120,121,122,123,124,125,126,127],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"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":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":49},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[135,136,109,120,121,122,123,113,94,125,137,126,127,119,117,116,115,124,114,112],"trend radar","radar","pulse",{"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":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":49},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[145,146,147,148,149,150],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":160,"publishedAt":49},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[153,98,161,162,163,101,120,164,165,166,111,167,124],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":49},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[170,175,176,177,124,178,165,179,180,181,182,183],"status","play","go","latest","github","discover","control","cmd","volume"]