[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71SPJY0BKS64XRPNPDNNR26":3,"skill-same:01M71SPJY0BKS64XRPNPDNNR26":66},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":49,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M71SPJY0BKS64XRPNPDNNR26","adr-to-guardrail",null,"Turn a new or changed ADR into implemented behavior, routing docs, tests, and guardrails rather than leaving it as standalone prose.","clawic\u002FClawix","clawic","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F260442073?v=4","01M71SK22K8AQ01VDMSY531Y1Y","Clawic","01M71SK23S500EBSASK8CHHVK6",8,"MIT","https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Fadr-to-guardrail\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"adr","guardrail","adr to guardrail","it","architecture","docs","prose","map","new","tests","Guardrails","decision","behavior","decision-map","standalone","as","routing","2026-11-10 13:02:02",false,"---\nname: adr-to-guardrail\ndescription: Turn a new or changed ADR into implemented behavior, routing docs, tests, and guardrails rather than leaving it as standalone prose.\nkeywords: [adr, guardrail, decision-map, docs, tests, architecture]\n---\n\n# adr-to-guardrail\n\nMake an ADR operational.\n\n## Procedure\n\n1. Reserve the ADR number with `scripts\u002Fadr-reserve.mjs` before drafting a\n   new ADR. Read the ADR template and the closest accepted ADRs before changing\n   an existing decision.\n2. State the decision in implementation-neutral terms and fill Decision\n   Tensions for durable architecture, governance, data, security, agent,\n   interface, route, storage, public-surface, or validation-policy changes.\n3. Fill surface parity: human surface, programmatic surface, persistence, gaps,\n   and validation.\n4. Update `docs\u002Fdecision-map.md` or the equivalent project router with the new decision and its guardrail.\n5. Register durable meta-code in `docs\u002Fdiscoverability.registry.json` per\n   `docs\u002Fadr\u002F0017-discoverability-and-meta-code-routing.md`; do not add hidden\n   ADRs, guardrails, harnesses, docs routers, or skills.\n6. For every accepted ADR, satisfy `scripts\u002Fadr-operational-coverage-check.mjs`:\n   decision-map row, discoverability entry, guard\u002Ftest route, human surface,\n   programmatic surface, persistence, CLI search, and CLI inspect. A doc-only\n   decision needs a scoped expiring public exception in\n   `docs\u002Fadr-operational-coverage-exceptions.json`.\n7. Update affected docs, registries, manifests, CLI inspection\u002Fsearch output, and tests so agents can discover and enforce the decision.\n8. Refactor implementation only as far as needed to make the ADR true for the intended batch.\n9. Apply the Problem-to-Guardrail loop for any defect found while drafting or\n   implementing: record the puntual problem, general class, existing rule, and\n   close with `guard\u002Ftest añadido`, `ADR\u002Fregla añadida`, or\n   `deuda explícita con expiry`.\n10. Enforce the anti-loop rule: if the work adds `2 ciclos seguidos` of ADRs,\n   ledgers, manifests, guards, or baselines `sin reducir blockers reales`, stop\n   and classify the closure as `blocker directo`, `deuda lateral`, or\n   `pendiente externo`; no más gobernanza para arreglar exceso de gobernanza.\n11. Before closure, run `node scripts\u002Fdiscoverability-check.mjs closure\n   --changed-file \u003Cpath> --json` for the changed ADR, decision map, registry,\n   or skill. The closing report must cite the real `claw search ... --json`\n   and `claw inspect ... --json` evidence and the discovered artifact, or mark\n   the work `PARTIAL\u002FBLOCKED`.\n12. Record pending guardrails or migrations explicitly when full enforcement cannot land now.\n\n## Constraints\n\n- An ADR is incomplete if it is not linked from the relevant routing surface.\n- Do not invent ADR numbers manually; `docs\u002Fadr\u002Freservations\u002FNNNN.json` is the\n  durable reservation record.\n- Do not accept \"doc only\" for a decision that changes stable behavior.\n- Do not mark an ADR accepted while `scripts\u002Fadr-operational-coverage-check.mjs`\n  fails.\n- Do not close a canon-changing ADR as complete when `claw search` or\n  `claw inspect` cannot discover the changed artifact.\n- Do not close a detected problem with only \"fixed\"; leave a guard\u002Ftest,\n  ADR\u002Frule, or expiring debt.\n- Do not add governance to fix excess governance after `2 ciclos seguidos`\n  `sin reducir blockers reales`; stop as `blocker directo`, `deuda lateral`, or\n  `pendiente externo`.\n- Do not preserve accidental pre-public legacy unless an ADR explicitly grants a bounded exception.\n","# adr-to-guardrail\n\nMake an ADR operational.\n\n## Procedure\n\n1. Reserve the ADR number with `scripts\u002Fadr-reserve.mjs` before drafting a\n   new ADR. Read the ADR template and the closest accepted ADRs before changing\n   an existing decision.\n2. State the decision in implementation-neutral terms and fill Decision\n   Tensions for durable architecture, governance, data, security, agent,\n   interface, route, storage, public-surface, or validation-policy changes.\n3. Fill surface parity: human surface, programmatic surface, persistence, gaps,\n   and validation.\n4. Update `docs\u002Fdecision-map.md` or the equivalent project router with the new decision and its guardrail.\n5. Register durable meta-code in `docs\u002Fdiscoverability.registry.json` per\n   `docs\u002Fadr\u002F0017-discoverability-and-meta-code-routing.md`; do not add hidden\n   ADRs, guardrails, harnesses, docs routers, or skills.\n6. For every accepted ADR, satisfy `scripts\u002Fadr-operational-coverage-check.mjs`:\n   decision-map row, discoverability entry, guard\u002Ftest route, human surface,\n   programmatic surface, persistence, CLI search, and CLI inspect. A doc-only\n   decision needs a scoped expiring public exception in\n   `docs\u002Fadr-operational-coverage-exceptions.json`.\n7. Update affected docs, registries, manifests, CLI inspection\u002Fsearch output, and tests so agents can discover and enforce the decision.\n8. Refactor implementation only as far as needed to make the ADR true for the intended batch.\n9. Apply the Problem-to-Guardrail loop for any defect found while drafting or\n   implementing: record the puntual problem, general class, existing rule, and\n   close with `guard\u002Ftest añadido`, `ADR\u002Fregla añadida`, or\n   `deuda explícita con expiry`.\n10. Enforce the anti-loop rule: if the work adds `2 ciclos seguidos` of ADRs,\n   ledgers, manifests, guards, or baselines `sin reducir blockers reales`, stop\n   and classify the closure as `blocker directo`, `deuda lateral`, or\n   `pendiente externo`; no más gobernanza para arreglar exceso de gobernanza.\n11. Before closure, run `node scripts\u002Fdiscoverability-check.mjs closure\n   --changed-file \u003Cpath> --json` for the changed ADR, decision map, registry,\n   or skill. The closing report must cite the real `claw search ... --json`\n   and `claw inspect ... --json` evidence and the discovered artifact, or mark\n   the work `PARTIAL\u002FBLOCKED`.\n12. Record pending guardrails or migrations explicitly when full enforcement cannot land now.\n\n## Constraints\n\n- An ADR is incomplete if it is not linked from the relevant routing surface.\n- Do not invent ADR numbers manually; `docs\u002Fadr\u002Freservations\u002FNNNN.json` is the\n  durable reservation record.\n- Do not accept \"doc only\" for a decision that changes stable behavior.\n- Do not mark an ADR accepted while `scripts\u002Fadr-operational-coverage-check.mjs`\n  fails.\n- Do not close a canon-changing ADR as complete when `claw search` or\n  `claw inspect` cannot discover the changed artifact.\n- Do not close a detected problem with only \"fixed\"; leave a guard\u002Ftest,\n  ADR\u002Frule, or expiring debt.\n- Do not add governance to fix excess governance after `2 ciclos seguidos`\n  `sin reducir blockers reales`; stop as `blocker directo`, `deuda lateral`, or\n  `pendiente externo`.\n- Do not preserve accidental pre-public legacy unless an ADR explicitly grants a bounded exception.\n",{"name":5,"keywords":41,"description":7},[19,20,32,24,28,23],"main","26b22a693141263d55cf916e06cee81026b270ca","skills\u002Fadr-to-guardrail",0,"https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix","https:\u002F\u002Fclawix.com","https:\u002F\u002Fgithub.com\u002Fclawic","https:\u002F\u002Fclawic.com","The open-source interface, framework, and skills for agents","2026-06-06 17:20:04",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add clawic\u002FClawix --skill adr-to-guardrail",{"tool":58,"command":59},"bunx","bunx skills add clawic\u002FClawix --skill adr-to-guardrail",{"tool":61,"command":62},"pnpm","pnpm dlx skills add clawic\u002FClawix --skill adr-to-guardrail","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Fadr-to-guardrail\u002FSKILL.md",true,[],[67,87,116,138,159,191],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":36},"01M71SS08XCQF9G9KSNZ75NA0V","visual-regression","Run and interpret Clawix UI geometry, screenshot, protected-surface, and debt-baseline checks without authorizing visual repair.","https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-regression\u002FSKILL.md",[],[74,75,76,77,78,79,80,81,82,83,84,85,86],"visual regression","regression","visual","clawix","repair","run","baseline","geometry","debt","screenshot","ui","surface","screenshots",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":101,"publishedAt":36},"01M71SRXFKRDB3ZDJYGJVFJ40Q","ui-performance-budget","Capture and compare Clawix UI performance budgets for critical flows before optimizing visible or runtime UI behavior.","https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Fui-performance-budget\u002FSKILL.md",[93,98],{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":99,"categoryName":100,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000040","财务",[102,103,104,84,105,77,106,107,108,31,109,110,111,112,113,114,115],"ui performance budget","performance","Budget","budgets","latency","for","runtime","flows","hitches","traces","capture","critical","compare","performance budgets",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":123,"publishedAt":36},"01M71SRVPPK31H1RDB0DJ79GYB","ui-implementation","Implement functional Clawix UI wiring while respecting visual mutation boundaries, pattern contracts, protected surfaces, and debt baselines.","https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Fui-implementation\u002FSKILL.md",[122],{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},[124,125,84,126,77,127,128,129,130,131,132,82,133,76,134,135,136,137],"ui implementation","implementation","state","functional","baselines","surfaces","validation","pattern","boundaries","mutation","contracts","implement","wiring","functional-ui",{"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":6,"sourceHtmlUrl":142,"categories":143,"keywords":145,"publishedAt":36},"01M71SRSJY80G228GG4YEZKVE7","ui-canon-review","Review whether a Clawix UI pattern, visual decision, copy change, or component extraction belongs in canon, debt, exception, or protected-surface scope.","https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Fui-canon-review\u002FSKILL.md",[144],{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},[146,147,84,148,77,149,150,151,30,131,152,153,154,82,155,156,85,76,157,158],"canon","ui canon review","review","change","component","scope","interface","ui pattern","registry","copy","component extraction","extraction","approval",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":170,"publishedAt":36},"01M71SRPKYN0R0CWJ5202MH63R","theme-factory","Produce variants of an existing Style by shifting tone (light\u002Fdark), density (compact\u002Frelaxed), or accent (palette rotation) while preserving the brand identity. Use when the user wants alternate themes derived from one brand.","https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Ftheme-factory\u002FSKILL.md",[165],{"categoryNo":166,"categoryName":167,"taxonomyType":168,"taxonomyTypeDesc":169},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",[171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190],"theme","theme factory","factory","brand identity","palette","brand","style","dark","rotation","variants","produce","themes","use","Existing","compact","when","density","one","tone","identity",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":209,"publishedAt":36},"01M71SRMDBTFB7RYWJYPFSH6VB","template-render","Render a Template + data + Style into a final artifact in one of HTML, PDF, PNG, SVG or PPTX. Use whenever the user asks for a concrete deliverable like \"make me a poster\", \"render a card\", \"give me a one-pager\".","https:\u002F\u002Fgithub.com\u002Fclawic\u002FClawix\u002Fblob\u002Fmain\u002Fskills\u002Ftemplate-render\u002FSKILL.md",[197,200,203,206],{"categoryNo":198,"categoryName":199,"taxonomyType":168,"taxonomyTypeDesc":169},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":201,"categoryName":202,"taxonomyType":168,"taxonomyTypeDesc":169},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":204,"categoryName":205,"taxonomyType":168,"taxonomyTypeDesc":169},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":207,"categoryName":208,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000034","行政与办公人员",[210,211,212,213,214,215,216,217,177,218,107,219,220,221,183,222,188,223,224,225],"template render","template","render","one-pager","me","PDF","artifact","pptx","SVG","card","poster","data","deliverable","html","user","png"]