ousterhout-principles
Apply Ousterhout's software design principles: detect shallow modules, information leakage, and complexity red flags. Use when reviewing code, designing modules, refactoring, or discussing architecture.
Apply Ousterhout's software design principles: detect shallow modules, information leakage, and complexity red flags. Use when reviewing code, designing modules, refactoring, or discussing architecture.
Layer 5: Interaction Interleaving for Maximum Information Gain
Invariance principle for asymptotic stability
Categorical Rewriting: Triad 4 (World Transformation)
Symfony framework mastery - Doctrine, DI container, Messenger, and enterprise architecture
{{LANGUAGE_NAME}} best practices with modern frameworks, {{PRIMARY_DOMAIN}}, and performance optimization for 2025
TDD for process documentation - test with subagents before writing, iterate until bulletproof
Safely replace legacy system piece by piece by building new implementation around it, routing traffic gradually, like a strangler fig tree
Clean Architecture, SOLID principles, and architectural decision guidance. Use when designing systems, evaluating architecture, making structural decisions, or reviewing for maintainability.
Apply universal naming principles: avoid Manager/Helper/Util, use intention-revealing names, domain language, verb+noun functions. Use when naming variables, functions, classes, reviewing names, or refactoring for clarity. Language-agnostic principles.
Multithreading and concurrency patterns for game servers including synchronization primitives
Language-agnostic backend patterns: API design, authentication, security, databases. Use when: designing APIs, implementing auth, securing endpoints, modeling data. Triggers: "api design", "rest api", "graphql", "authentication", "jwt", "oauth", "security", "owasp", "database schema", "migrations", "sql".
Evidence-first development with fail-closed behavior
CatSharp Scale Galois Connections between agent-o-rama and Plurigrid ACT via Mazzola's categorical music theory
Triages plan complexity to avoid heavyweight execution for trivial changes
Compose interfaces through embedding for flexible contracts
Document existing code patterns
Your approach to handling global atomic design. Use this skill when working on files where global atomic design comes into play.
Use when creating API services for backend communication with proper patterns for caching, error handling, and type safety.
Enforce the internal API proxy layer pattern. Use when adding API endpoints, fetching data from backend, implementing HMAC signing, or working with lib/api/* or app/api/*.
Tanstack Start, Router, and Query patterns for routing, data fetching, server functions, and tRPC integration. Use when working with routes, loaders, queries, mutations, search params, navigation, or server-side operations.
Guide for creating FastAPI endpoints following this project's conventions including routers, dependency injection, error handling, and OpenAPI documentation.