[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71R6ZD5K40ZZSVPN287S7P3":3,"skill-same:01M71R6ZD5K40ZZSVPN287S7P3":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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":13,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M71R6ZD5K40ZZSVPN287S7P3","work-unit-commits",null,"Plan commits as reviewable work units.","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\u002Fwork-unit-commits\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30],"commits","work","unit","work unit commits","docs","commit","pr","plan","units","organization","as","split","chained pr","2026-11-10 13:02:02",false,"---\nname: work-unit-commits\ndescription: \"Plan commits as reviewable work units.\"\ntriggers: \"work unit, commit splitting, commit organization, reviewable commits, split commit, stacked PR, chained PR commits\"\nchangelog: docs\u002Fciclos\u002Fcycle28-20260815.md\ntoken_budget: 2722\n---\n## When to Use\nSplitting feature into reviewable work units · preparing commits before PR · large change into chained\u002Fstacked PRs · healthy reviewer cognitive load · SDD tasks without exceeding 400 lines.\n## Rules\n| Rule | Req |\n|---|---|\n| Commit by work unit | A commit = deliverable behavior\u002Ffix\u002Fmigration\u002Fdocs |\n| NOT by file type | Avoid `models`→`services`→`tests` if none works alone |\n| Tests with code | Same commit as behavior they verify |\n| Docs with change | Same commit as feature\u002Fworkflow they explain |\n| Tell a story | Reviewer understands why each commit exists from diff+message |\n| Future PR-ready | Each commit = candidate chained PR slice |\n| SDD guard | >400-line forecast → chain before implementing |\n## Checklist (pre-commit)\n- [ ] One clear purpose\n- [ ] Repo works after this commit alone\n- [ ] Tests\u002Fdocs included when relevant\n- [ ] Rollback without reverting unrelated work\n- [ ] Message explains outcome, not file list\n## Chained PRs from Work Units\n1. Build smallest independent unit → include verification → commit conventional. 2. If PR→400 lines → promote commits into chained PRs.\n## Commands\n```bash\ngit diff --stat\ngit diff --cached --stat\ngit log --oneline -5\n```\n## Anti-Rationalization\n\n| Rationalization | Red Flag | Verification |\n|-----------------|----------|--------------|\n| \"code sin su test en el mismo unit\" | Commit de code sin tests que lo verifican | Verificar Rules: Tests with code en mismo commit + checklist repo works after commit + rollback sin revert unrelated |\n| \"docs post-hoc\" | Docs en commit separado post-hoc | Verificar Rules: Docs with change en mismo commit que feature\u002Fworkflow + Tell a story + Chained PR slice |\n| \"commit por file type o >400 sin chain\" | Commit por tipo archivo models→services→tests o >400 sin chain | Verificar NOT by file type + SDD guard >400-line forecast → chain + future PR-ready por commit |\n\n\n## Red Flags\n- Doing work without checking output format → STOP, re-read skill\n- Second occurrence of same rationalization → force RED zone\n\n## Verification\n- Output matches skill ## Output contract + file:line citaton\n- cross-ref-check.ps1 → SKILL.md OK\n## Refs\ncommit-crafter · chained-pr · branch-pr · sdd · quality-gate\n## Anti-Patterns\nCommit by file type · Separate tests from code · >400 lines without chaining · Messages that list files · No SDD forecast check\n> docs\u002Fskills\u002Fwork-unit-commits\u002Freference.md\n\n","## When to Use\nSplitting feature into reviewable work units · preparing commits before PR · large change into chained\u002Fstacked PRs · healthy reviewer cognitive load · SDD tasks without exceeding 400 lines.\n## Rules\n| Rule | Req |\n|---|---|\n| Commit by work unit | A commit = deliverable behavior\u002Ffix\u002Fmigration\u002Fdocs |\n| NOT by file type | Avoid `models`→`services`→`tests` if none works alone |\n| Tests with code | Same commit as behavior they verify |\n| Docs with change | Same commit as feature\u002Fworkflow they explain |\n| Tell a story | Reviewer understands why each commit exists from diff+message |\n| Future PR-ready | Each commit = candidate chained PR slice |\n| SDD guard | >400-line forecast → chain before implementing |\n## Checklist (pre-commit)\n- [ ] One clear purpose\n- [ ] Repo works after this commit alone\n- [ ] Tests\u002Fdocs included when relevant\n- [ ] Rollback without reverting unrelated work\n- [ ] Message explains outcome, not file list\n## Chained PRs from Work Units\n1. Build smallest independent unit → include verification → commit conventional. 2. If PR→400 lines → promote commits into chained PRs.\n## Commands\n```bash\ngit diff --stat\ngit diff --cached --stat\ngit log --oneline -5\n```\n## Anti-Rationalization\n\n| Rationalization | Red Flag | Verification |\n|-----------------|----------|--------------|\n| \"code sin su test en el mismo unit\" | Commit de code sin tests que lo verifican | Verificar Rules: Tests with code en mismo commit + checklist repo works after commit + rollback sin revert unrelated |\n| \"docs post-hoc\" | Docs en commit separado post-hoc | Verificar Rules: Docs with change en mismo commit que feature\u002Fworkflow + Tell a story + Chained PR slice |\n| \"commit por file type o >400 sin chain\" | Commit por tipo archivo models→services→tests o >400 sin chain | Verificar NOT by file type + SDD guard >400-line forecast → chain + future PR-ready por commit |\n\n\n## Red Flags\n- Doing work without checking output format → STOP, re-read skill\n- Second occurrence of same rationalization → force RED zone\n\n## Verification\n- Output matches skill ## Output contract + file:line citaton\n- cross-ref-check.ps1 → SKILL.md OK\n## Refs\ncommit-crafter · chained-pr · branch-pr · sdd · quality-gate\n## Anti-Patterns\nCommit by file type · Separate tests from code · >400 lines without chaining · Messages that list files · No SDD forecast check\n> docs\u002Fskills\u002Fwork-unit-commits\u002Freference.md\n\n",{"name":5,"triggers":36,"changelog":37,"description":7,"token_budget":38},"work unit, commit splitting, commit organization, reviewable commits, split commit, stacked PR, chained PR commits","docs\u002Fciclos\u002Fcycle28-20260815.md",2722,"main","4af6946b30783e2c8f9182082324d530fc28f838",".agents\u002Fskills\u002Fwork-unit-commits","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 work-unit-commits",{"tool":51,"command":52},"bunx","bunx skills add LuisAlbertoMK\u002Fgentleman-agent-gh --skill work-unit-commits",{"tool":54,"command":55},"pnpm","pnpm dlx skills add LuisAlbertoMK\u002Fgentleman-agent-gh --skill work-unit-commits","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLuisAlbertoMK\u002Fgentleman-agent-gh\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fwork-unit-commits\u002FSKILL.md",true,[],[60,103,126,146,171,197],{"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":31},"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":31},"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,117,118,119,90,120,121,122,123,124,125],"ui engine","engine","compositor","css","dark","system","mode","hooks","container","only","query","components","dark mode","grid","queries",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":134,"publishedAt":31},"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",[132,133],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[135,136,92,88,137,138,139,140,95,141,119,90,142,143,144,96,145,121,124,99],"baseline ui","baseline","generic","slop","for","anti-slop","fix","interface","cleanup","design review","use",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":155,"publishedAt":31},"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",[152],{"categoryNo":153,"categoryName":154,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000023","Skill与智能体开发",[156,157,158,159,160,161,162,163,164,165,166,167,168,169,170],"skill creator","creator","create","structure","register","2026","spec","new","ai skill","auto","define","ai agent","unknown","tasks","bootstrap",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":179,"publishedAt":31},"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",[177,178],{"categoryNo":67,"categoryName":68,"taxonomyType":69,"taxonomyTypeDesc":70},{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[180,181,182,183,184,185,186,90,187,188,161,189,190,191,116,192,193,194,195,196],"engineer","senior","senior engineer","system design","trade-offs","senior engineering","delegation","senior architect","analysis","debt","architect","tech","strategy","apply","trade","tech debt","engineering",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":207,"publishedAt":31},"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",[203,206],{"categoryNo":204,"categoryName":205,"taxonomyType":69,"taxonomyTypeDesc":70},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":153,"categoryName":154,"taxonomyType":69,"taxonomyTypeDesc":70},[208,209,196,210,211,90,212,161,213,214,215,216,217,218,219,220,221,222,223,224],"prompt","prompt engineering","scope","improve","react","security","patterns","multi-agent","framework","agent patterns","assertions","examples","with","multi","principles","improve prompt","prompts"]