[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CZKXBJEJH4HTDC0K2SG2BW":3,"skill-same:01M6CZKXBJEJH4HTDC0K2SG2BW":42},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":16,"publishedAt":17,"linkOnly":18,"markdownContent":19,"markdownBody":19,"frontMatter":20,"refName":21,"commitSha":22,"skillDirectory":23,"forksCount":24,"repositoryHtmlUrl":25,"repositoryHomepageUrl":6,"ownerHtmlUrl":26,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":27,"install":28,"resources":41},"01M6CZKXBJEJH4HTDC0K2SG2BW","refactoring",null,"Testing-itay\u002FDevTools-Security-Lab","Testing-itay","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F230151326?v=4","01M6CZH4Q5Z571N5ZRZWMQ3YBS","01M6CZH4W55EHV4P1D3SNNRXSS",0,"MIT","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Frefactoring\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"\n\n\n\n---\nname: Refactoring Assistant\ndescription: Suggest and apply code refactoring patterns to improve code quality.\n---\n\n# Refactoring Assistant Skill\n\nGuide and execute refactoring to improve readability, maintainability, and adherence to design principles.\n\n## Code Smells to Address\n\n- **Long methods**: Extract into smaller, well-named functions. Aim for single responsibility per function.\n- **Large classes**: Split by responsibility. Consider composition over inheritance.\n- **Duplicate code**: Extract common logic into shared functions or base classes. Apply DRY.\n- **Long parameter lists**: Introduce parameter objects or builder patterns.\n- **Feature envy**: Move behavior to the class that owns the data.\n- **Primitive obsession**: Replace primitives with value objects for domain concepts.\n- **Speculative generality**: Remove unused abstractions; YAGNI.\n\n## Design Patterns\n\n- **Strategy**: Extract varying algorithms into interchangeable strategies.\n- **Factory\u002FBuilder**: Simplify object creation with complex setup.\n- **Observer\u002FEvent**: Decouple producers from consumers for event-driven flows.\n- **Repository**: Abstract data access for testability and flexibility.\n- **Decorator**: Add behavior without subclassing. Use for cross-cutting concerns.\n\n## SOLID Principles\n\n- **S**ingle Responsibility: One reason to change per class\u002Fmodule.\n- **O**pen\u002FClosed: Extend via new code, not modification of existing code.\n- **L**iskov Substitution: Subtypes must be substitutable for their base types.\n- **I**nterface Segregation: Prefer many specific interfaces over one general one.\n- **D**ependency Inversion: Depend on abstractions, not concretions. Inject dependencies.\n\n## Workflow\n\nPropose refactorings in small, incremental steps. Ensure tests pass after each step. Prefer automated refactorings (rename, extract method) where the IDE supports them. Document the rationale for each change.\n",{},"main","1188d0dcbd4e64256d35bfe14c955ba1c541b1de",".codex\u002Fskills\u002Frefactoring",13,"https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab","https:\u002F\u002Fgithub.com\u002FTesting-itay","2026-10-16 16:13:27",{"source":7,"skillName":5,"commands":29,"prompt":39,"zipAvailable":40},[30,33,36],{"tool":31,"command":32},"npx","npx skills add Testing-itay\u002FDevTools-Security-Lab --skill refactoring",{"tool":34,"command":35},"bunx","bunx skills add Testing-itay\u002FDevTools-Security-Lab --skill refactoring",{"tool":37,"command":38},"pnpm","pnpm dlx skills add Testing-itay\u002FDevTools-Security-Lab --skill refactoring","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Frefactoring\u002FSKILL.md",true,[],[43,52,61,70,79,84],{"skillNo":44,"name":45,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":46,"categories":47,"keywords":48,"publishedAt":17},"01M6CZR9VVRMS754ZKH7NPNMB1","sds-plugin-a11y-check","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fsds-frontend-plugin\u002Fskills\u002Fsds-plugin-a11y-check\u002FSKILL.md",[],[49,50,51],"sds plugin a11y check","check","plugin",{"skillNo":53,"name":54,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":55,"categories":56,"keywords":57,"publishedAt":17},"01M6CZR8FQ30QGEV5D3SB6DDKP","endpoint-review","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fpython-api-plugin\u002Fskills\u002Fendpoint-review\u002FSKILL.md",[],[58,59,60],"endpoint review","endpoint","review",{"skillNo":62,"name":63,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":17},"01M6CZR6TYBN5EMBM70E096E66","schema-draft","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fpython-api-plugin\u002Fagents\u002Fpy-plugin-endpoint-designer\u002Fskills\u002Fschema-draft\u002FSKILL.md",[],[67,68,69],"schema","schema draft","draft",{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":17},"01M6CZR5SDWF91FHDK54XHXS67","doc-outline","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fai-documentation-workflow\u002Fskills\u002Fdoc-outline\u002FSKILL.md",[],[76,77,78],"doc outline","outline","doc",{"skillNo":80,"name":45,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":17},"01M6CZR3Z4WZCBA5FVJZB65B1Y","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewD\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fsds-frontend-plugin\u002Fskills\u002Fsds-plugin-a11y-check\u002FSKILL.md",[],[49,50,51],{"skillNo":85,"name":54,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":17},"01M6CZR2PR7T4XYSJJWQYYPXVW","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewD\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fpython-api-plugin\u002Fskills\u002Fendpoint-review\u002FSKILL.md",[],[60,58,59]]