Skip to main content

claude-bingo

A 5×5 bingo board of LLM verbal tics, scored against your own Claude Code transcripts.

         B               I               N               G               O
  ┌───────────────┬───────────────┬───────────────┬───────────────┬───────────────┐
  │               │               │               │ I'll go ahead │               │
  │    Happy to   │    leverage   │    footgun    │      and      │    nuanced    │
  │       ×5      │      ×53      │       ×1      │       —       │      ×16      │
  ├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
  │               │     Great     │               │               │               │
  │  load-bearing │   question!   │  escape hatch │    sit with   │   idiomatic   │
  │      ×413     │       ×2      │      ×15      │       —       │       ×6      │
  ├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
  │   Let me be   │               │               │  Let me know  │               │
  │     direct    │   crucially   │      FREE     │       if      │  blast radius │
  │       —       │      ×78      │     SPACE     │       —       │       ×7      │
  ├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
  │               │               │               │   Would you   │     You're    │
  │   happy path  │  surface area │   meaningful  │   like me to  │   absolutely  │
  │       —       │       ×1      │      ×136     │       —       │    correct    │
  ├───────────────┼───────────────┼───────────────┼───────────────┼───────────────┤
  │               │               │    The key    │ single source │               │
  │  To be clear  │ comprehensive │    insight    │    of truth   │     robust    │
  │       ×3      │      ×23      │      ×10      │       ×1      │      ×23      │
  └───────────────┴───────────────┴───────────────┴───────────────┴───────────────┘

  BINGO! row 5, col I, col N
  18/25 squares · 793 utterances · 3,027 transcripts

  ── worst offenders ────────────────────────────────────────
    413  load-bearing
         …nothing I touched there was load-bearing.
    136  meaningful
         …no meaningful difference between the two paths.
     78  crucially
         …and, crucially, it never reaches the network.

Everything runs locally. It reads ~/.claude/projects/**/*.jsonl and prints to your terminal. There are no network calls and no dependencies beyond the Python standard library.

Install

Pick whichever of these you'll actually remember. All three end up running the same code.

Try it without installing anything

uvx claude-bingo board
uvx claude-bingo score

As an agent plugin

Then just ask your agent to play bingo. Two marketplaces carry it — use either.

From Lyra Forge, alongside its sibling plugins:

# Claude Code
/plugin marketplace add lyra-forge/marketplace
/plugin install claude-bingo@lyra-forge

# Codex
codex plugin marketplace add lyra-forge/marketplace
codex plugin add claude-bingo@lyra-forge

Or straight from this repository, which ships its own one-entry catalog:

# Claude Code
/plugin marketplace add lavallee/claude-bingo
/plugin install claude-bingo@claude-bingo

# Codex
codex plugin marketplace add lavallee/claude-bingo
codex plugin add claude-bingo@claude-bingo

Start a new session afterwards. Then ask for a bingo board in plain English, or invoke the skill directly — /claude-bingo:bingo in Claude Code, $claude-bingo:bingo in Codex.

The plugin needs no install step of its own: it runs the bundled package from the plugin directory using whatever python3 you already have. The Codex plugin scores your Claude Code transcripts on the same machine, which is the joke.

As a CLI you keep around

pipx install claude-bingo   # or: uv tool install claude-bingo

From source

git clone https://github.com/lavallee/claude-bingo
cd claude-bingo
./scripts/claude-bingo board

Every path needs Python 3.11+ (for tomllib) and nothing else. Stock macOS ships 3.9 — if that's what you have, uvx claude-bingo sidesteps it entirely.

Use

claude-bingo board              # generate a fresh board
claude-bingo board --size 3     # smaller, for a quick round
claude-bingo board --seed 12345 # reproduce a specific board
claude-bingo score              # score it against the last 7 days
claude-bingo score --days 30    # ...or however far back you dare look
claude-bingo score --no-quotes  # skip the receipts
claude-bingo score --top 5      # a shorter walk of shame
claude-bingo phrases            # list the phrase bank

The board is saved to $XDG_DATA_HOME/claude-bingo/board.json (default ~/.local/share/claude-bingo/board.json), so score picks up whatever you last generated.

A given --seed reproduces a given board only for a given phrase bank — add phrases and the same seed deals a different hand.

The phrase bank

65 phrases across 9 categories, in claude_bingo/phrases.toml. Each entry is a board label and the regex that hunts for it:

[linkedin-brain]
"delve" = "\\bdelv(?:e|es|ing)\\b"
"tapestry" = "\\btapestry\\b"

Patterns are matched case-insensitively and in multiline mode, so ^ anchors to the start of any line.

Add your own without touching the package in ~/.config/claude-bingo/phrases.toml — same format. A label that collides with a bundled one overrides its pattern.

Contributing

PRs to the phrase bank are the point of this repo. Add to an existing category or start a new one. Two things make a good entry:

  • The label reads at a glance. It lands in a 13-column cell.
  • The regex is specific enough to mean something. \bjust\b will match everything and tell you nothing; you'?re absolutely right earns its square.

Run claude-bingo phrases to check yours loaded, and claude-bingo score to see whether it actually catches anything.

Layout

The repository is one Python package plus the manifests each harness looks for:

claude_bingo/                    the package — CLI, phrase loader, phrases.toml
scripts/claude-bingo             launcher the plugin runs; no install needed
skills/bingo/SKILL.md            the skill both harnesses load
.claude-plugin/plugin.json       Claude Code plugin manifest
.claude-plugin/marketplace.json  this repo as a one-entry Claude Code catalog
.codex-plugin/plugin.json        Codex plugin manifest
.agents/plugins/marketplace.json this repo as a one-entry Codex catalog

Releasing

The version lives in four places — pyproject.toml, claude_bingo/__init__.py, and both plugin.json files. tests/ fails if they drift, so bump them together, then:

python3 -m unittest discover tests
claude plugin validate . --strict

Tag and publish a GitHub release; CI builds the wheel and pushes it to PyPI via trusted publishing. Plugin installs resolve from the default branch, so they pick the change up as soon as it's pushed — no marketplace edit is needed unless the entry itself changes.

License

MIT

Metadata

Release files for claude-bingo 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for claude-bingo 0.2.1
File Size Uploaded
claude_bingo-0.2.1.tar.gz 16.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for claude-bingo 0.2.1
File Interpreter ABI Platform
claude_bingo-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 29.8 kB

Release files / claude_bingo-0.2.1.tar.gz

Download URL claude_bingo-0.2.1.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
184277c62160b006ca82176ea6abe0c43992f870e47d25bd2c8018c015c530ae
BLAKE2b-256 checksum
How to use checksums
4a340536ae2eb42408f854f7e0f201c3c9c4f855ed7b4fe0cdc0e24887eca385
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release files / claude_bingo-0.2.1-py3-none-any.whl

Download URL claude_bingo-0.2.1-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3a559c8731a5616f77fc7adf018f494ccf66814eb44c4febb2f6b93a478ae9c
BLAKE2b-256 checksum
How to use checksums
9a03fa3c24f916fb7803d2a9d39dc12a216e3edcb3883957a898eae96e51f38d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page