Use proactively when reviewing the overall structure of a codebase, evaluating module boundaries, proposing ADRs, or assessing whether a proposed change fits the existing architecture. Invoke before any non-trivial refactor or feature that crosses module boundaries.
Use after staging changes with git add, before running git commit. Reads the staged diff and drafts a Conventional Commits message that describes what actually changed. Use proactively whenever the user is about to commit.
Use proactively before merging code that touches database queries, cloud resources, background jobs, third-party API calls, or hot paths. Flags patterns that look fine in dev but become expensive at production scale. Also use on demand for cost reviews of a codebase or infrastructure-as-code.
Use proactively when a dependency file changes (package.json, requirements.txt, Pipfile, pyproject.toml, Cargo.toml, go.mod, Gemfile, pom.xml, build.gradle), or on demand for a periodic audit. Identifies outdated, vulnerable, unused, duplicated, and license-incompatible dependencies.
Use proactively before merging any PR that touches auth, IAM, network policy, secrets handling, user input, or external API calls. Also use on demand to sweep a codebase for hardcoded credentials, exposed tokens, insecure defaults, and OWASP Top 10 patterns.
Use when a test is failing and you want a focused diagnosis and fix. Invoke with the failing test name or file path. The agent runs the test, isolates the cause, and proposes the minimal change. Use proactively after pulling main if any test broke.