Claude Modsunofficial directory

Automation·terminal · desktop·MIT

verification-ledger

Pass, fail or stale for tests, lint and build, plus GitHub Actions for the current commit.

Generic Claude Mods cover used for verification-ledger, which has no screenshots in its repository

Repository removed. As of 19 October 2026, bradtraversy/claude-mods no longer exists on GitHub. The author’s new repository, bradtraversy/traversy-claude-mods, does not include verification-ledger, so the install commands on this page no longer work. We keep the page as a record of what the mod did and will update it if the author publishes it again.

verification-ledger keeps track of the checks Claude runs. /checks opens a Checks pane with the latest test, lint, typecheck, build and verify result of the session, flagged as stale once the code moves on, next to the Git state and the GitHub Actions runs for the current commit.

What it does

  • Local checks. One row per category with PASS, FAIL or STALE and the time it ran. It recognises package scripts run with npm, pnpm, yarn or bun (test, lint, typecheck, build, verify), ./scripts/verify, Vitest, Jest, Pytest, cargo test, go test, ESLint, biome check, ruff check, golangci-lint, cargo clippy, tsc --noEmit, Mypy, Pyright, cargo build and go build.
  • Stale results. A result turns STALE when Claude edits a file (Edit, Write, NotebookEdit or a Bash command that changes files) or when the commit or working tree differs from when the check ran, which also catches your own edits the next time the pane refreshes.
  • Git state. Branch and short commit, then clean or the number of changed files, commits ahead and behind, or “no upstream”.
  • GitHub Actions. Up to eight runs for the exact current commit, each linked, with RUNNING, PASS, FAIL or SKIPPED.
  • Toasts. When a recognised check fails, when running CI passes or fails, and when Claude pushes, after which the pane refreshes CI a second later.

Only the latest result per category is kept, in memory, until the mod reloads or a new session starts. It is a live view of the session, not an audit log.

Install

Needs Claude Code 2.1.287 or later, plus the GitHub CLI signed in with gh auth login for the GitHub Actions section. Without it, the local checks and Git state still work.

claude plugin marketplace add bradtraversy/claude-mods
claude plugin install verification-ledger@traversy-mods

Run /reload-plugins or start a new session in a Git repository, then /checks. The pane never opens on its own; r refreshes it.

Brad Traversy, of Traversy Media, ships it in his traversy-mods marketplace with seven more mods, among them session-hud and agent-pulse, plus impact-map, tool-cards, safe-shell, quality-console and work-queue; the ones with panes share Claude Code’s single docked area as tabs.

How it works

The mod reads the command text of every Bash tool call to match it against those patterns, and records whether the call ended in an error. From Edit, Write and NotebookEdit calls it reads nothing; it only notes that a file changed.

It runs Git through the engine’s process call (git rev-parse, git status --porcelain=v1, git rev-list against the upstream) at session start, after edits and recognised checks, and on each refresh. While the Checks pane is open, it also runs gh run list --commit <sha> --limit 8 every 15 seconds: a read-only query to GitHub with your gh credentials. Nothing is written to disk and no model is called.

The 15-second interval and the eight-run cap are constants in hooks/config.ts, so changing them means editing the plugin’s files.

Limitations

  • Only commands Claude runs through its Bash tool count, and only in the foreground. A command in another terminal, or one Claude sends to the background, is not recorded.
  • CI polling stops when the pane closes. Without a GitHub remote, gh or its login, the CI section says GitHub CI is unavailable.
  • The author documents it in the terminal and in local sessions of the Claude Desktop Code tab, which needs a desktop build with Claude Code 2.1.286 or later.