Use when evaluating whether a proposed change fits the existing architecture. Prevents layer violations, dependency cycles, and accidental coupling.
Use when the user wants a code review instead of implementation. Prioritizes correctness bugs, behavioral regressions, missing tests, and risky assumptions.
Use when reviewing documentation for accuracy, completeness, and alignment with source code. Catches doc-code drift before it confuses readers.
Use when making changes that should be committed. Enforces atomic commits, meaningful messages, and clean history.
Use when investigating slow execution, high memory usage, or excessive token consumption. Systematic measurement before optimization.
Use when improving code structure without changing behavior. Ensures each refactoring step preserves all existing tests.
Use when reviewing code for security vulnerabilities. Covers prompt injection, path traversal, command injection, and agent-specific attack vectors.
Use when encountering any bug, test failure, or unexpected behavior. Four-phase root cause investigation. No fixes without understanding the problem first.