SARTHAK2511/claude-combo
combo-meter
Claude Code 用の格闘ゲーム風コンボメーター。ツール呼び出しが成功するたびに 1 ヒット、エラーでコンボが途切れます。ランクは D から SSS まで、必殺技もあります。
この mod について
Claude Combo は、Claude Code のセッションをアーケードの対戦に変えます。ツール呼び出しはそれぞれ 1 つの技として種類ごとに採点され(Read/JAB、Edit/SLASH、Bash/HADOUKEN、git commit/SEAL など)、得点には現在のコンボ倍率がかかります(10 ヒットで x2、最大 x5)。
RED→GREEN TATSUMAKI、SEEK & STRIKE、TRIPLE SLASH、COMEBACK!、FLAWLESS VICTORY、PERFECT TURN といった必殺技にはボーナス点が入ります。ランクは D(DECENT)から SSS(SMOKIN' SHIP STYLE)まで上がります。
プラグインは session.start、turn.start、tool.call、turn.complete、session.end、command.run、ui.render の各 hook にフックし、プロンプトの上にピクセルアートのコンボバンドとステータスラインを描きます。ランクアップや必殺技はトーストで通知されます。tools/make-sfx.py で生成するチップチューン効果音も任意で使えます。
ネットワークリクエストは送らず、ファイルの中身も読みません。保存するのは最高コンボとスコアだけで、ツール呼び出しはそのまま通します。
インストールは marketplace 経由(claude plugin marketplace add sarthak2511/claude-combo; claude plugin install combo-meter@sarthak-mods)か、--plugin-dir でローカルの clone を読み込みます。その後、/combo で戦績カードを表示し、/combo reset-best で記録を消去できます。
インストール
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add SARTHAK2511/claude-combo claude plugin install combo-meter
原文 / README
🥊 Claude Combo: a fighting-game combo meter for Claude Code
Claude Combo turns your Claude Code session into an arcade fight. Every clean tool call is a hit, every error breaks the chain, and you climb from D to SSS while a pixel-art counter, a status line and chiptune effects keep score. It's a free, open-source Claude Code mod (a plugin of function hooks): a streak counter, combo tracker and status line in one.
▀▄▀ ▀█▀ ▀█▀ ▐ B ▌ BLAZING ×2 1,240 pts
▄▀▄ █ ▄▄█ ████████████░░░░░░░░ 5 to A
✦ RED→GREEN TATSUMAKI pnpm test +250
Why? A long agent session is hours of tool calls. Claude Combo turns "did that run clean?" into a number you can see, so a failing test breaks your streak and a green one feels good.
Install
From the marketplace (recommended):
claude plugin marketplace add sarthak2511/claude-combo
claude plugin install combo-meter@sarthak-mods
From a local clone, for one session:
git clone https://github.com/sarthak2511/claude-combo
claude --plugin-dir ./claude-combo
Then run a few tool calls. The band appears above the prompt after your first hit.
Type /combo for the fight card.
How scoring works
Each tool call is a move. Points are multiplied by your combo: ×2 from 10 hits, up to ×5.
| Tool call | Move | Points |
|---|---|---|
| Read | JAB | 10 |
| Grep / Glob | SCOUT | 10 |
| Edit | SLASH | 25 |
| Write | UPPERCUT | 30 |
| Bash | HADOUKEN | 20 |
| Bash running tests | RISING TEST | 50 |
| git commit | SEAL | 60 |
| Agent / subagent | ASSIST | 40 |
| MCP tool | SUMMON | 20 |
Special moves
| Special | How to land it | Bonus |
|---|---|---|
| RED→GREEN TATSUMAKI | Read → Edit → passing test | +150 |
| SEEK & STRIKE | Grep → Read → Edit | +80 |
| TRIPLE SLASH | Three edits in a row | +100 |
| COMEBACK! | Tests pass after they failed | +200 |
| FLAWLESS VICTORY | git commit on a 20+ combo | +300 |
| PERFECT TURN | 8+ hits in one turn, zero errors | +10 per hit |
Ranks
D DECENT (3) · C CLEAN (6) · B BLAZING (10) · A ATOMIC (16) ·
S SHIPPING (25) · SS SENIOR STAFF (40) · SSS SMOKIN' SHIP STYLE (60)
What breaks a combo
A tool call that errors: a failing command, a failing test, an edit that didn't apply. A call you deny is a parry. It doesn't count as a hit, but it doesn't break the chain either.
What you see
- Band above the prompt: a pixel-art combo counter drawn with half blocks, a heat meter to the next rank and your last move. It falls back to text on desktop, VS Code and mobile surfaces.
- Status line:
⚡ x23 A · 4,180 pts - Toasts for rank ups, specials, breaks, new records and perfect turns.
- Chiptune sound effects for the big moments. They play on macOS only, and the
.wavfiles are generated bytools/make-sfx.py. /comboshows the session's fight card./combo reset-bestclears your all-time record.
Options
Change them in /config:
| Option | Default | |
|---|---|---|
| sound | true | Chiptune effects (macOS) |
| style | big | big pixel counter, or compact one-line text band |
Footprint
Claude Combo only hooks session.start, turn.start, tool.call, turn.complete,
session.end, command.run (/combo) and ui.render (the band). It reads each
tool call's name and its file path or command head to name the move. It makes no
network requests, never reads file contents, and stores only your best combo and
score through $.store. Run claude plugin validate . to see the full list of
calls it makes.
FAQ
Does it slow Claude Code down? No. Each hook does a few pure-function updates, and the sound is fire-and-forget.
Does it change what Claude does? No. It observes tool calls and always passes them through unchanged.
Does it work in the desktop app and VS Code? Yes, with a text band instead of the pixel counter.
Can I change the ranks, points or moves? They live in
hooks/combo.ts, a pure file with no engine dependencies.
Development
claude plugin validate .
claude plugin test .
python3 tools/make-sfx.py # regenerate sfx/*.wav
Issues and PRs are welcome. New moves and specials especially.
Related Claude Code mods
See the community catalogue awesome-claude-code-mods for status lines, dashboards, guardrails and games.
License
MIT. Made by Sarthak Bhatore.


