[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HSKADG24E9PRH3CXY0AX29":3,"skill-same:01M6HSKADG24E9PRH3CXY0AX29":69},{"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":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},"01M6HSKADG24E9PRH3CXY0AX29","visual-review",null,"Review customer-facing surfaces from visual evidence. Use when web, mobile, CLI, TUI, desktop, reports, onboarding, forms, or other visible behavior changes.","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\u002Fvisual-review\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"visual review","visual","review","evidence","when","changes","forms","surfaces","mobile","reports","use","behavior","tui","onboarding","desktop","web","customer","cli","2026-11-10 10:12:30",false,"---\nname: visual-review\ndescription: Review customer-facing surfaces from visual evidence. Use when web, mobile, CLI, TUI, desktop, reports, onboarding, forms, or other visible behavior changes.\n---\n\nBrowser-based frontend review: product, design, engineering, and QA hats. [REFERENCE.md](REFERENCE.md): **Design language handles**. Modes: `plan`, `implemented`, `regression`, `release`. Standalone trigger OK.\n\n## Flow\n\nApply [proportionate verification](..\u002Fshared\u002Fverifiability.md#proportionate-verification).\nRoutine copy\u002Fstyle edits need focused rendering, not a full device\u002Fstate matrix or report;\nreuse dogfood evidence. Expand only for changed assumptions.\n\nWeb UI: load [better-interface](..\u002Fjakubkrehel-skills\u002Fbetter-interface\u002FSKILL.md).\n\n1. Find: resolve PR base (stack parent) and inspect merge-base...HEAD, staged, unstaged, and relevant untracked changes; `git diff --name-only HEAD` misses commits. Map routes\u002Fcomponents to URLs, CLI\u002Freports to commands. Include shadcn\u002Fui or `@\u002Fcomponents\u002Fui`, shared consumers, copy, styles, assets, indirect data\u002Fconfig effects. Cover every visible change.\n2. Context: read tokens\u002Ftheme and one surface; classify brand\u002Fproduct.\n3. Collect: use repo tools, `scripts\u002Fskills-browser.sh`, Playwright, fixtures, screenshots, and output. `\u002Fquantify-impact` for direct metrics only.\n4. review lanes: hierarchy\u002Ftask flow; accessibility\u002Fperformance; ship quality\u002Fsystem fit. Scored\u002Frepeated comparisons: [calibration](REFERENCE.md#review-calibration).\n5. Hats: Product: user value; Design: hierarchy; Engineering: resilience; QA: reproducible evidence.\n6. Trace UI lifecycle: idle\u002Funrequested -> pending\u002Floading\u002Fsubmitting -> success\u002Ferror -> settled\u002Fdismissed. Require side-effect success confirmed and failed side effects persistent.\n7. Stress affected risks: viewports, keyboard\u002Ffocus, loading\u002Fempty\u002Ferror\u002Fdense-data, forms\u002Ftoasts, console\u002Fnetwork. Expand browsers, motion, colors, zoom, RTL, themes or throttling only when warranted\u002Frequired.\n8. Close: cite evidence, name design handles, fix\u002Faccept P0-P1, and record deterministic Automation candidates.\n\nContent\u002Flayout stress: Call the Skill tool with \"break-ui\". Reuse dogfood fixtures\nand captures; test only uncovered cases. Preserve the read-only or authorized-fix endpoint.\n\nImplemented\u002Frelease: use [PR visual evidence](..\u002Fcommit-push-pr\u002FREFERENCE.md#frontendcustomer-facing-detection--screenshot-table-phase-5)\nonly when helpful\u002Frequired. Review snapshot diffs before updates; rerun normally.\nAnnotate hard-to-find deltas only; read-only: report gaps. Screenshots are not tests.\n\nRendered behavior first. Lifecycle beats screenshot. State beats happy path. Motion is interaction. Accessibility automation is partial. Automate worthwhile recurring checks.\n\n`\u002Fexcalidraw-diagram` as needed; screenshots primary, Mermaid fallback.\n\n## Output\n\nConcise Markdown inline; omit empty tables. Separate HTML only when requested.\n\n```markdown\n## Visual review\nState trace: | Surface | Trigger | Pending | Success | Error | Persistence | Evidence |\nFindings: | Severity | Hat | Surface | Evidence | Impact | Fix | Automate? |\nDesign findings: | Severity | Surface | Handle | Current read | Desired read | Adjustment |\nAutomation candidates: \u003Chook\u002Feval\u002Ftest>\n```\n\nP0 blocks use\u002Fsecurity\u002Fdata loss\u002Finfinite loop; P1 blocks PR. Finish after resolution\u002Facceptance, evidence, and tracked repeatable gaps.\n","Browser-based frontend review: product, design, engineering, and QA hats. [REFERENCE.md](REFERENCE.md): **Design language handles**. Modes: `plan`, `implemented`, `regression`, `release`. Standalone trigger OK.\n\n## Flow\n\nApply [proportionate verification](..\u002Fshared\u002Fverifiability.md#proportionate-verification).\nRoutine copy\u002Fstyle edits need focused rendering, not a full device\u002Fstate matrix or report;\nreuse dogfood evidence. Expand only for changed assumptions.\n\nWeb UI: load [better-interface](..\u002Fjakubkrehel-skills\u002Fbetter-interface\u002FSKILL.md).\n\n1. Find: resolve PR base (stack parent) and inspect merge-base...HEAD, staged, unstaged, and relevant untracked changes; `git diff --name-only HEAD` misses commits. Map routes\u002Fcomponents to URLs, CLI\u002Freports to commands. Include shadcn\u002Fui or `@\u002Fcomponents\u002Fui`, shared consumers, copy, styles, assets, indirect data\u002Fconfig effects. Cover every visible change.\n2. Context: read tokens\u002Ftheme and one surface; classify brand\u002Fproduct.\n3. Collect: use repo tools, `scripts\u002Fskills-browser.sh`, Playwright, fixtures, screenshots, and output. `\u002Fquantify-impact` for direct metrics only.\n4. review lanes: hierarchy\u002Ftask flow; accessibility\u002Fperformance; ship quality\u002Fsystem fit. Scored\u002Frepeated comparisons: [calibration](REFERENCE.md#review-calibration).\n5. Hats: Product: user value; Design: hierarchy; Engineering: resilience; QA: reproducible evidence.\n6. Trace UI lifecycle: idle\u002Funrequested -> pending\u002Floading\u002Fsubmitting -> success\u002Ferror -> settled\u002Fdismissed. Require side-effect success confirmed and failed side effects persistent.\n7. Stress affected risks: viewports, keyboard\u002Ffocus, loading\u002Fempty\u002Ferror\u002Fdense-data, forms\u002Ftoasts, console\u002Fnetwork. Expand browsers, motion, colors, zoom, RTL, themes or throttling only when warranted\u002Frequired.\n8. Close: cite evidence, name design handles, fix\u002Faccept P0-P1, and record deterministic Automation candidates.\n\nContent\u002Flayout stress: Call the Skill tool with \"break-ui\". Reuse dogfood fixtures\nand captures; test only uncovered cases. Preserve the read-only or authorized-fix endpoint.\n\nImplemented\u002Frelease: use [PR visual evidence](..\u002Fcommit-push-pr\u002FREFERENCE.md#frontendcustomer-facing-detection--screenshot-table-phase-5)\nonly when helpful\u002Frequired. Review snapshot diffs before updates; rerun normally.\nAnnotate hard-to-find deltas only; read-only: report gaps. Screenshots are not tests.\n\nRendered behavior first. Lifecycle beats screenshot. State beats happy path. Motion is interaction. Accessibility automation is partial. Automate worthwhile recurring checks.\n\n`\u002Fexcalidraw-diagram` as needed; screenshots primary, Mermaid fallback.\n\n## Output\n\nConcise Markdown inline; omit empty tables. Separate HTML only when requested.\n\n```markdown\n## Visual review\nState trace: | Surface | Trigger | Pending | Success | Error | Persistence | Evidence |\nFindings: | Severity | Hat | Surface | Evidence | Impact | Fix | Automate? |\nDesign findings: | Severity | Surface | Handle | Current read | Desired read | Adjustment |\nAutomation candidates: \u003Chook\u002Feval\u002Ftest>\n```\n\nP0 blocks use\u002Fsecurity\u002Fdata loss\u002Finfinite loop; P1 blocks PR. Finish after resolution\u002Facceptance, evidence, and tracked repeatable gaps.\n",{"name":5,"description":7},"main","c892ad3175ec1132ed6b01368d779aab448926c3",1,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin","Software Engineer ","2026-11-13 00:59: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 visual-review",{"tool":55,"command":56},"bunx","bunx skills add malinskibeniamin\u002Fskills --skill visual-review",{"tool":58,"command":59},"pnpm","pnpm dlx skills add malinskibeniamin\u002Fskills --skill visual-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fvisual-review\u002FSKILL.md",true,[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"REFERENCE.md","REFERENCE","参考文档",38682,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fvisual-review\u002FREFERENCE.md",[70,89,111,116,121,145],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"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",[],[77,78,79,21,20,80,29,81,82,83,84,85,86,87,88],"hill climb","bounded","improvement","comparison","eval","benchmark","Evaluation","outcome","for","requests","optimize","loops",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":93,"sourceHtmlUrl":94,"categories":95,"keywords":96,"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",[],[91,97,98,99,34,100,101,102,103,104,105,106,107,108,109,110],"build","native","velocity","drag","react native","snap","release","swift","react","swipe","direct","tracking","fix","sheet",{"skillNo":112,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":37},"01M70WKSB2PTJGVH7C9XC1FEED","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fhill-climb\u002FSKILL.md",[],[77,85,78,21,20,80,29,81,82,84,83,79,87,88,86],{"skillNo":117,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":37},"01M70WKGYKGN1J786GK8N3RGH1","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fgestures\u002FSKILL.md",[],[91,103,104,105,106,107,108,109,110,97,98,99,34,100,101,102],{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":125,"sourceHtmlUrl":126,"categories":127,"keywords":128,"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",[],[129,130,85,131,132,133,29,134,135,136,137,138,139,140,141,142,34,143,144,21],"improve animations","improve","ui","roadmap","Existing","animate","motion","implementation","plans","diff review","prioritize","web ui","audit","diff","self","ui motion",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":149,"sourceHtmlUrl":150,"categories":151,"keywords":152,"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",[],[153,154,155,29,156,157,158],"effect ts","effect","library","typescript","up","repository"]