[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CD3PGAFAK3G2ZWFT0J4YY3":3,"skill-same:01M6CD3PGAFAK3G2ZWFT0J4YY3":75},{"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":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6CD3PGAFAK3G2ZWFT0J4YY3","test-driven-development",null,"Test new or changed behavior and bug fixes before implementation; use a passing baseline for behavior-preserving refactors. Use when implementing behavior, adding a regression check, or explicitly requesting TDD.","cercova-studios\u002F10x-swe","cercova-studios","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F217108198?v=4","01M6CCYGHXTH80N3BXRW6KESTE","Cercova Studios","01M6CCYGPADH5MJDR0VNNR775C",1,"MIT","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"test","test driven development","development","driven","new","tdd","when","behavior-preserving","fixes","for","implementing","implementation","bug","regression check","use","behavior","check","regression","baseline","2026-11-10 10:12:30",false,"---\nname: test-driven-development\ndescription: Test new or changed behavior and bug fixes before implementation;\n  use a passing baseline for behavior-preserving refactors. Use when implementing\n  behavior, adding a regression check, or explicitly requesting TDD.\n---\n\n# Test behavior before changing it\n\nFor new or changed behavior and bug fixes, make the expected behavior executable before\nimplementation. For a behavior-preserving refactor, establish a relevant passing\nbaseline; do not invent a failing test. Preserve existing work and unrelated edits. Do\nnot delete implementation merely because tests came later.\n\n1. Name the promised behavior, affected interface and real trigger. Read the existing\n   tests and choose the closest check that reaches that trigger.\n2. Write one focused failing test before the change. Derive its expected result from the\n   requirement. Run it and verify that it fails because the behavior is missing or\n   wrong, rather than a broken fixture, missing dependency or typo.\n3. Apply the smallest implementation or fix. Run the new test, the original reproduction\n   where applicable, and affected checks. Preserve error handling, validation and\n   cleanup. Address failures without weakening acceptance criteria.\n4. Refactor only while the relevant checks remain green. Report the failure before the\n   change, the result after it, and unresolved gaps.\n\nJudge a test against two changes: breaking the promised behavior should make it fail;\nreorganizing internals without changing behavior should leave it passing. Observe\nreturns, errors, persisted state and effects through the interface that consumers use.\nAn external service's request can be behavior; an internal helper's invocation usually\nis not. Never calculate the expected answer with the implementation being tested.\n\nIf no practical automated regression reaches the trigger, use an adequate executable\nscript, replay, browser scenario or documented manual reproduction. Explain what it\ncovers and what remains unverified. Do not treat a weak mock test as evidence, create\nunrelated infrastructure to satisfy a ritual, or weaken existing checks to obtain a\npass. Necessary verification remains an obligation even when expensive.\n\nFor intermittent failures, retain the seed, trace or observed failure rate instead of\nclaiming a passing rerun proves the defect is gone.\n\nWhen adding mocks or test utilities, read the setup and lifecycle examples in [testing\nanti-patterns](testing-anti-patterns.md). Apply the observable-boundary criterion above\nwhen judging assertions on test doubles. Understand the real dependency and preserve the\nside effects the test needs; avoid test-only methods in production classes. A skipped,\nblocked or incomplete check is unverified.\n\nSelected test-quality guidance adapts [pstack](https:\u002F\u002Fgithub.com\u002Fcursor\u002Fplugins\u002Fblob\u002F8ad8a41fe418f7c948540641cf1d8649fba99db7\u002Fpstack\u002Fskills\u002Fprinciple-test-behavior-not-implementation\u002FSKILL.md)\nunder the [MIT license](..\u002F..\u002FLICENSE).\n","# Test behavior before changing it\n\nFor new or changed behavior and bug fixes, make the expected behavior executable before\nimplementation. For a behavior-preserving refactor, establish a relevant passing\nbaseline; do not invent a failing test. Preserve existing work and unrelated edits. Do\nnot delete implementation merely because tests came later.\n\n1. Name the promised behavior, affected interface and real trigger. Read the existing\n   tests and choose the closest check that reaches that trigger.\n2. Write one focused failing test before the change. Derive its expected result from the\n   requirement. Run it and verify that it fails because the behavior is missing or\n   wrong, rather than a broken fixture, missing dependency or typo.\n3. Apply the smallest implementation or fix. Run the new test, the original reproduction\n   where applicable, and affected checks. Preserve error handling, validation and\n   cleanup. Address failures without weakening acceptance criteria.\n4. Refactor only while the relevant checks remain green. Report the failure before the\n   change, the result after it, and unresolved gaps.\n\nJudge a test against two changes: breaking the promised behavior should make it fail;\nreorganizing internals without changing behavior should leave it passing. Observe\nreturns, errors, persisted state and effects through the interface that consumers use.\nAn external service's request can be behavior; an internal helper's invocation usually\nis not. Never calculate the expected answer with the implementation being tested.\n\nIf no practical automated regression reaches the trigger, use an adequate executable\nscript, replay, browser scenario or documented manual reproduction. Explain what it\ncovers and what remains unverified. Do not treat a weak mock test as evidence, create\nunrelated infrastructure to satisfy a ritual, or weaken existing checks to obtain a\npass. Necessary verification remains an obligation even when expensive.\n\nFor intermittent failures, retain the seed, trace or observed failure rate instead of\nclaiming a passing rerun proves the defect is gone.\n\nWhen adding mocks or test utilities, read the setup and lifecycle examples in [testing\nanti-patterns](testing-anti-patterns.md). Apply the observable-boundary criterion above\nwhen judging assertions on test doubles. Understand the real dependency and preserve the\nside effects the test needs; avoid test-only methods in production classes. A skipped,\nblocked or incomplete check is unverified.\n\nSelected test-quality guidance adapts [pstack](https:\u002F\u002Fgithub.com\u002Fcursor\u002Fplugins\u002Fblob\u002F8ad8a41fe418f7c948540641cf1d8649fba99db7\u002Fpstack\u002Fskills\u002Fprinciple-test-behavior-not-implementation\u002FSKILL.md)\nunder the [MIT license](..\u002F..\u002FLICENSE).\n",{"name":5,"description":7},"main","12441d84a8a292fcc94f47bc98877cbefd9b52e2","plugins\u002F10x-swe\u002Fskills\u002Ftest-driven-development",0,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe","https:\u002F\u002Fgithub.com\u002Fcercova-studios","2026-11-12 00:33:06",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add cercova-studios\u002F10x-swe --skill test-driven-development",{"tool":61,"command":62},"bunx","bunx skills add cercova-studios\u002F10x-swe --skill test-driven-development",{"tool":64,"command":65},"pnpm","pnpm dlx skills add cercova-studios\u002F10x-swe --skill test-driven-development","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",true,[69],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"testing-anti-patterns.md","REFERENCE","参考文档",8251,"https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Ftest-driven-development\u002Ftesting-anti-patterns.md",[76,114,151,171,190,202],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":80,"licenseFileUrl":81,"sourceHtmlUrl":82,"categories":83,"keywords":87,"publishedAt":43},"01M6CD3T6EQ9N5KPNXCM6ABHVA","turnstile-spin","Set up Cloudflare Turnstile end-to-end in a project. Scan the codebase, create the widget via the Cloudflare API, embed it where user requests need bot verification (form submissions, SPA actions, API endpoints, download links, comment or vote submissions, etc.), wire canonical server-side siteverify in the customer's existing backend, validate, and persist the skill. Load this when a user asks to add Turnstile, set up CAPTCHA, protect a form or endpoint from bots, or fix a Turnstile integration. Uses Cloudflare's documented Turnstile contract.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fturnstile-spin\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Fturnstile-spin\u002FSKILL.md",[84],{"categoryNo":85,"categoryName":86,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,30],"turnstile spin","SET","nextjs","actions","up","fix","cloudflare","bot","api","permissions","create","astro","server","verification","plugin","endpoints","customer","backend","sveltekit","integration","app","bots","spa","project","end","SWE",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":80,"licenseFileUrl":118,"sourceHtmlUrl":119,"categories":120,"keywords":132,"publishedAt":43},"01M6CD0BJYRNV610HYYPX933RE","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002F10x-swe\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[121,124,127],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":125,"categoryName":126,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":128,"categoryName":129,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[133,134,135,98,136,137,138,139,140,141,38,142,143,144,145,146,147,30,148,149,150],"frontend design","frontend","design","web","quality","applications","creative","web components","Production","code","components","user","generic","aesthetics","pages","with","high","build",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":43},"01M6CD4QX8C4DST98AY21HEYCM","source-insights","Prepare inspected source evidence, preserve exact citations, and publish reviewed insights into an explicit local library.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fsource-insights\u002FSKILL.md",[],[158,159,160,161,162,163,164,165,166,167,168,169,170],"source insights","insights","source","publish","Citations","evidence","library","workflows","prepare","session","global","local","preserve",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":180,"publishedAt":43},"01M6CD4N1HVNC1EXPEBZT7YS31","skill-graph","Discover skills and workflows through independent lexical search, relationship paths and a terminal graph.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fskill-graph\u002FSKILL.md",[177],{"categoryNo":178,"categoryName":179,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[181,182,102,165,183,184,185,168,186,187,188,113,189],"graph","skill graph","terminal","10x","search","discover skills","discover","paths","relationship",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":43},"01M6CD4HQKXNZ57YEGD8QVK6Z6","session-search","Recall public session turns with exact provenance, bounded excerpts and independent piped exports.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fsession-search\u002FSKILL.md",[],[185,167,197,198,165,199,200,168,148,159,160,201],"session search","public","provenance","recall","bounded",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":214,"publishedAt":43},"01M6CD4ET7DVNBYPDAMAYMSK2T","newsletter","Produce a private local AI newsletter from bounded public research, with cited deep dives, HTML\u002FMarkdown output, Dagu scheduling and seven-day retention.","https:\u002F\u002Fgithub.com\u002Fcercova-studios\u002F10x-swe\u002Fblob\u002Fmain\u002Fplugins\u002Fknowledge\u002Fskills\u002Fnewsletter\u002FSKILL.md",[208,211],{"categoryNo":209,"categoryName":210,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":212,"categoryName":213,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[204,215,216,217,218,198,165,219,220,221,222,168,148,223,224,169,201,225],"local ai","dagu","produce","research","markdown","scheduling","html","daily","deep","retention","output"]