[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ADS09RQ19DBNXEEW3TN9K2":3,"skill-same:01M6ADS09RQ19DBNXEEW3TN9K2":108},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":39,"ownerHtmlUrl":40,"ownerBlogUrl":41,"ownerDescription":42,"updatedAt":43,"install":44,"resources":57},"01M6ADS09RQ19DBNXEEW3TN9K2","kotlin-springboot",null,"Get best practices for developing applications with Spring Boot and Kotlin.","github\u002Fawesome-copilot","github","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9919?v=4","01M6AC83DS133TPXFSP1DHNCC6","GitHub","01M6AD3PBDYPK7NVFJNJ66Y8RS",41081,"MIT","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fkotlin-springboot\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"kotlin springboot","kotlin","boot","best practices","spring boot","applications","spring","get","with","for","2026-11-10 10:12:30",false,"---\nname: kotlin-springboot\ndescription: 'Get best practices for developing applications with Spring Boot and Kotlin.'\n---\n\n# Spring Boot with Kotlin Best Practices\n\nYour goal is to help me write high-quality, idiomatic Spring Boot applications using Kotlin.\n\n## Project Setup & Structure\n\n- **Build Tool:** Use Maven (`pom.xml`) or Gradle (`build.gradle`) with the Kotlin plugins (`kotlin-maven-plugin` or `org.jetbrains.kotlin.jvm`).\n- **Kotlin Plugins:** For JPA, enable the `kotlin-jpa` plugin to automatically make entity classes `open` without boilerplate.\n- **Starters:** Use Spring Boot starters (e.g., `spring-boot-starter-web`, `spring-boot-starter-data-jpa`) as usual.\n- **Package Structure:** Organize code by feature\u002Fdomain (e.g., `com.example.app.order`, `com.example.app.user`) rather than by layer.\n\n## Dependency Injection & Components\n\n- **Primary Constructors:** Always use the primary constructor for required dependency injection. It's the most idiomatic and concise approach in Kotlin.\n- **Immutability:** Declare dependencies as `private val` in the primary constructor. Prefer `val` over `var` everywhere to promote immutability.\n- **Component Stereotypes:** Use `@Service`, `@Repository`, and `@RestController` annotations just as you would in Java.\n\n## Configuration\n\n- **Externalized Configuration:** Use `application.yml` for its readability and hierarchical structure.\n- **Type-Safe Properties:** Use `@ConfigurationProperties` with `data class` to create immutable, type-safe configuration objects.\n- **Profiles:** Use Spring Profiles (`application-dev.yml`, `application-prod.yml`) to manage environment-specific configurations.\n- **Secrets Management:** Never hardcode secrets. Use environment variables or a dedicated secret management tool like HashiCorp Vault or AWS Secrets Manager.\n\n## Web Layer (Controllers)\n\n- **RESTful APIs:** Design clear and consistent RESTful endpoints.\n- **Data Classes for DTOs:** Use Kotlin `data class` for all DTOs. This provides `equals()`, `hashCode()`, `toString()`, and `copy()` for free and promotes immutability.\n- **Validation:** Use Java Bean Validation (JSR 380) with annotations (`@Valid`, `@NotNull`, `@Size`) on your DTO data classes.\n- **Error Handling:** Implement a global exception handler using `@ControllerAdvice` and `@ExceptionHandler` for consistent error responses.\n\n## Service Layer\n\n- **Business Logic:** Encapsulate business logic within `@Service` classes.\n- **Statelessness:** Services should be stateless.\n- **Transaction Management:** Use `@Transactional` on service methods. In Kotlin, this can be applied to class or function level.\n\n## Data Layer (Repositories)\n\n- **JPA Entities:** Define entities as classes. Remember they must be `open`. It's highly recommended to use the `kotlin-jpa` compiler plugin to handle this automatically.\n- **Null Safety:** Leverage Kotlin's null-safety (`?`) to clearly define which entity fields are optional or required at the type level.\n- **Spring Data JPA:** Use Spring Data JPA repositories by extending `JpaRepository` or `CrudRepository`.\n- **Coroutines:** For reactive applications, leverage Spring Boot's support for Kotlin Coroutines in the data layer.\n\n## Logging\n\n- **Companion Object Logger:** The idiomatic way to declare a logger is in a companion object.\n  ```kotlin\n  companion object {\n      private val logger = LoggerFactory.getLogger(MyClass::class.java)\n  }\n  ```\n- **Parameterized Logging:** Use parameterized messages (`logger.info(\"Processing user {}...\", userId)`) for performance and clarity.\n\n## Testing\n\n- **JUnit 5:** JUnit 5 is the default and works seamlessly with Kotlin.\n- **Idiomatic Testing Libraries:** For more fluent and idiomatic tests, consider using **Kotest** for assertions and **MockK** for mocking. They are designed for Kotlin and offer a more expressive syntax.\n- **Test Slices:** Use test slice annotations like `@WebMvcTest` or `@DataJpaTest` to test specific parts of the application.\n- **Testcontainers:** Use Testcontainers for reliable integration tests with real databases, message brokers, etc.\n\n## Coroutines & Asynchronous Programming\n\n- **`suspend` functions:** For non-blocking asynchronous code, use `suspend` functions in your controllers and services. Spring Boot has excellent support for coroutines.\n- **Structured Concurrency:** Use `coroutineScope` or `supervisorScope` to manage the lifecycle of coroutines.\n","# Spring Boot with Kotlin Best Practices\n\nYour goal is to help me write high-quality, idiomatic Spring Boot applications using Kotlin.\n\n## Project Setup & Structure\n\n- **Build Tool:** Use Maven (`pom.xml`) or Gradle (`build.gradle`) with the Kotlin plugins (`kotlin-maven-plugin` or `org.jetbrains.kotlin.jvm`).\n- **Kotlin Plugins:** For JPA, enable the `kotlin-jpa` plugin to automatically make entity classes `open` without boilerplate.\n- **Starters:** Use Spring Boot starters (e.g., `spring-boot-starter-web`, `spring-boot-starter-data-jpa`) as usual.\n- **Package Structure:** Organize code by feature\u002Fdomain (e.g., `com.example.app.order`, `com.example.app.user`) rather than by layer.\n\n## Dependency Injection & Components\n\n- **Primary Constructors:** Always use the primary constructor for required dependency injection. It's the most idiomatic and concise approach in Kotlin.\n- **Immutability:** Declare dependencies as `private val` in the primary constructor. Prefer `val` over `var` everywhere to promote immutability.\n- **Component Stereotypes:** Use `@Service`, `@Repository`, and `@RestController` annotations just as you would in Java.\n\n## Configuration\n\n- **Externalized Configuration:** Use `application.yml` for its readability and hierarchical structure.\n- **Type-Safe Properties:** Use `@ConfigurationProperties` with `data class` to create immutable, type-safe configuration objects.\n- **Profiles:** Use Spring Profiles (`application-dev.yml`, `application-prod.yml`) to manage environment-specific configurations.\n- **Secrets Management:** Never hardcode secrets. Use environment variables or a dedicated secret management tool like HashiCorp Vault or AWS Secrets Manager.\n\n## Web Layer (Controllers)\n\n- **RESTful APIs:** Design clear and consistent RESTful endpoints.\n- **Data Classes for DTOs:** Use Kotlin `data class` for all DTOs. This provides `equals()`, `hashCode()`, `toString()`, and `copy()` for free and promotes immutability.\n- **Validation:** Use Java Bean Validation (JSR 380) with annotations (`@Valid`, `@NotNull`, `@Size`) on your DTO data classes.\n- **Error Handling:** Implement a global exception handler using `@ControllerAdvice` and `@ExceptionHandler` for consistent error responses.\n\n## Service Layer\n\n- **Business Logic:** Encapsulate business logic within `@Service` classes.\n- **Statelessness:** Services should be stateless.\n- **Transaction Management:** Use `@Transactional` on service methods. In Kotlin, this can be applied to class or function level.\n\n## Data Layer (Repositories)\n\n- **JPA Entities:** Define entities as classes. Remember they must be `open`. It's highly recommended to use the `kotlin-jpa` compiler plugin to handle this automatically.\n- **Null Safety:** Leverage Kotlin's null-safety (`?`) to clearly define which entity fields are optional or required at the type level.\n- **Spring Data JPA:** Use Spring Data JPA repositories by extending `JpaRepository` or `CrudRepository`.\n- **Coroutines:** For reactive applications, leverage Spring Boot's support for Kotlin Coroutines in the data layer.\n\n## Logging\n\n- **Companion Object Logger:** The idiomatic way to declare a logger is in a companion object.\n  ```kotlin\n  companion object {\n      private val logger = LoggerFactory.getLogger(MyClass::class.java)\n  }\n  ```\n- **Parameterized Logging:** Use parameterized messages (`logger.info(\"Processing user {}...\", userId)`) for performance and clarity.\n\n## Testing\n\n- **JUnit 5:** JUnit 5 is the default and works seamlessly with Kotlin.\n- **Idiomatic Testing Libraries:** For more fluent and idiomatic tests, consider using **Kotest** for assertions and **MockK** for mocking. They are designed for Kotlin and offer a more expressive syntax.\n- **Test Slices:** Use test slice annotations like `@WebMvcTest` or `@DataJpaTest` to test specific parts of the application.\n- **Testcontainers:** Use Testcontainers for reliable integration tests with real databases, message brokers, etc.\n\n## Coroutines & Asynchronous Programming\n\n- **`suspend` functions:** For non-blocking asynchronous code, use `suspend` functions in your controllers and services. Spring Boot has excellent support for coroutines.\n- **Structured Concurrency:** Use `coroutineScope` or `supervisorScope` to manage the lifecycle of coroutines.\n",{"name":5,"description":7},"main","5269f7ea2d6c3a9bfda5ed878b6726cf509121fd","skills\u002Fkotlin-springboot",5344,"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-13 02:05:36",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add github\u002Fawesome-copilot --skill kotlin-springboot",{"tool":50,"command":51},"bunx","bunx skills add github\u002Fawesome-copilot --skill kotlin-springboot",{"tool":53,"command":54},"pnpm","pnpm dlx skills add github\u002Fawesome-copilot --skill kotlin-springboot","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot\u002Fblob\u002Fmain\u002Fskills\u002Fkotlin-springboot\u002FSKILL.md",true,[58,64,70,74,80,84,88,92,96,100,104],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"FORMS.md","REFERENCE","参考文档",11857,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002FFORMS.md",{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"LICENSE.txt","LICENSE","许可证",11357,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002FLICENSE.txt",{"path":71,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":72,"sourceHtmlUrl":73},"REFERENCE.md",16724,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002FREFERENCE.md",{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"scripts\u002Fcheck_bounding_boxes.py","SCRIPT","脚本",2774,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Fcheck_bounding_boxes.py",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Fcheck_fillable_fields.py",268,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Fcheck_fillable_fields.py",{"path":85,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":86,"sourceHtmlUrl":87},"scripts\u002Fconvert_pdf_to_images.py",1008,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Fconvert_pdf_to_images.py",{"path":89,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fcreate_validation_image.py",1258,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Fcreate_validation_image.py",{"path":93,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":94,"sourceHtmlUrl":95},"scripts\u002Fextract_form_field_info.py",4300,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Fextract_form_field_info.py",{"path":97,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":98,"sourceHtmlUrl":99},"scripts\u002Fextract_form_structure.py",3945,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Fextract_form_structure.py",{"path":101,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":102,"sourceHtmlUrl":103},"scripts\u002Ffill_fillable_fields.py",3819,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Ffill_fillable_fields.py",{"path":105,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":106,"sourceHtmlUrl":107},"scripts\u002Ffill_pdf_form_with_annotations.py",3235,"https:\u002F\u002Fgithub.com\u002Fderseitenschneider\u002Fdotfiles\u002Fblob\u002Fmain\u002Fclaude-config\u002F.claude\u002Fskills\u002Fsynced\u002Fc18e4183-2bcf-4f84-9592-16baf9918832_492d02ae-7d32-4227-a9d4-d9f601100de4\u002Fpdf\u002Fscripts\u002Ffill_pdf_form_with_annotations.py",[109,143,170,199,233,250],{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":123,"publishedAt":29},"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",[115,120],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":121,"categoryName":122,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000023","Skill与智能体开发",[124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,27],"supabase","rls","supabase rls","supabase rls policies","project","when","review","change","read","write","security","isolation","tables","as","tests","prove","use","users","functions",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":29},"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",[149],{"categoryNo":121,"categoryName":122,"taxonomyType":118,"taxonomyTypeDesc":119},[151,152,153,154,155,156,28,157,158,159,160,161,162,163,164,165,166,167,168,169],"distribution","skill distribution audit","audit","SET","deterministic","installer","discovery","comparison","helper","manifest","version","collection","drift","output","investigate","duplicate","template","release","reconcile",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":174,"sourceHtmlUrl":175,"categories":176,"keywords":182,"publishedAt":29},"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",[177],{"categoryNo":178,"categoryName":179,"taxonomyType":180,"taxonomyTypeDesc":181},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[183,184,185,186,187,188,28,128,189,24,190,191,192,193,194,140,195,196,197,198],"custom","code","logicapps custom code net10 migration","migration","projects","standalone","deployment","local","azure","worker","upgrades","package","apps","Legacy","debugging","workflows",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":203,"sourceHtmlUrl":204,"categories":205,"keywords":210,"publishedAt":29},"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",[206,209],{"categoryNo":207,"categoryName":208,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":178,"categoryName":179,"taxonomyType":180,"taxonomyTypeDesc":181},[211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,129,226,227,228,229,230,28,231,232],"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":234,"name":235,"nameZh":6,"description":236,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":237,"licenseFileUrl":238,"sourceHtmlUrl":239,"categories":240,"keywords":246,"publishedAt":29},"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",[241,242,245],{"categoryNo":207,"categoryName":208,"taxonomyType":118,"taxonomyTypeDesc":119},{"categoryNo":243,"categoryName":244,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":121,"categoryName":122,"taxonomyType":118,"taxonomyTypeDesc":119},[247,154,220,248,249],"resemble detect","https","identity",{"skillNo":251,"name":252,"nameZh":6,"description":253,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":237,"licenseFileUrl":254,"sourceHtmlUrl":255,"categories":256,"keywords":261,"publishedAt":29},"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",[257,260],{"categoryNo":258,"categoryName":259,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":121,"categoryName":122,"taxonomyType":118,"taxonomyTypeDesc":119},[262,263,264,265,184,130,9,153,266,267,248,268,269,270,271,272,273,274,275,276,277,278,138,279,280,281,282],"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"]