dont-repeat-yourself
Use when writing similar code in multiple places. Use when copy-pasting code. Use when making the same change in multiple locations.
encapsulation
Use when exposing internal state. Use when making fields public for convenience. Use when external code modifies object internals.
error-boundaries
Use when deciding where to catch errors. Use when errors propagate too far or not far enough. Use when designing component/service isolation.
error-responses
Use when returning errors from APIs. Use when exposing internal errors. Use when error responses lack structure.
exception-hierarchies
Use when creating custom exceptions. Use when error handling feels chaotic. Use when catch blocks are too broad or too specific.
fail-fast
Use when handling errors. Use when tempted to catch and swallow exceptions. Use when returning default values to hide failures.
idempotency
Use when creating mutation endpoints. Use when trusting frontend to prevent duplicates. Use when payments or critical operations can be repeated.
immutability
Use when modifying objects or arrays. Use when tempted to mutate function parameters. Use when state changes cause unexpected bugs.
input-validation
Use when accepting user input. Use when handling request data. Use when trusting external data without validation.
interface-segregation-principle
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.
keep-it-simple
Use when tempted to write clever code. Use when solution feels complex. Use when showing off skills instead of solving problems.
law-of-demeter
Use when accessing nested object properties. Use when chaining method calls. Use when reaching through objects to get data.
lazy-loading
Use when loading all data upfront. Use when initial page load is slow. Use when fetching data that might not be needed.
liskov-substitution-principle
Use when creating subclasses or implementing interfaces. Use when tempted to override methods with exceptions or no-ops. Use when inheritance hierarchy feels wrong.
n-plus-one-prevention
Use when fetching related data in loops. Use when seeing multiple queries for one request. Use when database is slow on list endpoints.
open-closed-principle
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.
race-conditions
Use when multiple operations access shared state. Use when order of operations matters. Use when "it works most of the time" but occasionally fails mysteriously.
rest-conventions
Use when designing API endpoints. Use when using wrong HTTP methods. Use when POST is used for reads.
secrets-handling
Use when working with API keys, passwords, or credentials. Use when asked to hardcode secrets. Use when secrets might leak.
separation-of-concerns
Use when component does too many things. Use when mixing data fetching, logic, and presentation. Use when code is hard to test.
single-responsibility-principle
Use when creating or modifying classes, modules, or functions. Use when feeling pressure to add functionality to existing code. Use when class has multiple reasons to change.
skill-awareness
Always active. Tracks usage of code-craft skills across sessions. Log skill applications to enable analytics and identify gaps.
test-driven-development
Use when implementing any new feature or function. Use when asked to "add tests later". Use when writing code before tests.
test-isolation
Use when writing tests that share state. Use when tests depend on other tests. Use when test order matters.
you-aint-gonna-need-it
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.
RSpec Testing Patterns
Complete guide to testing Ruby on Rails applications with RSpec. Use this skill when writing unit tests, integration tests, system tests, or when setting up test infrastructure including factories, shared examples, and mocking strategies.
Ruby OOP Patterns
Comprehensive guide to Object-Oriented Programming in Ruby and Rails covering classes, modules, design patterns, SOLID principles, and modern Ruby 3.x features
Service Object Patterns
Complete guide to implementing Service Objects in Ruby on Rails applications. Use this skill when creating business logic services, organizing service namespaces, handling service results, and designing service interfaces for complex operations.
Sidekiq & Async Patterns
Complete guide to background job processing with Sidekiq in Ruby on Rails. Use this skill when: (1) Creating background jobs, (2) Configuring queues and workers, (3) Implementing retry logic and error handling, (4) Designing idempotent jobs, (5) Setting up scheduled/recurring jobs, (6) Optimizing job performance.
Skill Discovery Patterns
How the Rails Enterprise Dev plugin discovers and uses project skills dynamically
TailAdmin UI Patterns
TailAdmin dashboard UI framework patterns and Tailwind CSS classes. ALWAYS use this skill when: (1) Building any dashboard or admin panel interface, (2) Creating data tables, cards, charts, or metrics displays, (3) Implementing forms, buttons, alerts, or modals, (4) Building navigation (sidebar, header, breadcrumbs), (5) Any UI work that should follow TailAdmin design. This skill REQUIRES fetching from the official GitHub repository to ensure accurate class usage - NEVER invent classes.
ViewComponents Specialist
Specialist in ViewComponent implementation, component architecture, slots, previews, and method exposure patterns. Invoke this agent when creating or modifying ViewComponents, implementing component slots, setting up previews, debugging component rendering issues, or ensuring proper method delegation from services.
Accessibility Patterns
WCAG 2.2 Level AA compliance patterns for Flutter applications including Semantics widgets, screen reader support, keyboard navigation, and color contrast requirements
Advanced GetX Patterns
Advanced GetX features including Workers, GetxService, SmartManagement, GetConnect, GetSocket, bindings composition, and testing patterns
Clean Architecture Patterns
Domain, Data, and Presentation layer separation with dependency inversion and use case patterns
Code Quality Gates
Quality gate patterns including dart analysis, test coverage, build validation, and compliance checks
Core Layer Patterns
Base classes, error handling, utilities, configuration, and dependency injection patterns for Flutter Clean Architecture
Error Handling Patterns
Exception classes, failure classes, Either type, and error handling strategies
Flutter Conventions & Best Practices
Dart 3.x and Flutter 3.x conventions, naming patterns, code organization, null safety, and async/await best practices
GetStorage Patterns
Local storage with GetStorage for preferences, caching, and offline-first patterns
GetX State Management Patterns
GetX controllers, reactive state, dependency injection, bindings, navigation, and best practices
HTTP Integration Patterns
HTTP client configuration, API providers, error handling, and request/response patterns
Internationalization Patterns
Internationalization (i18n) and localization (l10n) patterns using GetX Translations for multi-language Flutter applications
Model Patterns
Entity and model patterns with JSON serialization, immutability, and equality
Navigation Patterns
GetX navigation patterns including routing, parameters, guards, deep linking, and custom transitions for Flutter applications
Performance Optimization
Performance optimization patterns for Flutter applications including widget optimization, memory management, profiling, and 60 FPS best practices
Repository Patterns
Repository interface and implementation patterns with offline-first strategies
Testing Patterns
Unit, widget, integration, and golden test patterns with mocking strategies
accessibility-patterns
Expert accessibility decisions for iOS/tvOS: when to combine vs separate elements, label vs hint selection, Dynamic Type layout strategies, and WCAG AA compliance trade-offs. Use when implementing VoiceOver support, handling Dynamic Type, or ensuring accessibility compliance. Trigger keywords: accessibility, VoiceOver, Dynamic Type, WCAG, a11y, accessibilityLabel, accessibilityElement, accessibilityTraits, isAccessibilityElement, reduceMotion, contrast, focus
alamofire-patterns
Expert Alamofire decisions for iOS/tvOS: when Alamofire adds value vs URLSession suffices, interceptor chain design trade-offs, retry strategy selection, and certificate pinning considerations. Use when designing network layer, implementing auth token refresh, or choosing between networking approaches. Trigger keywords: Alamofire, URLSession, interceptor, RequestAdapter, RequestRetrier, certificate pinning, Session, network layer, token refresh, retry
Page 554 of 1447 · 72311 results