[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HS3ZPJ8G7B0QKDT6HM7KKC":3,"skill-same:01M6HS3ZPJ8G7B0QKDT6HM7KKC":59},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":39,"commitSha":40,"skillDirectory":5,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":44,"updatedAt":45,"install":46,"resources":58},"01M6HS3ZPJ8G7B0QKDT6HM7KKC","make-pr-easy-to-review",null,"Clean noisy PR history and add reviewer guidance without changing code behavior.","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\u002Fmake-pr-easy-to-review\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"review","pr","make pr easy to review","easy","make pr","make","code","history","reviewer","behavior","guidance","clean","add","true","2026-11-10 10:12:30",false,"---\nname: make-pr-easy-to-review\ndescription: Clean noisy PR history and add reviewer guidance without changing code behavior.\ndisable-model-invocation: true\n---\n\nTarget reviewability without behavior changes; prefer PR description\u002Freview notes over code edits.\n\n## Workflow\n\n1. Resolve PR from URL\u002Fcurrent branch.\n2. Inspect commits, diff size, paths, generated files, and description. For stacks, compare `baseRefName`, record adjacent layers, and operate only on the owning branch.\n3. Find noise: stale description, unrelated changes, mixed mechanical\u002Flogic commits, missing tests, unclear entry points.\n4. Propose before history rewrite\u002Fforce-push; reorder\u002Ffold\u002Fcascade needs explicit whole-stack approval.\n5. Apply safe improvements; prove tree\u002Fdiff still matches intent.\n\n## History\n\nOnly rewrite history when the user asks or agrees to the plan. Capture identity first:\n\n```bash\ngh pr view \u003CPR> --json title,headRefName,baseRefName,state,commits --jq '{title,headRefName,baseRefName,state,commits}'\ngit fetch origin \u003CheadRefName> \u003CbaseRefName>\nORIGINAL_TREE=$(git rev-parse origin\u002F\u003CheadRefName>^{tree})\n```\n\nPrefer dependency order: schema\u002Fgenerated API -> core logic -> wiring -> UI -> tests.\n\nAfter rewrite print `Original tree: $ORIGINAL_TREE` and `Current tree: $(git rev-parse HEAD^{tree})`; inspect `git diff origin\u002F\u003CheadRefName> --stat`. Never push unintended tree changes.\n\n## Guidance\n\nVisual diagrams\u002Ffile maps belong to `\u002Fvisual-recap`; this skill edits PR text only.\n\n- Put meaningful `\u002Fquantify-impact` `## Proven impact` (`Metric | Before | After | Delta`) first with command\u002Fenvironment. Otherwise use normal value summary; no fake empty table. Below threshold says `Value not proven`.\n- Add accurate TL;DR; separate core from generated\u002Fmechanical files.\n- Name risky behavior, migration order, rollout, tests, and useful issue\u002Fdashboard\u002Fdesign links.\n\n## Guardrails\n\nNever hide behavior as cleanup or bypass hooks without explicit request. If notes cannot make the PR reviewable, recommend splitting it.\n","Target reviewability without behavior changes; prefer PR description\u002Freview notes over code edits.\n\n## Workflow\n\n1. Resolve PR from URL\u002Fcurrent branch.\n2. Inspect commits, diff size, paths, generated files, and description. For stacks, compare `baseRefName`, record adjacent layers, and operate only on the owning branch.\n3. Find noise: stale description, unrelated changes, mixed mechanical\u002Flogic commits, missing tests, unclear entry points.\n4. Propose before history rewrite\u002Fforce-push; reorder\u002Ffold\u002Fcascade needs explicit whole-stack approval.\n5. Apply safe improvements; prove tree\u002Fdiff still matches intent.\n\n## History\n\nOnly rewrite history when the user asks or agrees to the plan. Capture identity first:\n\n```bash\ngh pr view \u003CPR> --json title,headRefName,baseRefName,state,commits --jq '{title,headRefName,baseRefName,state,commits}'\ngit fetch origin \u003CheadRefName> \u003CbaseRefName>\nORIGINAL_TREE=$(git rev-parse origin\u002F\u003CheadRefName>^{tree})\n```\n\nPrefer dependency order: schema\u002Fgenerated API -> core logic -> wiring -> UI -> tests.\n\nAfter rewrite print `Original tree: $ORIGINAL_TREE` and `Current tree: $(git rev-parse HEAD^{tree})`; inspect `git diff origin\u002F\u003CheadRefName> --stat`. Never push unintended tree changes.\n\n## Guidance\n\nVisual diagrams\u002Ffile maps belong to `\u002Fvisual-recap`; this skill edits PR text only.\n\n- Put meaningful `\u002Fquantify-impact` `## Proven impact` (`Metric | Before | After | Delta`) first with command\u002Fenvironment. Otherwise use normal value summary; no fake empty table. Below threshold says `Value not proven`.\n- Add accurate TL;DR; separate core from generated\u002Fmechanical files.\n- Name risky behavior, migration order, rollout, tests, and useful issue\u002Fdashboard\u002Fdesign links.\n\n## Guardrails\n\nNever hide behavior as cleanup or bypass hooks without explicit request. If notes cannot make the PR reviewable, recommend splitting it.\n",{"name":5,"description":7,"disable-model-invocation":38},true,"main","7ff748aa4575e7e65de115ca97b7848b195b79a6",1,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin","Software Engineer ","2026-11-14 01:57:41",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":38},[48,51,54],{"tool":49,"command":50},"npx","npx skills add malinskibeniamin\u002Fskills --skill make-pr-easy-to-review",{"tool":52,"command":53},"bunx","bunx skills add malinskibeniamin\u002Fskills --skill make-pr-easy-to-review",{"tool":55,"command":56},"pnpm","pnpm dlx skills add malinskibeniamin\u002Fskills --skill make-pr-easy-to-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fmake-pr-easy-to-review\u002FSKILL.md",[],[60,81,104,109,114,138],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":33},"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",[],[67,68,69,19,70,71,72,73,74,75,76,77,78,79,80],"hill climb","bounded","improvement","visual","comparison","use","eval","benchmark","Evaluation","outcome","for","requests","optimize","loops",{"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":85,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":33},"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",[],[83,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],"build","native","velocity","web","drag","react native","snap","release","swift","react","swipe","direct","tracking","fix","sheet",{"skillNo":105,"name":62,"nameZh":6,"description":63,"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":33},"01M70WKSB2PTJGVH7C9XC1FEED","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fhill-climb\u002FSKILL.md",[],[67,77,68,19,70,71,72,73,74,76,75,69,79,80,78],{"skillNo":110,"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":111,"categories":112,"keywords":113,"publishedAt":33},"01M70WKGYKGN1J786GK8N3RGH1","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fgestures\u002FSKILL.md",[],[83,96,97,98,99,100,101,102,103,89,90,91,92,93,94,95],{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":118,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":33},"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",[],[122,123,77,124,125,126,72,127,128,129,130,131,132,133,134,135,92,136,137,19],"improve animations","improve","ui","roadmap","Existing","animate","motion","implementation","plans","diff review","prioritize","web ui","audit","diff","self","ui motion",{"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":33},"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,72,149,150,151],"effect ts","effect","library","typescript","up","repository"]