[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GXFMWG73F5VRY0Q32T45QG":3,"skill-same:01M6GXFMWG73F5VRY0Q32T45QG":73},{"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":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6GXFMWG73F5VRY0Q32T45QG","Migration Guide",null,"Framework migration patterns for code review. Covers dependency audits, breaking change detection, incremental migration strategy, and rollback planning.","malayvuong\u002Fagent-orchestra","malayvuong","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13240975?v=4","01M6GXCDVPB2VPZMDZK1KF98M0","Nguyen Minh Vuong","01M6GXCE176VDX3XV4Z4KNR33J",1,"MIT","https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Fmigration-guide\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"migration","guide","rollback","migration strategy","change detection","upgrade","patterns","dependency","strategy","code review","breaking change","migrate","detection","framework","planning","code","change","review","2026-11-10 10:12:30",false,"---\nname: Migration Guide\ndescription: Framework migration patterns for code review. Covers dependency audits, breaking change detection, incremental migration strategy, and rollback planning.\nversion: 2026.3.1\nlicense: MIT\ntriggers:\n  keywords:\n    - migrate\n    - migration\n    - upgrade\n---\n\nWhen reviewing migration code — framework upgrades, library replacements, or API version transitions — apply the following checks.\n\n## Dependency Audit\n\nVerify the `package.json` diff is intentional and minimal. Flag transitive dependency version conflicts introduced by the upgrade (use `pnpm why \u003Cpackage>` patterns). Check that peer dependency requirements are satisfied. Identify any removed dependencies that may still be needed by application code not yet migrated. Confirm `pnpm-lock.yaml` or equivalent is updated consistently.\n\n## Breaking Change Detection\n\nCross-reference the migration against the library's official changelog or migration guide. For each changed API, verify all call sites in the codebase have been updated — not just the files in the current PR. Flag deprecated API usage that still functions but will be removed in a future version. Check type signature changes: TypeScript compilation errors may be suppressed but runtime errors remain.\n\n## Incremental Migration Strategy\n\nLarge migrations must be broken into independently deployable steps. Flag PRs that attempt to migrate everything at once. Verify compatibility shims or adapters are used where old and new API must coexist during transition. Check that feature flags or environment variables gate new behavior so rollback is possible without a code deployment.\n\n## Rollback Plan\n\nEvery migration PR must have a clear rollback path. Verify database schema migrations are reversible (down migrations exist). Check that environment variable or configuration changes are documented and reversible. Flag migrations that delete data or make irreversible API contract changes without explicit stakeholder sign-off noted in the PR description.\n\n## Regression Surface\n\nIdentify which test fixtures, snapshots, or golden files need updating as a result of behavioral changes. Flag snapshot updates that mask real behavioral differences — each changed snapshot should be manually reviewed, not bulk-accepted. Verify integration and end-to-end tests cover the migrated paths. Check that CI passes on the exact dependency versions in the lockfile, not just resolved ranges.\n\n## Configuration and Environment\n\nVerify new required environment variables are documented in `.env.example`. Flag configuration keys that changed names without a deprecation alias. Check that secrets rotation is included in the migration plan if API keys or credentials changed format.\n","When reviewing migration code — framework upgrades, library replacements, or API version transitions — apply the following checks.\n\n## Dependency Audit\n\nVerify the `package.json` diff is intentional and minimal. Flag transitive dependency version conflicts introduced by the upgrade (use `pnpm why \u003Cpackage>` patterns). Check that peer dependency requirements are satisfied. Identify any removed dependencies that may still be needed by application code not yet migrated. Confirm `pnpm-lock.yaml` or equivalent is updated consistently.\n\n## Breaking Change Detection\n\nCross-reference the migration against the library's official changelog or migration guide. For each changed API, verify all call sites in the codebase have been updated — not just the files in the current PR. Flag deprecated API usage that still functions but will be removed in a future version. Check type signature changes: TypeScript compilation errors may be suppressed but runtime errors remain.\n\n## Incremental Migration Strategy\n\nLarge migrations must be broken into independently deployable steps. Flag PRs that attempt to migrate everything at once. Verify compatibility shims or adapters are used where old and new API must coexist during transition. Check that feature flags or environment variables gate new behavior so rollback is possible without a code deployment.\n\n## Rollback Plan\n\nEvery migration PR must have a clear rollback path. Verify database schema migrations are reversible (down migrations exist). Check that environment variable or configuration changes are documented and reversible. Flag migrations that delete data or make irreversible API contract changes without explicit stakeholder sign-off noted in the PR description.\n\n## Regression Surface\n\nIdentify which test fixtures, snapshots, or golden files need updating as a result of behavioral changes. Flag snapshot updates that mask real behavioral differences — each changed snapshot should be manually reviewed, not bulk-accepted. Verify integration and end-to-end tests cover the migrated paths. Check that CI passes on the exact dependency versions in the lockfile, not just resolved ranges.\n\n## Configuration and Environment\n\nVerify new required environment variables are documented in `.env.example`. Flag configuration keys that changed names without a deprecation alias. Check that secrets rotation is included in the migration plan if API keys or credentials changed format.\n",{"name":5,"license":15,"version":47,"triggers":48,"description":7},"2026.3.1",{"keywords":49},[35,24,29],"main","eac6069a8690d89fd23f08d2d14e4874ed376a77",".agent-orchestra\u002Fskills\u002Fmigration-guide",0,"https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra","https:\u002F\u002Fgithub.com\u002Fmalayvuong","www.malayvuong.com","Just a newbie at everything","2026-10-09 12:52:45",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add malayvuong\u002Fagent-orchestra --skill \"Migration Guide\"",{"tool":65,"command":66},"bunx","bunx skills add malayvuong\u002Fagent-orchestra --skill \"Migration Guide\"",{"tool":68,"command":69},"pnpm","pnpm dlx skills add malayvuong\u002Fagent-orchestra --skill \"Migration Guide\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Fmigration-guide\u002FSKILL.md",true,[],[74,114,132,150,171,191],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":94,"publishedAt":42},"01M6GXHYPRJ43SHFPFJTF87GS8","Vue.js Review","Deep review of Vue.js applications — Composition API patterns, reactivity traps, component design, Pinia state management, and performance pitfalls.","https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Fvue-review\u002FSKILL.md",[80,83,86,89],{"categoryNo":81,"categoryName":82,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":84,"categoryName":85,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[41,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113],"vue","js","Vue js Review","design","performance","component","state management","state","deep review","api patterns","applications","api","Composition","pinia","management","deep","logic","pitfalls","pinia state",{"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":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":42},"01M6GXHSPDDH1PQEN61ENMCEF5","Unity Review","Deep review of Unity C# code — object pooling, Update allocation, physics patterns, UI performance, serialization, and mobile optimization.","https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Funity-review\u002FSKILL.md",[],[41,121,116,99,122,39,103,123,124,125,126,30,127,110,111,128,129,130,131],"unity","update","ui","serialization","Optimization","mobile","physics","C#","mobile optimization","object","allocation",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":42},"01M6GXHNKTH12CGSRWDGF2H1Q9","TypeScript Review","Deep review of TypeScript code — type safety, generics patterns, strict mode compliance, type narrowing, module boundaries, and common escape hatches.","https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Ftypescript-review\u002FSKILL.md",[],[41,139,140,39,103,141,142,143,144,30,110,111,145,146,147,148,149],"typescript","typescript review","compliance","Type Safety","Safety","common","module","type","interface","consistency","mode",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":160,"publishedAt":42},"01M6GXHH3DMZD272RVH4800C67","Test Conventions","Testing patterns and conventions for code review. Covers naming, AAA structure, boundary testing, mock vs real dependencies, and coverage expectations.","https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Ftest-conventions\u002FSKILL.md",[156,157],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":158,"categoryName":159,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[161,162,152,33,163,41,39,164,165,166,30,167,168,169,170],"test","conventions","testing","testing patterns","boundary","coverage","dependencies","structure","mock","naming",{"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":181,"publishedAt":42},"01M6GXHCAQSJDVNVRFFD1HJWTN","Terraform Review","Deep review of Terraform\u002FOpenTofu configuration — state management, module design, security hardening, drift prevention, and production safety patterns.","https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Fterraform-review\u002FSKILL.md",[177,180],{"categoryNo":178,"categoryName":179,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[41,182,173,98,183,101,102,103,184,185,186,187,143,188,109,189,190,110,111,145],"terraform","security","cloud","aws","hardening","Production","opentofu","iac","drift",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":198,"publishedAt":42},"01M6GXH83F11CK4BQEAJPN6HDE","Swift Review","Deep review of Swift code — memory management, concurrency patterns, optionals, protocol design, SwiftUI lifecycle, and iOS platform patterns.","https:\u002F\u002Fgithub.com\u002Fmalayvuong\u002Fagent-orchestra\u002Fblob\u002Fmain\u002F.agent-orchestra\u002Fskills\u002Fswift-review\u002FSKILL.md",[197],{"categoryNo":87,"categoryName":88,"taxonomyType":21,"taxonomyTypeDesc":22},[199,41,193,98,200,99,39,201,103,202,203,204,205,206,109,110,111,207,208,209],"swift","memory","protocol","ios","concurrency","lifecycle","swiftui","uikit","xcode","apple","platform"]