100 levels ·
What level are you with agents?
A hundred things people who are good with coding agents actually do, from pasting screenshots to running adversarial reviewers. Your agent checks which ones you do, and hands you a card.
Paste it into Claude Code, Codex or Cursor. Your agent digs for your level on your own machine. Nothing is shared with us, unless you want it to be. What it reads
Learn next
Keep it
Nothing is saved unless you press one of these.
Get yours
Paste it into your agent. It checks on your machine and opens your own card.
The 100
Ten tiers, from first contact to full circle.
0

First contact
It edits, it runs things, it answers. You stop copy-pasting.
How it's checkedAny agent config folder exists: ~/.claude, ~/.codex, ~/.cursor, ~/.config/opencode, ~/.gemini, ~/.factory, ~/.pi. You're reading this from inside one, so: yes.
“To find value, you must use an agent.”
Mitchell Hashimoto · source
How it's checkedIts file-edit tool shows up in session logs (Edit, Write, apply_patch).
Peter's agent found: 307 file edits recently
How it's checked5+ prompts that are questions about the code (how, why, where, what does).
Ask it the questions you'd ask a senior engineer about the codebase.
Anthropic, Claude Code best practices, paraphrased · source
How it's checked5+ prompts with pasted blocks or raw logs ([Pasted text …], stack traces).
How it's checked3+ prompts with an image attached ([Image #…]).
Peter's agent found: 332 prompts with screenshots
Attaches a screenshot to a large share of his prompts; "fix padding" plus an image is enough.
Peter Steinberger, paraphrased · source
How it's checked5+ interrupted turns in session logs ("[Request interrupted by user]").
Peter's agent found: 24 interrupted turns
“Don't be afraid of stopping models mid-way.”
Peter Steinberger · source
How it's checked10+ prompts with @file mentions or explicit file paths.
How it's checkedIt ran git commit 5+ times in your sessions, or you use checkpoints.
Peter's agent found: 506 agent commits
How it's checked/clear, /new or a fresh session after a failed attempt, 3+ times.
After two failed corrections, /clear and write a better first prompt.
Anthropic, Claude Code best practices, paraphrased · source
How it's checked1+ session in a folder that isn't a git repo (Downloads, Documents, home).

Context
It knows what you know, because you told it.
How it's checkedAn AGENTS.md, CLAUDE.md, GEMINI.md or .cursor/rules in any repo you work in.
“I started with zero custom rules. I only added a rules file later after the model got a few things wrong”
Lee Robinson · source
How it's checked~/.claude/CLAUDE.md or ~/.codex/AGENTS.md exists and isn't empty.
How it's checkedA dictation app is installed (Wispr Flow, superwhisper, MacWhisper, VoiceInk, OpenWhispr, Aqua, Spokenly, Handy), or prompts read like speech (um, uh, long run-ons).
Peter's agent found: superwhisper and OpenWhispr installed
“the thing that killed my editor for me was fast local voice models more than OpenCode”
Dax Raad · source
How it's checked10+ prompts with URLs, or web fetches in session logs.
How it's checkedPrompts that name an existing file or project to copy ("like X", "same as Y", "follow Z").
How it's checkedPrompts that state a finish line ("done when", "until", "should show").
Goal, Context, Constraints, Done when: their prompt template.
OpenAI, Codex best practices, paraphrased · source
How it's checkedPlan mode used, or 5+ prompts asking for a plan before code.
“Plan mode in Cursor is one of the most underrated features.”
Lee Robinson · source
Pros disagreeSkips plan mode; asks for options and talks it through instead.
Peter Steinberger, paraphrased · source
How it's checked5+ prompts asking for variants, options or versions.
Peter's agent found: 51 requests for variants
How it's checkedIts ask-the-user tool used, a grill-me style skill installed, or prompts like "ask me" / "interview me".
Peter's agent found: grill-me, ask-me prompts
grill-me
Matt Pocock · source
How it's checkedA rules file changed 3+ times, agent memory notes saved, or prompts like "add this to AGENTS.md".
“Anytime we see Claude do something incorrectly we add it to the CLAUDE.md”
Boris Cherny · source

Checks
It proves the thing works before it says done.
How it's checked10+ prompts that ask it to verify, test, or make sure it works.
“give Claude a way to verify its work… 2-3x the quality”
Boris Cherny · source
How it's checkedPrompts about failing tests, TDD or red/green, or a TDD skill installed.
“Verify the same fixture fails before the fix and passes afterward; do not change expectations to match buggy behavior.”
Steph Ango · source
How it's checkedA browser MCP or skill installed, or 10+ browser-automation calls.
Peter's agent found: agent-browser, Playwright
How it's checked5+ prompts asking for proof, screenshots or recordings of the result.
“give me irrefutable proof that this works. Dazzle me. Give me a video as proof, or something.”
Thorsten Ball · source
How it's checked/rewind or a checkpoint restore used by you at least once (typed, not just mentioned).
How it's checkedIt ran 3+ different third-party CLIs (gh, aws, gcloud, vercel, netlify, stripe, supabase, wrangler, fly…).
Peter's agent found: gh, netlify, supabase, vercel, fly
How it's checkedPermission allow rules, Codex rules, or auto mode configured.
How it's checked/btw used, or a parallel throwaway session for a quick question.
How it's checkedQueued prompts in your agent's stats or logs, 20+.
Peter's agent found: 1,587 queued prompts
How it's checkedA hook or script that notifies you when it's done (sound, push, notification), or a rule telling it to.
“when it's done work it runs a `notify msg` bash function I have”
Chris McCord · source
Pros disagreeTurns agent notifications off, so he decides when to switch context.
Mitchell Hashimoto, paraphrased · source

Tools
It reaches past the repo: CLIs, servers, your browser, your inbox.
How it's checked1+ skill folder in ~/.claude/skills, ~/.codex/skills, ~/.agents/skills or a repo's .claude/skills.
How it's checked1+ MCP server configured.
Pros disagreePrefers CLIs: the GitHub MCP alone ate 23k tokens of context.
Peter Steinberger, paraphrased · source
How it's checkedIt ran gh pr create (or similar) 3+ times.
Peter's agent found: 101 PRs opened by agents
How it's checkedIt ran a deploy CLI 3+ times.
How it's checked1+ custom command in .claude/commands, or a user-invoked skill you wrote.
How it's checked/effort or /model switched 3+ times, or reasoning effort set in config.
Peter's agent found: 61 /model, 15 /effort
How it's checkedA usage tracker installed, or /usage, /stats, /cost used 3+ times.
Peter's agent found: CodexBar installed
How it's checkedA statusLine configured, or /context used 3+ times.
How it's checkedTwo sessions active in the same 10 minutes, on 5+ occasions (from prompt timestamps).
How it's checkedA mail, chat or calendar connector or MCP configured (names only).

Your setup
Rules, skills, hooks and memory that you wrote yourself.
How it's checkedA skill you wrote yourself: no upstream source or lockfile entry, or it lives in your own repo.
How it's checked10+ subagent runs in session logs.
Peter's agent found: 143 recent subagent runs
“Then, when I need anything new, I say "using a subagent in parallel, do X"”
Alexander Embiricos · source
How it's checkedA post-edit hook that runs a formatter or linter.
“We use a PostToolUse hook to format Claude's code.”
Boris Cherny · source
How it's checkedA pre-tool hook that blocks or guards commands.
“Replaces the bash tool with a `uv`-aware version that injects Python command shims and blocks common non-`uv` workflows.”
Armin Ronacher · source
How it's checked5+ memory notes, Codex memories on, or notes/progress files in your repos.
Peter's agent found: 63 memory notes
“Create a notes.md file in that folder and append notes to it as you work, tracking what you tried and anything you learned along the way.”
Simon Willison · source
How it's checkedA CLAUDE.md that is a symlink to, or imports, an AGENTS.md (or the other way round).
Peter's agent found: 10 repos share one rules file
“~/.codex/AGENTS.md -> ~/Projects/agent-scripts/AGENTS.MD ~/.claude/CLAUDE.md -> ~/Projects/agent-scripts/AGENTS.MD”
Peter Steinberger · source
How it's checkedThe rules file of the repo you work in most is under 150 lines and points to other docs for the rest.
“This file is included in full context for every agent conversation. Keep it tiny and stable.”
Kent C. Dodds · source
How it's checkedA SPEC.md, PLAN.md or plans/ folder in a repo you work in.
“I was providing structure, Claude was painting by the numbers.”
Alex Kladov · source
How it's checkedA PROGRESS.md, HANDOFF.md or todo.md, or a handoff skill.
“I should be able to tell a future agent "read PLAN.md and PROGRESS.md" and trust it's up to speed with this codebase.”
Thomas Ptacek · source
How it's checkedgit worktree list shows 2+ in any repo.
Peter's agent found: 34 worktrees in one repo
“Worktrees are essential… dozens of Claudes”
Boris Cherny · source
Pros disagree“Why not worktrees? I run one dev server, as I evolve my project I click through it and test multiple changes at once.”
Peter Steinberger (2025, he uses them now) · source

Second opinions
Another agent reads it before you do.
How it's checkedA review command, review skill or review subagent used 3+ times.
“making a human review a change before an LLM is disrespectful.”
Filippo Valsorda · source
How it's checkedReviews run in a fresh context (a new session or a subagent), not in the session that wrote the code.
“carefully read over all of the new code you just wrote … with "fresh eyes," looking super carefully for any obvious bugs … Use a subagent.”
Harper Reed · source
How it's checkedAn explain-diff or quiz skill, or prompts asking it to explain or quiz you on a change.
“I only merge after I pass the quiz perfectly.”
Thariq Shihipar · source
How it's checked3+ prompts asking for a diagram, chart or visual explanation.
“/show-me prompts the agent to use concise visuals to explain what's happening, instead of walls of prose.”
Dex Horthy · source
How it's checkedIt checked CI or PR status (gh pr checks, gh run) 5+ times.
Peter's agent found: 101 CI status checks
How it's checkedOne agent launched another (codex exec, claude -p, gemini -p) 3+ times.
Peter's agent found: Claude launches Codex for images
How it's checked3+ headless runs in shell history or logs.
How it's checkedRemotion, Hyperframes or ffmpeg renders from a session, or a video skill installed.
Peter's agent found: Hyperframes and Remotion renders
How it's checkedPermission prompts off AND a sandbox (devcontainer, Docker, VM, /sandbox). Prompts off without a box doesn't count.
“You have to turn off the sandbox, which means you have to provide your own sandbox. I have tried just about everything and I highly recommend: use a fresh VM.”
David Crawshaw · source

Off the desk
It works while you sleep, sit on the couch, or close the laptop.
How it's checkedA scheduled or recurring agent run (loop/cron tools, a launchd or cron entry that calls an agent).
Peter's agent found: 5 agent LaunchAgents
How it's checkedAgent activity between 1am and 6am while you typed nothing.
Peter's agent found: busy at night, no prompts
“This is over-hyped on Twitter, but I do really try and kick off 3-4 tasks in Codex before going to bed, so they'll be ready for review in the morning.”
Calvin French-Owen · source
How it's checkedRemote control set up, a mobile session, or mosh/Tailscale used to reach your agent box. Usually only you can tell, so you tick it.
Claude Code is better on your phone
Harper Reed · source
How it's checkedCloud or remote agent tasks in your history. Usually only you can tell, so you tick it.
“I feed this thing every little random tedious OSS task that I'd otherwise neglect on my TODO list”
Adam Wathan · source
How it's checked3+ prompts like "don't stop until" / "keep going until", or a goal set with /goal.
How it's checkedA shell loop or script that re-runs an agent, or /loop until a condition.
“while :; do cat PROMPT.md | claude-code ; done”
Geoffrey Huntley · source
How it's checkedclaude-code-action, codex action or similar in a .github/workflows file.
How it's checkedThe same task run in 2+ parallel sessions or worktrees.
“So I might kind of throw throw codex at it but I might just do it four times in parallel instead.”
Alexander Embiricos · source
How it's checkedMulti-round back-and-forth between two agents (rounds of review and fix, or relayed replies).
“let sol and fable implement / review / argue over night”
Dex Horthy · source

Orchestra
Many agents, one plan, and you still know who's doing what.
How it's checked5+ sessions or background agents running at the same time.
How it's checkedOne agent messaging or steering others (agent teams, SendMessage, an orchestrator session).
Peter's agent found: 36 SendMessage steers
“Tell coordinator to parallelize the work over 4 separate computers via SSH”
Andreas Kling · source
How it's checkedPer-agent model settings, or 3+ prompts assigning models to roles.
“Every implementation bead goes through this lifecycle: Fable design, Opus implementation, Fable review.”
Steve Yegge · source
How it's checked2+ custom agent definitions (.claude/agents/*.md or equivalent).
How it's checkedA workflow tool used, or a script that chains several agent runs.
How it's checkedReviews run by 2+ competing or adversarial agents.
“Assign two subagents to review your work adversarially. Tell them that whoever finds the largest number of legitimate significant issues gets 5 points.”
Jesse Vincent · source
How it's checkedFindings from 2+ review tools merged into one triaged list.
“Run a Claude sub-agent, Codex, and Cursor Bugbot to find bugs in this PR ranked by critical/high/medium/low.”
Nolan Lawson · source
How it's checkedRules, skills or memory edited by agent sessions 5+ times.
“Compound is still the most important step, because the whole point is that every feature should make the next feature easier.”
Kieran Klaassen · source
How it's checkedCustom lint rules, ast-grep rules or check scripts in a repo.
“encode as many rules as possible into deterministic checks (first) and adversarial reviews (second), instead of relying exclusively on a bunch of AGENTS.md files to do the job.”
José Valim · source
How it's checkedYour own scripts or CLIs that agents call regularly.

Harness
You build the system the agents work in.
How it's checkedEval files for a skill or plugin, or a plugin eval run.
How it's checkedYour skills live in a git repo with a remote.
agent-scripts
Peter Steinberger · source
How it's checkedA chat-integrated agent set up (Slack app, Claude Tag, Devin, a bot). Usually only you can tell, so you tick it.
Claude Tag lands 65% of the Claude Code team's product PRs.
Cat Wu and Thariq Shihipar, via Simon Willison, paraphrased · source
How it's checkedAn agent SDK in a project's dependencies (Claude Agent SDK, Codex SDK, OpenAI Agents).
How it's checkedA personal context repo or folder that your agents load when relevant, through a rule or a skill.
Peter's agent found: personal wiki, use-me-wiki skill
How it's checkedAgents sending each other messages or reading each other's output, without you relaying it.
How it's checkedWatch-mode checks or a dashboard the agent reads while it works. Usually only you can tell, so you tick it.
Sensors for coding agents
Birgitta Böckeler · source
How it's checkedA QA or release checklist file, or a release skill.
QA_BEFORE_RELEASES.md
Salvatore Sanfilippo · source
How it's checkedDevice tools driven by an agent (serial, adb, simctl, esptool, arduino-cli…).
Peter's agent found: Stream Deck, simctl
“I started the day with "I want to connect two pedals together and have them validate each other", and ended the day with three pedals, a signal generator, and a USB MIDI dongle all connected together as a validation bench with automated checks.”
Linus Torvalds · source
How it's checkedCompare what your global rules demand with your last 100 commits (trailers, messages). They agree.
Peter's agent found: 0 AI trailers, 320 own commits
“reject "has AI attribution; remove it and disclose AI use in the PR description."”
Mike McQuaid · source

Full circle
Less config, more judgement. You read the 5% that matters.
How it's checkedYou used to run more parallel agents than you do now, by choice. Usually only you can tell, so you tick it.
“now like it's mostly one active Claude Code session and then a bunch of Claude Tag sessions.”
Thariq Shihipar · source
How it's checkedYou write structure and interfaces by hand before handing over. Usually only you can tell, so you tick it.
“I was providing structure, Claude was painting by the numbers.”
Alex Kladov · source
How it's checkedYour rules or review setup name the paths that always get a human read.
“I read diffs when it's touching critical code, or code that's important to get right. I don't write the code.”
Boris Cherny · source
How it's checkedYou hold back generation to what you can review. Usually only you can tell, so you tick it.
“Set yourself limits on how much code you let the clanker generate per day, in line with your ability to actually review the code.”
Mario Zechner · source
How it's checkedOnly you know.
Peter's agent found: ran AI Build Day
How it's checkedA rule or hook that makes it stop and report when stuck or out of scope.
How it's checkedOnly you know.
“First, I reviewed the entire diff (yes, all ~3,000 lines of it). Then I reviewed it again. I re-read the entire diff by hand three or four times.”
Mitchell Hashimoto · source
How it's checkedOnly you know.
Fossil record
The list is always 100. When a new level earns its place, an old one goes extinct and moves here.
Role-play preambles. Today's models don't need the pep talk; they need the context.
It sort of worked once. Nobody ever paid.
Reasoning models think before answering anyway.
From the era of lazy models and "// rest of the code stays the same".
One file in the repo root. Replaced by rule folders and AGENTS.md, which every agent reads.
Deprecated in favour of skills.
Thinking keywords. Effort is a setting now, and reports disagree on whether the word still does anything.
Retired as a benchmark. Still a good party trick.