[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C69VESMZC07ACCXGJ1MQ8W":3,"skill-same:01M6C69VESMZC07ACCXGJ1MQ8W":92},{"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":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M6C69VESMZC07ACCXGJ1MQ8W","gherkin-authoring",null,"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.","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\u002Fstack\u002Fqa\u002Fgherkin-authoring\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"authoring","gherkin authoring","enforcement","when","apply","definition","reuse","how to","feature","shared","acceptance criteria","files","writing","standards","use","business","editing","Rules","how","prd","library","acceptance","translate","2026-11-10 10:12:30",false,"---\nname: gherkin-authoring\ndescription:\n  Authors `.feature` files that stay business-readable, translate cleanly from\n  PRD acceptance criteria, and reuse a shared step-definition library. Use\n  when writing or editing scenarios — the SSOT enforcement rules live in\n  `.agents\u002Frules\u002Fgherkin-standards.md`; this skill shows authors how to apply\n  them.\n---\n\n# Skill: gherkin-authoring\n\n## Policy Capsule\n\n- Write `Given` clauses as stative preconditions, `When` as a single business action, and `Then` as a user-visible outcome.\n- Allow exactly one `When` per scenario; if you need two, split into two scenarios.\n- Never assert on HTTP status codes, SQL state, DOM selectors, URLs, or JSON payloads inside `.feature` prose — push those to contract tests.\n- Tag every Scenario or Outline with exactly one canonical `@domain-*` tag and the appropriate risk\u002Fplatform tags from the gherkin-standards taxonomy.\n- Use `Background` only when every scenario in the file genuinely shares the precondition with no per-scenario variation.\n- Complete the step-reuse sequence in [`gherkin-standards.md` § Step Reuse](..\u002F..\u002F..\u002F..\u002Frules\u002Fgherkin-standards.md#step-reuse--grep-before-you-write) before authoring any scenario text; that rule is the only home for it.\n- Author one scenario per PRD acceptance criterion; for bounded matrices, use a Scenario Outline with ≤12 Examples rows.\n- Use third-person present-tense, role-qualified actors (`the billing-admin`), never first person.\n\nThe enforcement rules — tag taxonomy, forbidden patterns, Outline conventions,\nselector discipline, step reuse — live in\n[`.agents\u002Frules\u002Fgherkin-standards.md`](..\u002F..\u002F..\u002F..\u002Frules\u002Fgherkin-standards.md),\nwhich is the SSOT. This skill shows authors **how** to apply those rules; read\nthe rule for the **what**.\n\n## Long-form reference — read on demand\n\nThe step-definition library layout and the pre-PR authoring checklist live in\nthe on-demand sibling [`reference.md`](reference.md). Open a section only when\nthe task engages it.\n\n- [Step-Definition Library Structure](reference.md#step-definition-library-structure)\n- [Authoring Checklist](reference.md#authoring-checklist)\n\n## Cross-References\n\n- SSOT rules: [`.agents\u002Frules\u002Fgherkin-standards.md`](..\u002F..\u002F..\u002F..\u002Frules\u002Fgherkin-standards.md).\n- Runtime wiring: [`playwright-bdd`](..\u002Fplaywright-bdd\u002FSKILL.md).\n- Browser-level conventions: [`playwright`](..\u002Fplaywright\u002FSKILL.md).\n- Test-layer scope: [`testing-standards.md`](..\u002F..\u002F..\u002F..\u002Frules\u002Ftesting-standards.md).\n- Example feature: [`examples\u002Finvoice-issue.feature`](.\u002Fexamples\u002Finvoice-issue.feature).\n","# Skill: gherkin-authoring\n\n## Policy Capsule\n\n- Write `Given` clauses as stative preconditions, `When` as a single business action, and `Then` as a user-visible outcome.\n- Allow exactly one `When` per scenario; if you need two, split into two scenarios.\n- Never assert on HTTP status codes, SQL state, DOM selectors, URLs, or JSON payloads inside `.feature` prose — push those to contract tests.\n- Tag every Scenario or Outline with exactly one canonical `@domain-*` tag and the appropriate risk\u002Fplatform tags from the gherkin-standards taxonomy.\n- Use `Background` only when every scenario in the file genuinely shares the precondition with no per-scenario variation.\n- Complete the step-reuse sequence in [`gherkin-standards.md` § Step Reuse](..\u002F..\u002F..\u002F..\u002Frules\u002Fgherkin-standards.md#step-reuse--grep-before-you-write) before authoring any scenario text; that rule is the only home for it.\n- Author one scenario per PRD acceptance criterion; for bounded matrices, use a Scenario Outline with ≤12 Examples rows.\n- Use third-person present-tense, role-qualified actors (`the billing-admin`), never first person.\n\nThe enforcement rules — tag taxonomy, forbidden patterns, Outline conventions,\nselector discipline, step reuse — live in\n[`.agents\u002Frules\u002Fgherkin-standards.md`](..\u002F..\u002F..\u002F..\u002Frules\u002Fgherkin-standards.md),\nwhich is the SSOT. This skill shows authors **how** to apply those rules; read\nthe rule for the **what**.\n\n## Long-form reference — read on demand\n\nThe step-definition library layout and the pre-PR authoring checklist live in\nthe on-demand sibling [`reference.md`](reference.md). Open a section only when\nthe task engages it.\n\n- [Step-Definition Library Structure](reference.md#step-definition-library-structure)\n- [Authoring Checklist](reference.md#authoring-checklist)\n\n## Cross-References\n\n- SSOT rules: [`.agents\u002Frules\u002Fgherkin-standards.md`](..\u002F..\u002F..\u002F..\u002Frules\u002Fgherkin-standards.md).\n- Runtime wiring: [`playwright-bdd`](..\u002Fplaywright-bdd\u002FSKILL.md).\n- Browser-level conventions: [`playwright`](..\u002Fplaywright\u002FSKILL.md).\n- Test-layer scope: [`testing-standards.md`](..\u002F..\u002F..\u002F..\u002Frules\u002Ftesting-standards.md).\n- Example feature: [`examples\u002Finvoice-issue.feature`](.\u002Fexamples\u002Finvoice-issue.feature).\n",{"name":5,"description":7},"main","1ebd42c768218cb54c92d3dfd25b42c9ec41c85c",".agents\u002Fskills\u002Fstack\u002Fqa\u002Fgherkin-authoring",1,"https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel","https:\u002F\u002Fgithub.com\u002Fdsj1984","2026-11-13 20:41:44",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add dsj1984\u002Fmandrel --skill gherkin-authoring",{"tool":59,"command":60},"bunx","bunx skills add dsj1984\u002Fmandrel --skill gherkin-authoring",{"tool":62,"command":63},"pnpm","pnpm dlx skills add dsj1984\u002Fmandrel --skill gherkin-authoring","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstack\u002Fqa\u002Fgherkin-authoring\u002FSKILL.md",true,[67,73,78,84,88],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"examples\u002Finvoice-issue.feature","OTHER","其他",1554,"https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstack\u002Fqa\u002Fgherkin-authoring\u002Fexamples\u002Finvoice-issue.feature",{"path":74,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"LICENSE","许可证",1068,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fianalloway-data-viz\u002FLICENSE",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"reference.md","REFERENCE","参考文档",2606,"https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fstack\u002Fqa\u002Fgherkin-authoring\u002Freference.md",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"SOURCE.md",343,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fianalloway-data-viz\u002FSOURCE.md",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"TRUST.auto.yaml",2197,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fianalloway-data-viz\u002FTRUST.auto.yaml",[93,109,146,179,197,217],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":104,"publishedAt":41},"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",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[105,106,107,108],"no capsule skill","policy","fixture","section",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":119,"publishedAt":41},"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",[115,118],{"categoryNo":116,"categoryName":117,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},[120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,32,136,137,138,139,140,141,142,143,144,145,21],"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":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":160,"publishedAt":41},"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",[152,155],{"categoryNo":153,"categoryName":154,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":156,"categoryName":157,"taxonomyType":158,"taxonomyTypeDesc":159},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[148,161,30,162,163,164,165,39,127,166,167,168,169,170,130,171,172,32,173,174,175,176,24,177,178,144,21],"testing","css","change","auth","debugging","browser testing","ui","ci","data","e2e","trace","user","auto","contract","tests","leverage","states","retry",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":41},"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",[185],{"categoryNo":153,"categoryName":154,"taxonomyType":102,"taxonomyTypeDesc":103},[148,187,188,165,127,38,129,130,171,32,189,29,190,26,18,191,192,193,194,195,21,196],"bdd","playwright bdd","bdd scenarios","runtime","expression","via","native","with","Sharding","running",{"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":41},"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,169,212,36,213,35,172,214,32,215,216,25,194,22,21],"security","hardening","security and hardening","vulnerabilities","storage","code","authentication","validation","baseline","integrations","process","project","data storage",{"skillNo":218,"name":219,"nameZh":6,"description":220,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":221,"categories":222,"keywords":223,"publishedAt":41},"01M6C69Q97BQRDAV6RZ3K05K2H","idea-refinement","Refines ideas iteratively. Refine ideas through structured divergent and convergent thinking. Use \"idea-refine\" or \"ideate\" to trigger.","https:\u002F\u002Fgithub.com\u002Fdsj1984\u002Fmandrel\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcore\u002Fidea-refinement\u002FSKILL.md",[],[224,225,226,227,32,228,229,230,231,232],"idea refinement","idea","refinement","ideate","thinking","refine","ideas","structured","trigger"]