[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71R2PD8JYXK0HQ5Q42TJ2VC":3,"skill-same:01M71R2PD8JYXK0HQ5Q42TJ2VC":59},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":13,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M71R2PD8JYXK0HQ5Q42TJ2VC","gentle-ai-bench",null,"Trigger: bench, journey, journeys, driven mode, gentle-ai-bench, journey corpus, j-numbers, bench axis. Author and verify gentle-ai bench journeys; go test .\u002Fbench never proves driven execution.","LuisAlbertoMK\u002Fgentleman-agent-gh","LuisAlbertoMK","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96153499?v=4","01M71QZX0CF9KKGQZ8ZN9BME63","01M71QZX11P5X6Z27HE1GQDF71",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgentle-ai-bench\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29],"gentle ai bench","go","test","execution","verify","programming","never","journey","driven","trigger","mode","author","2026-11-10 13:02:02",false,"---\nname: gentle-ai-bench\ndescription: \"Trigger: bench, journey, journeys, driven mode, gentle-ai-bench, journey corpus, j-numbers, bench axis. Author and verify gentle-ai bench journeys; go test .\u002Fbench never proves driven execution.\"\ntriggers: \"bench, journey, journeys, driven mode, gentle-ai-bench, journey corpus, j-numbers, bench axis\"\nlicense: Apache-2.0\nmetadata:\n  author: \"Gentleman-Programming\"\n  version: \"1.0\"\n---\n\n## Activation Contract\n\nLoad when touching `bench\u002F` in gentle-ai, adding or changing a journey, changing a product semantic a journey might pin, or diagnosing a bench failure in CI's Unit Tests job.\n\n## Hard Rules\n\n- `go test .\u002Fbench` validates corpus declarations only. It does NOT execute journeys. The only driven proof is building the harness and the product binary and running the harness against it; a green `go test .\u002Fbench` claims nothing about execution.\n- Reproduce CI, do not guess invocations: read the Unit Tests step in `.github\u002Fworkflows\u002Fci.yml` and copy its exact build and `gentle-ai-bench run --binary ...` commands. Use `--only \u003Cjourney-id>` to drive one journey.\n- Journey IDs are unique across every `journeys_*.go` file. The collision guard fails loudly naming both files; pick an unused ID by reading the corpus, never reuse a retired one.\n- Every journey declares `Review:` — `reviewOptedIn` (the runner enables receipt-driven development globally before the first step, uncounted, and fails the journey if the switch does not come on) or `reviewUntouched` (its subject IS the switch, or it has nothing to do with reviews). The declaration is mandatory; `validateCorpus` fails the run without it. Lifecycle journeys must not depend on the product default. Reviews default to ON; `reviewUntouched` does not imply OFF. Journeys requiring OFF must explicitly disable it, while default-mode journeys must assert ON\u002Fdefault with unset sources.\n- Every `execute` transition must carry a runnable command; the dead-execute guard fails the run otherwise.\n- When a ratified product semantic changes, grep the corpus for journeys pinning the OLD behavior before shipping. The corpus is a second test surface beyond unit tests; a journey asserting the defect keeps the defect green.\n- `dead_end` prints `n\u002Fa` unless the run actually measured one. Never fabricate a value to move the column.\n- A `by_design` exemption costs a shape from the closed vocabulary plus a verified quote of the product's own next-action text. If the quote no longer tells the operator what to do, it is a defect wearing an exemption.\n- Prefer a NEW `journeys_*.go` file when the shared ones are owned by open PRs; bump the core journey-count pin in the same change.\n\n## Execution Steps\n\n1. Read the corpus area you touch and the CI invocation before writing.\n2. Author or adapt the journey; update its title, step names, and comment to say WHY the expectation holds (cite the issue or ratified decision).\n3. Run `go test .\u002F...` in `bench\u002F` for declarations, THEN the driven harness for execution; both results go in the PR body.\n4. On semantic changes, list the journeys you checked for stale pins.\n\n## Edge Cases\n\n- Reusing a retired journey ID breaks the collision guard; read the full corpus before naming a new one.\n- A green `go test .\u002Fbench` does not prove execution; only the driven harness validates the journey.\n- `dead_end` must print `n\u002Fa` when no dead end was measured; fabricating a value invalidates the column.\n\n## Output Contract\n\nPR evidence includes the driven-mode summary line (completed \u002F unsupported \u002F failed counts) from a locally built binary, not only `go test` output.\n","## Activation Contract\n\nLoad when touching `bench\u002F` in gentle-ai, adding or changing a journey, changing a product semantic a journey might pin, or diagnosing a bench failure in CI's Unit Tests job.\n\n## Hard Rules\n\n- `go test .\u002Fbench` validates corpus declarations only. It does NOT execute journeys. The only driven proof is building the harness and the product binary and running the harness against it; a green `go test .\u002Fbench` claims nothing about execution.\n- Reproduce CI, do not guess invocations: read the Unit Tests step in `.github\u002Fworkflows\u002Fci.yml` and copy its exact build and `gentle-ai-bench run --binary ...` commands. Use `--only \u003Cjourney-id>` to drive one journey.\n- Journey IDs are unique across every `journeys_*.go` file. The collision guard fails loudly naming both files; pick an unused ID by reading the corpus, never reuse a retired one.\n- Every journey declares `Review:` — `reviewOptedIn` (the runner enables receipt-driven development globally before the first step, uncounted, and fails the journey if the switch does not come on) or `reviewUntouched` (its subject IS the switch, or it has nothing to do with reviews). The declaration is mandatory; `validateCorpus` fails the run without it. Lifecycle journeys must not depend on the product default. Reviews default to ON; `reviewUntouched` does not imply OFF. Journeys requiring OFF must explicitly disable it, while default-mode journeys must assert ON\u002Fdefault with unset sources.\n- Every `execute` transition must carry a runnable command; the dead-execute guard fails the run otherwise.\n- When a ratified product semantic changes, grep the corpus for journeys pinning the OLD behavior before shipping. The corpus is a second test surface beyond unit tests; a journey asserting the defect keeps the defect green.\n- `dead_end` prints `n\u002Fa` unless the run actually measured one. Never fabricate a value to move the column.\n- A `by_design` exemption costs a shape from the closed vocabulary plus a verified quote of the product's own next-action text. If the quote no longer tells the operator what to do, it is a defect wearing an exemption.\n- Prefer a NEW `journeys_*.go` file when the shared ones are owned by open PRs; bump the core journey-count pin in the same change.\n\n## Execution Steps\n\n1. Read the corpus area you touch and the CI invocation before writing.\n2. Author or adapt the journey; update its title, step names, and comment to say WHY the expectation holds (cite the issue or ratified decision).\n3. Run `go test .\u002F...` in `bench\u002F` for declarations, THEN the driven harness for execution; both results go in the PR body.\n4. On semantic changes, list the journeys you checked for stale pins.\n\n## Edge Cases\n\n- Reusing a retired journey ID breaks the collision guard; read the full corpus before naming a new one.\n- A green `go test .\u002Fbench` does not prove execution; only the driven harness validates the journey.\n- `dead_end` must print `n\u002Fa` when no dead end was measured; fabricating a value invalidates the column.\n\n## Output Contract\n\nPR evidence includes the driven-mode summary line (completed \u002F unsupported \u002F failed counts) from a locally built binary, not only `go test` output.\n",{"name":5,"license":14,"metadata":35,"triggers":38,"description":7},{"author":36,"version":37},"Gentleman-Programming","1.0","bench, journey, journeys, driven mode, gentle-ai-bench, journey corpus, j-numbers, bench axis","main","4af6946b30783e2c8f9182082324d530fc28f838",".agents\u002Fskills\u002Fgentle-ai-bench","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK","2026-11-10 18:34:27",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add LuisAlbertoMK\u002Fgentleman-agent-gh --skill gentle-ai-bench",{"tool":51,"command":52},"bunx","bunx skills add LuisAlbertoMK\u002Fgentleman-agent-gh --skill gentle-ai-bench",{"tool":54,"command":55},"pnpm","pnpm dlx skills add LuisAlbertoMK\u002Fgentleman-agent-gh --skill gentle-ai-bench","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgentle-ai-bench\u002FSKILL.md",true,[],[60,103,125,145,170,196],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":82,"publishedAt":30},"01M71R7K35P668DYEPYGDQP2QA","web-quality-audit","Comprehensive web audit: performance, a11y, SEO, responsive, animation, design tokens.","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002Fdocs\u002Fciclos\u002Fc28-w1-backup\u002Fweb-quality-audit\u002FSKILL.md",[66,71,74,79],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":72,"categoryName":73,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000019","营销推广",{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":80,"categoryName":81,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000035","市场营销",[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"quality","quality audit","web quality audit","audit","web","Animation","design audit","design","website","ui","responsive","seo","tokens","ui audit","Lighthouse","performance","review","optimize","a11y","page",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":30},"01M71R7H1RA7CQ568DHRK37PE2","ui-engine","UI system — Grid\u002FFlexbox\u002F@layer\u002F:has(), container queries, compositor-only animation, OKLCH tokens, component patterns","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002Fdocs\u002Fciclos\u002Fc28-w1-backup\u002Fui-engine\u002FSKILL.md",[109],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[111,112,92,88,113,114,115,102,116,95,28,117,118,90,119,120,121,122,123,124],"ui engine","engine","compositor","css","dark","system","hooks","container","only","query","components","dark mode","grid","queries",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":133,"publishedAt":30},"01M71R7EPMZFKB833WE4B3GTHC","baseline-ui","Anti-slop UI — layout, typography, responsive, animation, tokens. Use for cleanup or polish.","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002Fdocs\u002Fciclos\u002Fc28-w1-backup\u002Fbaseline-ui\u002FSKILL.md",[131,132],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[134,135,92,88,136,137,138,139,95,140,118,90,141,142,143,96,144,120,123,99],"baseline ui","baseline","generic","slop","for","anti-slop","fix","interface","cleanup","design review","use",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":154,"publishedAt":30},"01M71R7CWK3FBW77Z8WD9GXQFE","skill-creator","Create new AI agent skills following Agent Skills spec -- auto-bootstrap unknown tasks, define structure, register in AGENTS.md","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002F.archive\u002Fskills\u002Fskill-creator\u002FSKILL.md",[151],{"categoryNo":152,"categoryName":153,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000023","Skill与智能体开发",[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],"skill creator","creator","create","structure","register","2026","spec","new","ai skill","auto","define","ai agent","unknown","tasks","bootstrap",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":178,"publishedAt":30},"01M71R78DZM1GA16F1KN8ND926","senior-engineer","Apply senior engineering competencies — system design, trade-off analysis, delegation, mentoring, and tech debt strategy","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002F.archive\u002Fskills\u002Fsenior-engineer\u002FSKILL.md",[176,177],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[179,180,181,182,183,184,185,90,186,187,160,188,189,190,116,191,192,193,194,195],"engineer","senior","senior engineer","system design","trade-offs","senior engineering","delegation","senior architect","analysis","debt","architect","tech","strategy","apply","trade","tech debt","engineering",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":206,"publishedAt":30},"01M71R74WQTXZMG3219RND96CE","prompt-engineering","Design effective prompts using SPEARS framework — scope, principles, examples, assertions, refinements, with ReAct and multi-agent patterns","https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002F.archive\u002Fskills\u002Fprompt-engineering\u002FSKILL.md",[202,205],{"categoryNo":203,"categoryName":204,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":152,"categoryName":153,"taxonomyType":69,"taxonomyTypeDesc":70},[207,208,195,209,210,90,211,160,212,213,214,215,216,217,218,219,220,221,222,223],"prompt","prompt engineering","scope","improve","react","security","patterns","multi-agent","framework","agent patterns","assertions","examples","with","multi","principles","improve prompt","prompts"]