Reviews a commit for what it broke or left unfinished outside the files it touched — callers never updated, schemas and configs out of sync, stubs and TODOs, non-existent or deprecated APIs and packages. Use when reviewing a diff for cross-file coherence and completeness.
Reviews a commit for responsibility placement — SOLID violations, god classes, wrong-layer fixes, leaky abstractions, free functions that should be a type with methods, and changes that patch a symptom where the invariant does not live. Use when reviewing a diff for architecture or separation of concerns.
Reviews a commit's tests for whether they are worth having — tests written at too low a level (a unit test per internal function instead of one through the real boundary), weak or absent oracles, weakened assertions, skipped cases, mocks that do not match production, and tests edited to fit the patch. Use when…
A skill and a script that put a question to Gemini through Vertex AI — a model that has not read this session — and bring the answer back as an argument to check, not an authority to follow.
Puts a question to Gemini — a model outside this session — and brings the answer back. Use when a decision has two defensible options and no data separates them, when a diagnosis has survived only your own reasoning, when a design is about to be built and nobody has argued against it, or when the user asks what…
A skill that decides UI wording, control, placement and states, five read-only UI reviewers, and a PreToolUse hook that supplies the first while UI is written and the second once it is committed.
Reviews a diff against the hard accessibility floor — controls with no accessible name, icon-only buttons without aria-label, placeholders used as labels, an accessible name that does not contain the visible label, targets under 24x24 CSS px (44pt Apple / 48dp Material), contrast under 4.5:1 or 3:1, colour as the only…
Reviews a diff for whether each interactive element is the right kind of control — clickable divs instead of buttons, links used for actions and buttons used for navigation, a switch where a checkbox belongs (or a switch that needs a Save button), radios vs select vs combobox at the wrong list length, a modal where…
Reviews a diff for the wording of everything a user reads — button and menu labels that should be a verb but are a noun (or the reverse), generic OK/Yes/Submit on a decision, unnatural word order, inconsistent terminology for one action, list and timeline rows worded as commands, error and empty-state text that does…
Reviews a diff for where elements sit and how they group — dialog button order against the host platform, a form's submit in the wrong place, a destructive action pressed up against a safe one, a divider between every row (or none between unrelated groups), timeline and list events with no boundary, labels beside…
Reviews a diff for the states a screen owes beyond the happy path — a fetch with no loading, empty, or error rendering; an empty state that cannot be told apart from a failed one; no feedback on a long action; a destructive action with neither undo nor confirmation; validation that fires while the user is still…
Decides the wording, the control, the placement, and the states of a user-facing interface element — what a button is called and whether it is a verb or a noun, button vs link vs toggle vs checkbox, modal vs inline, dialog button order, what a list row says, which states a screen owes, and the accessibility floor it…