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.0

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.0
File Size Uploaded
claude_bingo-0.2.0.tar.gz 16.2 kB Details

Built distribution (wheel)

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

Total release size: 29.0 kB

Release files / claude_bingo-0.2.0.tar.gz

Download URL claude_bingo-0.2.0.tar.gz
Size 16.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9e0fd8bc40baa1fbc79453f3805d686de34c26928c244acd9721b72de0b90c6f
BLAKE2b-256 checksum
How to use checksums
044939b12e90c900a52eeca0c9ea2ba61554f7b2129073eadd45541bca341868
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.0-py3-none-any.whl

Download URL claude_bingo-0.2.0-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a10b5aaa816b417e370a761b45673764e87412837e68112e1055d2645b512be5
BLAKE2b-256 checksum
How to use checksums
38f8396907ace62cf469b2a8d68891e97d7f07b1368fc1833650bbc98cf69b61
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

0.2.1

2 release files

This release

0.2.0 This release

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