api-versioning
Use when designing or modifying APIs. Use when adding breaking changes. Use when clients depend on API stability.
Discover Research skills, compare source repositories and read the instructions for each workflow.
Use when designing or modifying APIs. Use when adding breaking changes. Use when clients depend on API stability.
Use when tempted to use class inheritance. Use when creating class hierarchies. Use when subclass needs only some parent behavior.
Use when a class creates its own dependencies. Use when instantiating concrete implementations inside a class. Use when told to avoid dependency injection for simplicity.
Use when handling errors. Use when tempted to catch and swallow exceptions. Use when returning default values to hide failures.
Use when acquiring multiple locks. Use when operations wait for each other. Use when system hangs without crashing.
Use when creating subclasses or implementing interfaces. Use when tempted to override methods with exceptions or no-ops. Use when inheritance hierarchy feels wrong.
Use when designing interfaces. Use when implementing interfaces with methods you don't need. Use when forced to implement throw/no-op for interface methods.
Use when tempted to add features "for later". Use when building "production-ready" systems before needed. Use when adding flexibility that isn't required yet.
Use when creating custom exceptions. Use when error handling feels chaotic. Use when catch blocks are too broad or too specific.
Use when adding new functionality to existing code. Use when tempted to add if/else or switch branches. Use when extending behavior of existing classes.
Python application architecture with functional core, effectful shell, DDD, and data modeling. Use when designing application layers, separating pure business logic from IO, defining domain models, implementing...
Use when component does too many things. Use when mixing data fetching, logic, and presentation. Use when code is hard to test.
Complete fullstack development mastery covering modern web architectures, automation tools, AI integration, and production deployment practices
Node.js patterns for Express/Fastify, async operations, and streams
React Native and Expo development patterns and best practices
Modern React patterns including hooks, state management, and performance
Django patterns for models, views, Django REST Framework, and best practices
Next.js App Router patterns, Server Components, and best practices
TypeScript strict mode patterns and advanced type techniques
Use when loading all data upfront. Use when initial page load is slow. Use when fetching data that might not be needed.
Use when modifying objects or arrays. Use when tempted to mutate function parameters. Use when state changes cause unexpected bugs.
Use when accessing nested object properties. Use when chaining method calls. Use when reaching through objects to get data.
Use when exposing internal state. Use when making fields public for convenience. Use when external code modifies object internals.
FastAPI patterns with Pydantic, async operations, and dependency injection
The default order uses GitHub repository stars from our indexed data. Stars belong to the source repository and may be shared by multiple skills. They indicate repository interest, not skill installs or an independent quality score.