gitwtfhub

wtf is understudy?

ali-ahmad-khan/understudy — explained in plain English

Analysis updated 2026-05-18

1PythonAudience · developerComplexity · 3/5LicenseSetup · easy

TL;DR

A tool that blocks AI coding agents like Claude Code from ending a turn with unverified completion claims, using runtime checks plus a slop detecting linter.

Mindmap

mindmap
  root((repo))
    What it does
      Blocks unverified claims
      Lints agent output
      Graded practice drills
    Tech stack
      Python
      Claude Code hooks
    Use cases
      Enforce verification
      CI slop checks
    Audience
      Developers
      Agent builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Stop an AI coding agent from claiming a fix works without running it

REASON 2

Run a CI check that flags vague or filler heavy agent responses

REASON 3

Practice agent discipline with graded tasks that contain hidden traps

What's in the stack?

PythonClaude Code hooks

How it stacks up

ali-ahmad-khan/understudy0xustaz/streamgatea-bissell/unleash-lite
Stars111
LanguagePythonPythonPython
Setup difficultyeasyhardhard
Complexity3/54/54/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Only needs Python 3.9 or newer, a single cross platform install script does the setup.

Wtf does this do

Understudy is a tool that adds hard rules on top of AI coding agents like Claude Code, so the agent cannot simply say a task is done without proof. It stops the agent from ending its turn until two mechanical checks pass: a log showing that some command actually ran after the last code edit, and a checker that scans the agent's final message for patterns of vague or dishonest sounding language, such as saying "this should work now" without ever running it, or ending with a question that pushes a decision back onto the user. As an example in the README, an agent edits a file, runs nothing, and tries to end by saying the fix is done and asking if the user wants tests added too. Understudy's stop check catches this: no command was run after the edit, and the ending phrasing matches known filler patterns, so the turn is refused and the agent is told exactly what to fix before it can finish. Setup only needs Python 3.9 or newer, using a cross platform install script that can apply the rules to a single project or to every Claude Code project on a machine. There is also a version for Cursor and other agent tools that installs the written guidance without the runtime checks. The project describes its own design as three layers. The first layer is the actual runtime checks that block a turn from ending. The second layer is a set of measurement tools: a standalone linter that can run in CI, plus seven graded practice tasks used to test whether the checks are actually changing agent behavior. The third and smallest layer is a short written document, under a thousand words, that covers judgment calls the mechanical checks cannot catch on their own, such as understanding that a request like "build a client portal" implies parts, like billing and permissions, that were never spelled out. The project is released under the MIT License and has no external dependencies.

Yoink these prompts

Prompt 1
Set up Understudy in this repository so my Claude Code agent must verify its edits before finishing.
Prompt 2
Explain how the stop check decides whether a completion claim is backed by an actual test run.
Prompt 3
Walk me through installing Understudy globally versus per project.
Prompt 4
Show me how the sloplint checker scores an agent's final message for filler and menu endings.

Frequently asked questions

wtf is understudy?

A tool that blocks AI coding agents like Claude Code from ending a turn with unverified completion claims, using runtime checks plus a slop detecting linter.

What language is understudy written in?

Mainly Python. The stack also includes Python, Claude Code hooks.

How hard is understudy to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is understudy for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.