[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C69JPXXQKMN0FR7X9DS80E":3,"skill-same:01M6C69JPXXQKMN0FR7X9DS80E":64},{"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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6C69JPXXQKMN0FR7X9DS80E","documentation-and-adrs",null,"Records decisions and documentation. Use when making architectural decisions, changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase.","dsj1984\u002Fmandrel","dsj1984","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20933070?v=4","01M6C69AY3555XWE3QAXETZH6W","01M6C69B26E25DHM9NTPQ7TZQ9",7,"MIT","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcore\u002Fdocumentation-and-adrs\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31],"documentation","documentation and adrs","shipping","public","decisions","context","use","record","records","understand","you","codebase","features","when","2026-11-10 10:12:30",false,"---\nname: documentation-and-adrs\ndescription:\n  Records decisions and documentation. Use when making architectural decisions,\n  changing public APIs, shipping features, or when you need to record context\n  that future engineers and agents will need to understand the codebase.\n---\n\n# Documentation and ADRs\n\n## Policy Capsule\n\n- Document the **why**, not the what. Capture context, constraints, alternatives considered, and trade-offs — code already shows what was built.\n- Write an ADR for any decision that would be expensive to reverse (framework choice, data model, auth strategy, API architecture, hosting platform).\n- Mandrel ships **two first-class decisions-log layouts** — pick one at onboarding (see [Decisions-log layouts](reference.md#decisions-log-layouts)): the **single-file dated-entry** `docs\u002Fdecisions.md` (default; best for small projects) or the **index + `docs\u002Fdecisions\u002F` directory** (MADR-style, one file per ADR; best once the log outgrows a single file). Either way, the canonical ADR sections are **Status, Date, Deciders, Context, Decision, (Alternatives Considered), Consequences**.\n- Mark an ADR's status as `Accepted`, `Superseded by ADR-XXX`, `Deprecated`, or `Reverted (\u003Cdate>)` — a reverted decision was **undone** rather than replaced, so unlike a superseded one it has no successor to point at. Never silently delete an ADR — supersede it.\n- Keep user-facing docs (README, API docs, changelog) updated as part of the change — out-of-date docs are bugs.\n- Pair every public API change with a changelog entry that links the relevant Story and any superseding ADR.\n\n## Long-form reference — read on demand\n\nThe capsule above is the contract and the whole always-read surface of this\nskill. The project-specific material behind it — the decisions-log layouts and\nthe prune\u002Farchive procedure — lives in the on-demand sibling\n[`reference.md`](reference.md), matching the split the always-on rules already\nuse ([`rules\u002Fgit-conventions.md`](..\u002F..\u002F..\u002Frules\u002Fgit-conventions.md) ⇄\n[`git-conventions-reference.md`](..\u002F..\u002F..\u002Frules\u002Fgit-conventions-reference.md)).\nActivating this skill costs the capsule; open a section below only when the\ntask actually engages it.\n\n- [Decisions-log layouts](reference.md#decisions-log-layouts)\n- [Pruning & Archiving](reference.md#pruning--archiving)\n","# Documentation and ADRs\n\n## Policy Capsule\n\n- Document the **why**, not the what. Capture context, constraints, alternatives considered, and trade-offs — code already shows what was built.\n- Write an ADR for any decision that would be expensive to reverse (framework choice, data model, auth strategy, API architecture, hosting platform).\n- Mandrel ships **two first-class decisions-log layouts** — pick one at onboarding (see [Decisions-log layouts](reference.md#decisions-log-layouts)): the **single-file dated-entry** `docs\u002Fdecisions.md` (default; best for small projects) or the **index + `docs\u002Fdecisions\u002F` directory** (MADR-style, one file per ADR; best once the log outgrows a single file). Either way, the canonical ADR sections are **Status, Date, Deciders, Context, Decision, (Alternatives Considered), Consequences**.\n- Mark an ADR's status as `Accepted`, `Superseded by ADR-XXX`, `Deprecated`, or `Reverted (\u003Cdate>)` — a reverted decision was **undone** rather than replaced, so unlike a superseded one it has no successor to point at. Never silently delete an ADR — supersede it.\n- Keep user-facing docs (README, API docs, changelog) updated as part of the change — out-of-date docs are bugs.\n- Pair every public API change with a changelog entry that links the relevant Story and any superseding ADR.\n\n## Long-form reference — read on demand\n\nThe capsule above is the contract and the whole always-read surface of this\nskill. The project-specific material behind it — the decisions-log layouts and\nthe prune\u002Farchive procedure — lives in the on-demand sibling\n[`reference.md`](reference.md), matching the split the always-on rules already\nuse ([`rules\u002Fgit-conventions.md`](..\u002F..\u002F..\u002Frules\u002Fgit-conventions.md) ⇄\n[`git-conventions-reference.md`](..\u002F..\u002F..\u002Frules\u002Fgit-conventions-reference.md)).\nActivating this skill costs the capsule; open a section below only when the\ntask actually engages it.\n\n- [Decisions-log layouts](reference.md#decisions-log-layouts)\n- [Pruning & Archiving](reference.md#pruning--archiving)\n",{"name":5,"description":7},"main","1ebd42c768218cb54c92d3dfd25b42c9ec41c85c",".agents\u002Fskills\u002Fcore\u002Fdocumentation-and-adrs",1,"https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel","https:\u002F\u002Fgithub.com\u002Fdsj1984","2026-11-13 20:41:44",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add dsj1984\u002Fmandrel --skill documentation-and-adrs",{"tool":50,"command":51},"bunx","bunx skills add dsj1984\u002Fmandrel --skill documentation-and-adrs",{"tool":53,"command":54},"pnpm","pnpm dlx skills add dsj1984\u002Fmandrel --skill documentation-and-adrs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcore\u002Fdocumentation-and-adrs\u002FSKILL.md",true,[58],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"reference.md","REFERENCE","参考文档",6850,"https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcore\u002Fdocumentation-and-adrs\u002Freference.md",[65,81,118,154,176,197],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":32},"01M6C6A5QVWE0AEWJYC362G9BY","no-capsule-skill","Fixture without a Policy Capsule section.","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002Ftests\u002Forchestration\u002Ffixtures\u002Fskill-capsule\u002Fno-capsule-skill\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[77,78,79,80],"no capsule skill","policy","fixture","section",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":91,"publishedAt":32},"01M6C6A2VK7QVY7H5NC6SG89DT","qa-harness","Conventions for agent-driven QA driving — the one driving-conventions reference behind both `\u002Fqa-run` (the known-scenario sweep through a real browser) and `\u002Fqa-explore` (agent-led exploratory driving). Use when instrumenting a live surface — covers navigation-first execution, per-surface console and network capture, design-token visual checks, the `F#` finding shape, per-environment resolution, and static driving as the documented interim. The run procedures live in `.agents\u002Fworkflows\u002Fqa-run.md` and `.agents\u002Fworkflows\u002Fqa-explore.md`; this skill is the conventions reference they lean on.","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstack\u002Fqa\u002Fqa-harness\u002FSKILL.md",[87,90],{"categoryNo":88,"categoryName":89,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,24,108,109,110,111,112,113,114,115,116,117,31],"qa","harness","qa harness","design","workflows","run","console","browser","network","execution","first","explore","sweep","capture","environment","lean","shape","reference","navigation","real browser","token","live","scenario","as","for","static",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":132,"publishedAt":32},"01M6C6A01GDNYJWG3647322JR3","playwright","Robust E2E browser testing with Playwright. Use when writing browser-driven tests — leverage auto-waiting (no `waitForTimeout`), prefer user-visible locators (`getByRole`, `getByText`, `getByLabel`) over CSS\u002FXPath, reuse `storageState` for auth, and enable trace-on-first-retry for CI debugging. Also carries the `data-testid` contract a UI change states in its acceptance criteria.","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstack\u002Fqa\u002Fplaywright\u002FSKILL.md",[124,127],{"categoryNo":125,"categoryName":126,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":128,"categoryName":129,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[120,133,134,135,136,137,138,139,99,140,141,142,143,144,102,145,146,24,147,148,149,150,151,152,153,116,31],"testing","writing","css","change","auth","debugging","acceptance","browser testing","ui","ci","data","e2e","trace","user","auto","contract","tests","leverage","reuse","states","retry",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":161,"publishedAt":32},"01M6C69Y3SR8BJ8XRT0E0S6Z4S","playwright-bdd","Wires Gherkin `.feature` files to Playwright via the `playwright-bdd` library. Use when running BDD scenarios on a Playwright runtime — pairs with the `gherkin-authoring` skill (scenario prose) and the `playwright` skill (browser conventions). Drives execution by tag expression with trace-first debugging and Playwright-native sharding.","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstack\u002Fqa\u002Fplaywright-bdd\u002FSKILL.md",[160],{"categoryNo":125,"categoryName":126,"taxonomyType":74,"taxonomyTypeDesc":75},[120,162,163,138,99,164,101,102,145,24,165,166,167,168,169,170,171,172,173,174,31,175],"bdd","playwright bdd","library","bdd scenarios","files","runtime","feature","authoring","expression","via","native","with","Sharding","running",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":32},"01M6C69VESMZC07ACCXGJ1MQ8W","gherkin-authoring","Authors `.feature` files that stay business-readable, translate cleanly from PRD acceptance criteria, and reuse a shared step-definition library. Use when writing or editing scenarios — the SSOT enforcement rules live in `.agents\u002Frules\u002Fgherkin-standards.md`; this skill shows authors how to apply them.","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstack\u002Fqa\u002Fgherkin-authoring\u002FSKILL.md",[],[183,169,134,184,139,164,185,186,187,188,189,24,190,191,166,192,193,168,194,151,195,196,31],"gherkin authoring","translate","prd","how","Rules","editing","business","standards","enforcement","acceptance criteria","shared","how to","definition","apply",{"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":203,"publishedAt":32},"01M6C69RYKQDPM0C1QGJZ8B4ZV","security-and-hardening","Hardens code against vulnerabilities. Use when handling user input, authentication, data storage, or external integrations. The non-negotiable security MUSTs live in `.agents\u002Frules\u002Fsecurity-baseline.md`; this skill shows how to apply them, with the project's surfacing and validation-response process.","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcore\u002Fsecurity-and-hardening\u002FSKILL.md",[],[204,205,206,207,208,209,210,211,143,212,186,213,187,146,214,24,215,216,194,173,196,31],"security","hardening","security and hardening","vulnerabilities","storage","code","authentication","validation","baseline","integrations","process","project","data storage"]