[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DX7K5MBQ05M3CKV5TZKTD2":3,"skill-same:01M6DX7K5MBQ05M3CKV5TZKTD2":85},{"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":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":14,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6DX7K5MBQ05M3CKV5TZKTD2","dry-logic-unifier",null,"Unify duplicated logic across multiple files.","CaptainPhantasy\u002Ffloyd-v5","CaptainPhantasy","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F196844434?v=4","01M6DWWPY0PH8P2QRDKEE2JX7Y","DOUGLAS A TALLEY","01M6DWWQ5DJ386DHHD8RSGDVKN",0,"MIT","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Frefactoring\u002Fdry-logic-unifier\u002FSKILL.md",[],[19,20,21,22,23,24],"logic","dry","dry logic unifier","refactoring","files","across","2026-11-10 10:12:30",false,"---\nname: dry-logic-unifier\ndescription: Unify duplicated logic across multiple files.\ncategory: refactoring\nversion: 1.0.0\nlicense: MIT\n---\n\n# dry-logic-unifier\nYou identify 'copy-paste' code patterns and consolidate them into a shared utility package.\n","# dry-logic-unifier\nYou identify 'copy-paste' code patterns and consolidate them into a shared utility package.\n",{"name":5,"license":15,"version":30,"category":22,"description":7},"1.0.0","main","aecb30865a3f12c8e7d03178a788df54714d005c","extensibility\u002Fskills\u002Frefactoring\u002Fdry-logic-unifier","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy","2026-07-22 16:03:37",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add CaptainPhantasy\u002Ffloyd-v5 --skill dry-logic-unifier",{"tool":43,"command":44},"bunx","bunx skills add CaptainPhantasy\u002Ffloyd-v5 --skill dry-logic-unifier",{"tool":46,"command":47},"pnpm","pnpm dlx skills add CaptainPhantasy\u002Ffloyd-v5 --skill dry-logic-unifier","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Frefactoring\u002Fdry-logic-unifier\u002FSKILL.md",true,[51,57,61,65,69,73,77,81],{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"spec-template.md","REFERENCE","参考文档",3289,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fspec-template.md",{"path":58,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":59,"sourceHtmlUrl":60},"step-01-clarify-and-route.md",5027,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fstep-01-clarify-and-route.md",{"path":62,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":63,"sourceHtmlUrl":64},"step-02-plan.md",1906,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fstep-02-plan.md",{"path":66,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":67,"sourceHtmlUrl":68},"step-03-implement.md",1511,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fstep-03-implement.md",{"path":70,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":71,"sourceHtmlUrl":72},"step-04-review.md",4025,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fstep-04-review.md",{"path":74,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":75,"sourceHtmlUrl":76},"step-05-present.md",4020,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fstep-05-present.md",{"path":78,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":79,"sourceHtmlUrl":80},"step-oneshot.md",2444,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fstep-oneshot.md",{"path":82,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":83,"sourceHtmlUrl":84},"workflow.md",3171,"https:\u002F\u002Fgithub.com\u002Fvladtara\u002Fhealthcabinet\u002Fblob\u002Fmaster\u002F.github\u002Fskills\u002Fbmad-quick-dev\u002Fworkflow.md",[86,107,121,136,153,161],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":97,"publishedAt":25},"01M6DX812GFADPZN8D58E50P5M","test-write-go","Generate idiomatic Go table-driven tests.","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Ftesting\u002Ftest-write-go\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[98,99,100,101,102,103,104,105,106],"test write go","write","test","go","driven","tests","table","generate","testing",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":114,"publishedAt":25},"01M6DX7VWWVPT6N411PQYQ3C8F","test-coverage-fix","Identify and fill missing test coverage gaps.","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Ftesting\u002Ftest-coverage-fix\u002FSKILL.md",[113],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},[115,116,117,118,100,119,120,106],"test coverage fix","test coverage","fix","coverage","missing","coverage gaps",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":25},"01M6DX7SCYFNVXVVTTCRH61XDC","security-audit-checklist","Run a security audit against a checklist of common vulnerabilities.","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Fsecurity\u002Fsecurity-audit-checklist\u002FSKILL.md",[],[128,129,130,131,132,133,134,135],"audit","security audit checklist","checklist","security audit","security","common","run","vulnerabilities",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":145,"publishedAt":25},"01M6DX7PR2CHY750EQCGN5Q7X3","refactor-extract","Surgically extract code into reusable functions or components.","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Frefactoring\u002Frefactor-extract\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000007","代码审查",[146,147,148,149,150,151,22,152],"refactor extract","extract","refactor","functions","components","code","reusable",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":25},"01M6DX7MVQQH71QPFMB8T2XQJ4","interface-generator","Extract interfaces from existing concrete types for better mockability.","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Frefactoring\u002Finterface-generator\u002FSKILL.md",[],[160,147,22],"interface generator",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":25},"01M6DX799N39ZMES66XQAP0XSM","lint-fix-go","Automatically fix common golangci-lint issues.","https:\u002F\u002Fgithub.com\u002FCaptainPhantasy\u002Ffloyd-v5\u002Fblob\u002Fmain\u002Fextensibility\u002Fskills\u002Flinting\u002Flint-fix-go\u002FSKILL.md",[167],{"categoryNo":143,"categoryName":144,"taxonomyType":95,"taxonomyTypeDesc":96},[101,169,117,170,171,172,133],"lint","lint fix","lint fix go","issues"]