[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HS0VC0X8WG3EZ72A9MFFFD":3,"skill-same:01M6HS0VC0X8WG3EZ72A9MFFFD":65},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":35,"commitSha":36,"skillDirectory":5,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":6,"ownerDescription":40,"updatedAt":41,"install":42,"resources":54},"01M6HS0VC0X8WG3EZ72A9MFFFD","extend-harness",null,"Extend the harness: shell rules, Claude Code mods, severity tiers, and analytics.","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\u002Fextend-harness\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"harness","extend harness","extend","analytics","code","severity","shell","Rules","mods","true","2026-11-10 10:12:30",false,"---\nname: extend-harness\ndescription: \"Extend the harness: shell rules, Claude Code mods, severity tiers, and analytics.\"\ndisable-model-invocation: true\n---\n\nEdit manifests\u002Flibraries, not generated configs. [REFERENCE.md](REFERENCE.md): severities, options, parser contracts, debugging.\n\nClaude mods: [MODS.md](MODS.md). Cross-runtime enforcement stays in settings hooks.\n\n## Evidence bar\n\nCompose existing skills before adding. Justify rules with a real failure or unmet contract; prove clean -> violation -> clean.\n\n## Add rule\n\n1. Prefer Biome\u002FUltracite; hooks cover cross-element\u002Ffile, workflow, agent behavior.\n2. Copy `.claude\u002Fhooks\u002Fchecks\u002F*.lib.sh`: one `run_*` function and thin `.claude\u002Fhooks\u002F*.sh` wrapper.\n3. Register in `skill-manifest.json`, usually `PostToolUse.Edit|Write`.\n4. Add focused `evals\u002F` fixture; prove RED -> GREEN.\n5. Regenerate and test:\n\n```bash\nbash scripts\u002Fgenerate-hook-configs.sh --apply\necho '{\"hook_event_name\":\"PostToolUse\",\"tool_name\":\"Edit\",\"tool_input\":{\"file_path\":\"\u002Ftmp\u002Fx.ts\"}}' | bash .claude\u002Fhooks\u002Fmy-check.sh\n```\n\nUse `hook_warn` for style, `hook_block` correctness, `hook_block_strict` security, `hook_info` observation. Prefer skill-scoped hooks for one vertical.\n\n## Implementation\n\n- Manifest objects carry permission\u002Fasync filters; retain stdin guards: Codex drops Claude-only filters.\n- Structure: Biome\u002FAST; judgment: review.\n- Sync toolchain bans with `hooks\u002Ffrontend-skills.rules`.\n\n## Audit\u002Fdebug\n\n`\u002Fhook-audit --all`: latency\u002Ffiring\u002Fzero-fire; `HOOK_DEBUG=1 HOOKS_FAIL_CLOSED=1 claude`: missing hooks; `claude --safe-mode`: isolate customization. `\u002Fdoctor` latency is a P95 budget failure.\n\n## Done\n\nManifest owns matcher; executable script sources `_hook-lib.sh`, parses stdin, filters paths, documents escape; fixture proves RED -> GREEN; generator `--check` and `bash evals\u002Frun.sh` pass.\n","Edit manifests\u002Flibraries, not generated configs. [REFERENCE.md](REFERENCE.md): severities, options, parser contracts, debugging.\n\nClaude mods: [MODS.md](MODS.md). Cross-runtime enforcement stays in settings hooks.\n\n## Evidence bar\n\nCompose existing skills before adding. Justify rules with a real failure or unmet contract; prove clean -> violation -> clean.\n\n## Add rule\n\n1. Prefer Biome\u002FUltracite; hooks cover cross-element\u002Ffile, workflow, agent behavior.\n2. Copy `.claude\u002Fhooks\u002Fchecks\u002F*.lib.sh`: one `run_*` function and thin `.claude\u002Fhooks\u002F*.sh` wrapper.\n3. Register in `skill-manifest.json`, usually `PostToolUse.Edit|Write`.\n4. Add focused `evals\u002F` fixture; prove RED -> GREEN.\n5. Regenerate and test:\n\n```bash\nbash scripts\u002Fgenerate-hook-configs.sh --apply\necho '{\"hook_event_name\":\"PostToolUse\",\"tool_name\":\"Edit\",\"tool_input\":{\"file_path\":\"\u002Ftmp\u002Fx.ts\"}}' | bash .claude\u002Fhooks\u002Fmy-check.sh\n```\n\nUse `hook_warn` for style, `hook_block` correctness, `hook_block_strict` security, `hook_info` observation. Prefer skill-scoped hooks for one vertical.\n\n## Implementation\n\n- Manifest objects carry permission\u002Fasync filters; retain stdin guards: Codex drops Claude-only filters.\n- Structure: Biome\u002FAST; judgment: review.\n- Sync toolchain bans with `hooks\u002Ffrontend-skills.rules`.\n\n## Audit\u002Fdebug\n\n`\u002Fhook-audit --all`: latency\u002Ffiring\u002Fzero-fire; `HOOK_DEBUG=1 HOOKS_FAIL_CLOSED=1 claude`: missing hooks; `claude --safe-mode`: isolate customization. `\u002Fdoctor` latency is a P95 budget failure.\n\n## Done\n\nManifest owns matcher; executable script sources `_hook-lib.sh`, parses stdin, filters paths, documents escape; fixture proves RED -> GREEN; generator `--check` and `bash evals\u002Frun.sh` pass.\n",{"name":5,"description":7,"disable-model-invocation":34},true,"main","7ff748aa4575e7e65de115ca97b7848b195b79a6",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":43,"prompt":53,"zipAvailable":34},[44,47,50],{"tool":45,"command":46},"npx","npx skills add malinskibeniamin\u002Fskills --skill extend-harness",{"tool":48,"command":49},"bunx","bunx skills add malinskibeniamin\u002Fskills --skill extend-harness",{"tool":51,"command":52},"pnpm","pnpm dlx skills add malinskibeniamin\u002Fskills --skill extend-harness","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fextend-harness\u002FSKILL.md",[55,61],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"MODS.md","REFERENCE","参考文档",5175,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fextend-harness\u002FMODS.md",{"path":62,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":63,"sourceHtmlUrl":64},"REFERENCE.md",2163,"https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fextend-harness\u002FREFERENCE.md",[66,88,111,116,121,145],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":29},"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",[],[73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"hill climb","bounded","improvement","review","visual","comparison","use","eval","benchmark","Evaluation","outcome","for","requests","optimize","loops",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":92,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":29},"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",[],[90,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110],"build","native","velocity","web","drag","react native","snap","release","swift","react","swipe","direct","tracking","fix","sheet",{"skillNo":112,"name":68,"nameZh":6,"description":69,"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":29},"01M70WKSB2PTJGVH7C9XC1FEED","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fhill-climb\u002FSKILL.md",[],[73,84,74,76,77,78,79,80,81,83,82,75,86,87,85],{"skillNo":117,"name":90,"nameZh":6,"description":91,"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":29},"01M70WKGYKGN1J786GK8N3RGH1","https:\u002F\u002Fgithub.com\u002Fmalinskibeniamin\u002Fskills\u002Fblob\u002Fmain\u002Fcodex-skills\u002Fgestures\u002FSKILL.md",[],[90,103,104,105,106,107,108,109,110,96,97,98,99,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":29},"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,84,131,132,133,79,134,135,136,137,138,139,140,141,142,99,143,144,76],"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":29},"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,79,156,157,158],"effect ts","effect","library","typescript","up","repository"]