[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADH625PGW5DQ3E3GGP1TYY":3,"skill-same:01M6ADH625PGW5DQ3E3GGP1TYY":63},{"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":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M6ADH625PGW5DQ3E3GGP1TYY","ef-core",null,"Get best practices for Entity Framework Core","github\u002Fawesome-copilot","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3PBDYPK7NVFJNJ66Y8RS",41133,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fef-core\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"core","ef core","best practices","framework","framework core","get","entity framework core","entity","for","2026-11-10 10:12:30",false,"---\nname: ef-core\ndescription: 'Get best practices for Entity Framework Core'\n---\n\n# Entity Framework Core Best Practices\n\nYour goal is to help me follow best practices when working with Entity Framework Core.\n\n## Data Context Design\n\n- Keep DbContext classes focused and cohesive\n- Use constructor injection for configuration options\n- Override OnModelCreating for fluent API configuration\n- Separate entity configurations using IEntityTypeConfiguration\n- Consider using DbContextFactory pattern for console apps or tests\n\n## Entity Design\n\n- Use meaningful primary keys (consider natural vs surrogate keys)\n- Implement proper relationships (one-to-one, one-to-many, many-to-many)\n- Use data annotations or fluent API for constraints and validations\n- Implement appropriate navigational properties\n- Consider using owned entity types for value objects\n\n## Performance\n\n- Use AsNoTracking() for read-only queries\n- Implement pagination for large result sets with Skip() and Take()\n- Use Include() to eager load related entities when needed\n- Consider projection (Select) to retrieve only required fields\n- Use compiled queries for frequently executed queries\n- Avoid N+1 query problems by properly including related data\n\n## Migrations\n\n- Create small, focused migrations\n- Name migrations descriptively\n- Verify migration SQL scripts before applying to production\n- Consider using migration bundles for deployment\n- Add data seeding through migrations when appropriate\n\n## Querying\n\n- Use IQueryable judiciously and understand when queries execute\n- Prefer strongly-typed LINQ queries over raw SQL\n- Use appropriate query operators (Where, OrderBy, GroupBy)\n- Consider database functions for complex operations\n- Implement specifications pattern for reusable queries\n\n## Change Tracking & Saving\n\n- Use appropriate change tracking strategies\n- Batch your SaveChanges() calls\n- Implement concurrency control for multi-user scenarios\n- Consider using transactions for multiple operations\n- Use appropriate DbContext lifetimes (scoped for web apps)\n\n## Security\n\n- Avoid SQL injection by using parameterized queries\n- Implement appropriate data access permissions\n- Be careful with raw SQL queries\n- Consider data encryption for sensitive information\n- Use migrations to manage database user permissions\n\n## Testing\n\n- Use in-memory database provider for unit tests\n- Create separate testing contexts with SQLite for integration tests\n- Mock DbContext and DbSet for pure unit tests\n- Test migrations in isolated environments\n- Consider snapshot testing for model changes\n\nWhen reviewing my EF Core code, identify issues and suggest improvements that follow these best practices.\n","# Entity Framework Core Best Practices\n\nYour goal is to help me follow best practices when working with Entity Framework Core.\n\n## Data Context Design\n\n- Keep DbContext classes focused and cohesive\n- Use constructor injection for configuration options\n- Override OnModelCreating for fluent API configuration\n- Separate entity configurations using IEntityTypeConfiguration\n- Consider using DbContextFactory pattern for console apps or tests\n\n## Entity Design\n\n- Use meaningful primary keys (consider natural vs surrogate keys)\n- Implement proper relationships (one-to-one, one-to-many, many-to-many)\n- Use data annotations or fluent API for constraints and validations\n- Implement appropriate navigational properties\n- Consider using owned entity types for value objects\n\n## Performance\n\n- Use AsNoTracking() for read-only queries\n- Implement pagination for large result sets with Skip() and Take()\n- Use Include() to eager load related entities when needed\n- Consider projection (Select) to retrieve only required fields\n- Use compiled queries for frequently executed queries\n- Avoid N+1 query problems by properly including related data\n\n## Migrations\n\n- Create small, focused migrations\n- Name migrations descriptively\n- Verify migration SQL scripts before applying to production\n- Consider using migration bundles for deployment\n- Add data seeding through migrations when appropriate\n\n## Querying\n\n- Use IQueryable judiciously and understand when queries execute\n- Prefer strongly-typed LINQ queries over raw SQL\n- Use appropriate query operators (Where, OrderBy, GroupBy)\n- Consider database functions for complex operations\n- Implement specifications pattern for reusable queries\n\n## Change Tracking & Saving\n\n- Use appropriate change tracking strategies\n- Batch your SaveChanges() calls\n- Implement concurrency control for multi-user scenarios\n- Consider using transactions for multiple operations\n- Use appropriate DbContext lifetimes (scoped for web apps)\n\n## Security\n\n- Avoid SQL injection by using parameterized queries\n- Implement appropriate data access permissions\n- Be careful with raw SQL queries\n- Consider data encryption for sensitive information\n- Use migrations to manage database user permissions\n\n## Testing\n\n- Use in-memory database provider for unit tests\n- Create separate testing contexts with SQLite for integration tests\n- Mock DbContext and DbSet for pure unit tests\n- Test migrations in isolated environments\n- Consider snapshot testing for model changes\n\nWhen reviewing my EF Core code, identify issues and suggest improvements that follow these best practices.\n",{"name":5,"description":7},"main","5269f7ea2d6c3a9bfda5ed878b6726cf509121fd","skills\u002Fef-core",5354,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot","https:\u002F\u002Fawesome-copilot.github.com\u002F","https:\u002F\u002Fgithub.com\u002Fgithub","https:\u002F\u002Fgithub.com\u002Fabout","How people build software.","2026-11-14 05:37:52",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add github\u002Fawesome-copilot --skill ef-core",{"tool":49,"command":50},"bunx","bunx skills add github\u002Fawesome-copilot --skill ef-core",{"tool":52,"command":53},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill ef-core","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fef-core\u002FSKILL.md",true,[57],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"routing-eval.jsonl","OTHER","其他",787,"https:\u002F\u002Fgithub.com\u002Fshengdabai\u002FTony-Claude-Code-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fgbrain-voice-note-ingest\u002Frouting-eval.jsonl",[64,99,126,156,190,207],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":78,"publishedAt":28},"01M70KXZNX9ES38N2A8M58ZZMZ","supabase-rls-policies","Write, review, and test Supabase Row Level Security (RLS) policies so that one user cannot read or change another user's rows. Use when creating or changing tables, policies, views, or security definer functions in a Supabase project, when reviewing a migration that touches RLS, or when asked to prove user isolation with pgTAP tests that sign in as two users.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fsupabase-rls-policies\u002FSKILL.md",[70,75],{"categoryNo":71,"categoryName":72,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000023","Skill与智能体开发",[79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],"supabase","rls","supabase rls","supabase rls policies","project","when","review","change","read","write","security","isolation","tables","as","tests","prove","use","users","functions","with",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":106,"publishedAt":28},"01M70KWA5YWXDV6V8DZ19E3T2Y","skill-distribution-audit","Audit a skill collection before release or investigate installer omissions, archived\u002Ftemplate leakage, duplicate identities, and manifest drift. Reconcile the intended public source set, distribution manifest, and actual discovery output for a specified consumer version. Includes a deterministic set-comparison helper.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fskill-distribution-audit\u002FSKILL.md",[105],{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},[107,108,109,110,111,112,27,113,114,115,116,117,118,119,120,121,122,123,124,125],"distribution","skill distribution audit","audit","SET","deterministic","installer","discovery","comparison","helper","manifest","version","collection","drift","output","investigate","duplicate","template","release","reconcile",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":130,"sourceHtmlUrl":131,"categories":132,"keywords":138,"publishedAt":28},"01M70KCJPFVW7PPQ49CC5R8JGK","logicapps-custom-code-net10-migration","Migrate Azure Logic Apps Standard local-function custom-code projects from .NET 8 to .NET 10. Use for legacy Logic Apps custom-code workspace upgrades, project\u002Fpackage configuration, custom-worker settings, publication, and integrated VS Code debugging. Not for ordinary .NET applications, standalone Azure Functions, Consumption workflows, or cloud deployment.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Flogicapps-custom-code-net10-migration\u002FSKILL.md",[133],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[139,140,141,142,143,144,27,83,145,146,147,148,149,150,151,95,152,153,154,155],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","applications","local","azure","worker","upgrades","package","apps","Legacy","debugging","workflows",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":160,"sourceHtmlUrl":161,"categories":162,"keywords":167,"publishedAt":28},"01M6AEBN37RQMXJ3298PEY7PG1","winmd-api-search","Find and explore Windows desktop APIs. Use when building features that need platform capabilities — camera, file access, notifications, UI controls, AI\u002FML, sensors, networking, etc. Discovers the right API for a task and retrieves full type details (methods, properties, events, enumeration values).","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fwinmd-api-search\u002FSKILL.md",[163,166],{"categoryNo":164,"categoryName":165,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},[168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,84,183,184,185,186,187,27,188,189],"winmd api search","search","api","windows","desktop","file access","enumeration","ui","ml","file","networking","capabilities","notifications","explore","access","features","full","camera","events","platform","methods","controls",{"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":194,"licenseFileUrl":195,"sourceHtmlUrl":196,"categories":197,"keywords":203,"publishedAt":28},"01M6AE571R3SC1ZGE202B3NB5S","resemble-detect","Deepfake detection and media safety — detect AI-generated audio, images, video, and text, trace synthesis sources, apply watermarks, verify speaker identity, and analyze media intelligence using Resemble AI","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fresemble-detect\u002FSKILL.md",[198,199,202],{"categoryNo":164,"categoryName":165,"taxonomyType":73,"taxonomyTypeDesc":74},{"categoryNo":200,"categoryName":201,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},[204,110,177,205,206],"resemble detect","https","identity",{"skillNo":208,"name":209,"nameZh":6,"description":210,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":194,"licenseFileUrl":211,"sourceHtmlUrl":212,"categories":213,"keywords":218,"publishedAt":28},"01M6AE30BSK2HCY4TQQ22Z8JRD","quality-playbook","Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches. Finds the 35% of real defects that structural code review alone cannot catch. Works with any language. Trigger on 'quality playbook', 'spec audit', 'Council of Three', 'fitness-to-purpose', or 'coverage theater'.","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fquality-playbook\u002FSKILL.md",[214,217],{"categoryNo":215,"categoryName":216,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},[219,220,221,222,140,85,9,109,223,224,205,225,226,227,228,229,230,231,232,233,234,235,93,236,237,238,239],"playbook","quality playbook","quality","code review","tdd","run","report","spec","bug report","council","engineering","functional","spec audit","bug","verified","multi-model","three","coverage","model","regression","structural"]