Use on first entry to a new repository to run environment scanning and ask targeted boundary questions before implementation.
Use after writing or modifying code to enforce the mandatory write → test → fix → repeat validation cycle.
Use to maximize prompt cache hit rates across LLM providers by enforcing a stable instruction loading order and file size discipline.
Use to maintain persistent context across agent sessions — decision logs, architecture memory, and constraint tracking.
Use immediately after codebase discovery to classify task scale and determine which workflow steps are required vs. optional.
Use when the main deliverable is maintainable documentation such as repository rules, onboarding guides, runbooks, ADRs, or architecture notes.
Use to verify MCP tool server availability before relying on external tools, and to manage fallback strategies when tools are unavailable.
Use before any implementation to understand the codebase structure, existing patterns, dependency graph, and project conventions.
Use for general product implementation work that is not primarily backend architecture, pure integration wiring, or screenshot-driven design-to-code.
Use before committing to a design or plan to force assumption-surfacing. The agent challenges your design, questions edge cases, and flags gaps — you patch vague decisions.
Use when backend work requires contract-first thinking, schema changes, permission checks, side-effect analysis, or test planning.