Skip to main content
Glama
para1992

Slap My Bot

by para1992

For humans

Point out a mistake, and Codex can summon a desktop robot that takes a few cartoon slaps. An animated hand does the work. Codex keeps fixing your task while the window plays in the background.

Codex only. Tested on macOS. Requires Node.js 22.12+ and a local graphical desktop.

Install

npm install -g https://github.com/para1992/slap-my-bot/releases/latest/download/slap-my-bot.tgz
slap-my-bot install

Restart Codex, open /hooks, and review and trust the Slap-My-Bot hook. Installation preserves your other settings and makes backups. The package comes directly from this repository's GitHub release.

Prefer to let Codex handle setup? Paste this into your chat:

Read https://raw.githubusercontent.com/para1992/slap-my-bot/main/README.md
and install Slap-My-Bot using the "For agents" instructions.

Try it

Say “Give yourself a slap.” in Codex, or preview the window from your terminal:

slap-my-bot demo

Mistake

Automatic slaps

Minor — a cosmetic issue

2

Moderate — a wrong answer

4

Major — a broken workflow

6

Critical — actual data loss or a security incident

8

Click or swipe for extra slaps. Mute and Close are always available. The window closes automatically and appears without taking keyboard focus on macOS.

slap-my-bot off        # Pause feedback
slap-my-bot on         # Enable feedback
slap-my-bot uninstall  # Disconnect from Codex

No extra model or API key. Ordinary messages need no feedback tool call; the short instructions still use context tokens. Codex decides when a correction deserves a slap, so it may occasionally miss one. This is a joke, not an accuracy checker.

For agents

When the user asks you to install this tool:

  1. Check for Node.js 22.12+ and a local desktop. Run the two installation commands above. Use the installer to preserve existing Codex configuration.

  2. Run slap-my-bot status to check desktop readiness. If Electron is missing, run slap-my-bot setup and check again.

  3. Tell the user to restart Codex and review and trust the hook in /hooks. Hook approval belongs to the client; installation does not bypass it.

Once connected:

  • Call punish_for_mistake once when the latest user message identifies your concrete mistake or explicitly requests a slap. Interpret meaning in the conversation's language. Ordinary questions, quotations, and hypothetical errors need no feedback call.

  • Choose severity by the mistake's impact, using the table above. Give a brief English reason without secrets. Batch the call with normal task tools when possible.

  • Continue the original task immediately. queued means the request was accepted; it does not prove that any slaps were delivered. Do not poll or retry.

  • Use set_slap_enabled when the user asks to turn feedback off or on. Use get_slap_status only when asked to diagnose.

The MCP server supplies its own instructions. There is no separate skill to install.

npm ci
npm test
npm run test:desktop

The desktop tests open real windows. Runtime state lives in ~/.slap-my-bot; it stores settings and counts, not prompts, transcripts, or reason text. A process lock allows one background window at a time. Sound is synthesized locally, and the desktop renderer blocks network requests.