the whiteboard defense, before every push
Could you defend
this diff at a whiteboard?¶
grip pulls you aside at the push and asks what a senior engineer would: how it works, why this way, where it fails, what could go wrong. Five questions written from your own diff, a Grip Score out of 100, a pass mark your team picks. In the terminal, and inside Claude Code, Codex, Gemini CLI and Cursor.
I don't expect line-level familiarity with the code. [...] But if I ask "why did you do X instead of Y?", "what happens if this actor behaves maliciously?", "what data structure did you use here and why?", or "where does this fail?" you should be able to answer confidently.
Mitchell Hashimoto, on the whiteboard defense. We found it after building grip. Why it is our bar
Install in one line¶
grip init writes .grip.toml, installs the pre-push hook and tells the coding agents
on your machine to run the quiz. It reuses Claude Code, Codex or Gemini CLI as the
model when one is installed, so most people never need an API key.
Adds /grip, /grip-review, /grip-explain and /grip-whiteboard to Claude Code, Codex, Gemini CLI,
Cursor, Windsurf, Cline and Copilot. Type /grip before you push.
The skill, plus a hook that stops Claude from running git push until the diff has
passed a quiz.
How it works¶
You push¶
The hook collects the diff: staged changes for a commit, every unpushed commit for a push. Lockfiles and generated code are left out.
grip asks¶
A model reads the diff and writes five questions with hidden rubrics: behaviour, motivation, an edge case, a risk, how you would test it.
You answer¶
A sentence or two each. At or above the pass mark the push goes through. Below it you get per-question feedback on what to re-read.
Follow one real change Inside grip
What you can do with it¶
-
Set up in one command
grip initwrites the config, installs the hook and wires your agents. -
Quiz inside your agent
/gripin Claude Code, Codex, Gemini CLI or Cursor. The agent relays, you answer. The Claude Code plugin also deniesgit pushuntil the diff has passed. -
Defend it at a whiteboard
grip whiteboarddraws the change and pins the questions to it, malicious actor and data structure included. -
Quiz the reviewer
/grip-review main..featurechecks that the person approving understands it too. -
Skip without hacks
grip skipfor one push,--hours 1for a demo. No environment variables. -
Practise on real problems
ROS 2, robotics and AI problems on Keep A Grip. Solve with any assistant, then get quizzed.
Bring your own model¶
grip writes and grades the questions with whatever you already use. Nothing but the diff and your answers leaves the machine, and only to the provider you choose.
| You have | Set in .grip.toml |
Key needed |
|---|---|---|
| Claude Code, Codex or Gemini CLI | provider = "claude-code", "codex" or "gemini" |
no |
| An Anthropic key | provider = "anthropic" (the default) |
ANTHROPIC_API_KEY |
| A local model | provider = "ollama" and a model |
no |
| Any OpenAI-compatible API | provider = "openai", base_url, model |
yes |
See it run¶
Recorded against the real CLI with the offline scripted provider, so the questions are canned. A real model writes them from your diff. What has and has not been measured about the quiz is on the honest numbers page.
Generate the prototype.
Defend what ships.