[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MW33B10QQN368CE7AABTS":3,"skill-same:01M71MW33B10QQN368CE7AABTS":48},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":26,"frontMatter":27,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":13,"repositoryHtmlUrl":31,"repositoryHomepageUrl":6,"ownerHtmlUrl":32,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":33,"install":34,"resources":47},"01M71MW33B10QQN368CE7AABTS","clean-architecture-evolution",null,"Incoders-Tools\u002Fdotnet-api-template","Incoders-Tools","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F143342627?v=4","01M6JB25XYFYJJMT1W0302VP3F","Incoders","01M71MVY8P8A83ZPPFNW5V9BS6",0,"MIT","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fclean-architecture-evolution\u002FSKILL.md",[],[18,19,20,21,22,23],"architecture","evolution","architecture evolution","clean","clean architecture","clean architecture evolution","2026-11-10 10:56:23",false,"# Skill: Clean Architecture Evolution\n\nUse this skill when the repository is still small but expected to grow.\n\nRules:\n\n- implement changes in a way that supports later extraction into Api\u002FApplication\u002FDomain\u002FInfrastructure\n- keep boundaries explicit even in a single-project phase\n- avoid choices that create coupling debt early\n",{},"main","0ccf888e11cc8a78914ea344faa3a9ccc6321373",".github\u002Fskills\u002Fclean-architecture-evolution","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template","https:\u002F\u002Fgithub.com\u002FIncoders-Tools","2026-04-27 13:01:47",{"source":7,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add Incoders-Tools\u002Fdotnet-api-template --skill clean-architecture-evolution",{"tool":40,"command":41},"bunx","bunx skills add Incoders-Tools\u002Fdotnet-api-template --skill clean-architecture-evolution",{"tool":43,"command":44},"pnpm","pnpm dlx skills add Incoders-Tools\u002Fdotnet-api-template --skill clean-architecture-evolution","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fclean-architecture-evolution\u002FSKILL.md",true,[],[49,57,66,72,92,103],{"skillNo":50,"name":51,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":24},"01M71MWA9NPJV2CKP63PEAY8NZ","reusable-cross-cutting","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Freusable-cross-cutting\u002FSKILL.md",[],[55,56],"reusable cross cutting","reusable",{"skillNo":58,"name":59,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":24},"01M71MW98C253FW7VAV43AQ2N6","openapi-first","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenapi-first\u002FSKILL.md",[],[63,64,65],"openapi first","first","openapi",{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":24},"01M71MW7X2AHA420DW18QYN21F","observability","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fobservability\u002FSKILL.md",[],[68],{"skillNo":73,"name":74,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":87,"publishedAt":24},"01M71MW68WK72X4ZX7A61GCRPF","localization-ready-api","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Flocalization-ready-api\u002FSKILL.md",[77,82],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[88,89,90,91],"ready","localization ready api","localization","api",{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":24},"01M71MW4PTRK9A2KVDCADMKJ4S","http-client-factory","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fhttp-client-factory\u002FSKILL.md",[],[98,99,100,101,102],"http client factory","http client","client","factory","http",{"skillNo":104,"name":105,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":24},"01M71MW17GFKXKYZ5C4DYFQ0F8","bearer-auth","https:\u002F\u002Fgithub.com\u002FIncoders-Tools\u002Fdotnet-api-template\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fbearer-auth\u002FSKILL.md",[],[109,110],"auth","bearer auth"]