
Deep vs shallow modules (Ousterhout). Use when designing APIs, reviewing module boundaries, or when the user wants smaller interfaces with richer implementations.
Refactor candidates after TDD (duplication, long methods, shallow modules, etc.). Use during refactor phase of red-green-refactor or when reviewing code quality.
Interface design for testability (dependency injection, pure results, small surface). Use when designing APIs, reviewing testability, or refactoring for tests.
Good vs bad tests (integration-style, public API, behavior not implementation). Use when writing or reviewing tests, or paired with TDD and mocking skills.
Reduz consumo de tokens e créditos no Cursor com leitura mínima de contexto. Use quando o usuário pedir para "ler só o necessário", diminuir custo, definir .cursorignore/.gitignore, limitar escopo, ou trabalhar com contexto grande.
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
When and how to mock (system boundaries only, DI, SDK-style APIs). Use when writing tests, reviewing mocks, or the user asks what to mock.
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved under ./prd/PRD-NNN-feature-slug/plan.md (see prd/INDEX.md). Use when user wants to break down a PRD, create an implementation plan, plan phases from a PRD, or mentions "tracer bullets".
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development.