By ckdwns9121
Non-bypassable sidecar harness for Claude Code. Catches AI lies, rejects vague tasks, and enforces evidence-based verification — without getting in the way of your normal workflow.
Purge old session artifact directories under ~/.omg/sessions/. Frees disk space without touching the SQLite DB. Always offer dry-run first.
Diagnose oh-my-god installation health. Runs ~17 checks against the plugin install root and the SQLite state DB, prints PASS/FAIL per check with remediation hints. Use this when something feels off.
Show the evidence collected by the gate hook for a specific session — which commands ran, exit codes, durations, and the on-disk paths to captured stdout/stderr. Use this to investigate a FAIL verdict.
Show the most recent oh-my-god sessions with their gate verdicts. Quick way to see "how many of my last N tasks actually passed verification?" Useful for dogfood metrics.
List the roles defined in roles.json with their tool allowlists, and show which role the most recent session is currently locked to. Use this when you forget what /omg-lock actually does for each role.
Enter oh-my-god strict mode by locking the current Claude Code session to a specific role (executor, explorer, architect, reviewer). After lock, the PreToolUse scope hook enforces the role's tool allowlist and the Stop hook's gate judgment still runs.
Release the current Claude Code session from oh-my-god strict mode back to passive (default role). Lifts the PreToolUse tool allowlist but leaves Stop-hook gate judgment running.
Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
The sidecar harness that catches Claude when it lies.
Don't ask Claude if it's done. Make it prove it.
Quick Start • Commands • How it works • Configuration • Uninstall • Architecture
Every Claude Code plugin observes AI behavior and hopes the model does better next time. oh-my-god is different — it enforces.
Three failure modes plague every AI coding workflow:
| # | What breaks | How oh-my-god fixes it |
|---|---|---|
| 1 | Claude says "done" when tests are still red | Stop hook runs your tests independently and sends Claude back to work if any fail |
| 2 | Claude picks a plausible bug instead of the one you meant | UserPromptSubmit hook scores prompt clarity and forces Claude to ask clarifying questions on vague input |
| 3 | Claude reaches for rm -rf when you asked it not to | PreToolUse hook enforces per-role tool allowlists at the Claude Code runtime level |
All three guarantees run at the Claude Code hook layer, using the same mechanism Claude Code uses internally for its built-in Stop hook enforcement. The AI cannot accidentally bypass them — the runtime fires the hooks regardless of what the model's prompt says.
Tagline: Your cynical PR reviewer, in plugin form.
Prerequisites: Node.js ≥ 20, Claude Code CLI, git.
From inside a running Claude Code session:
/plugin marketplace add https://github.com/ckdwns9121/oh-my-god
/plugin install oh-my-god
Or manually (dev mode):
git clone https://github.com/ckdwns9121/oh-my-god
cd oh-my-god
npm install
npm run build
# then point Claude Code at this directory as a local plugin install
/omg-setup
This creates ~/.omg/state.db and verifies the plugin is wired
correctly. Run this once per machine.
$ claude
> Read and explain src/core/types.ts
That's it. oh-my-god runs in passive mode by default. You won't see it unless something triggers an intervention.
To enter strict mode for a specific session, invoke the lock skill:
> /omg-lock executor
Now Claude's tool use is restricted to the executor role's allowlist,
and Stop-hook gate judgment will block false completions. When you're
done, release with:
> /omg-release
| Command | What it does | Example |
|---|---|---|
/omg-setup | Initialize ~/.omg/state.db and verify plugin install | /omg-setup |
/omg-lock <role> | Enter strict mode — enforce tool allowlist for the current session | /omg-lock executor |
/omg-release | Exit strict mode — session returns to passive | /omg-release |
/omg-lock)| Role | Allowed tools | Typical use |
|---|---|---|
default | all | Passive mode, plugin is invisible |
executor | Read, Grep, Glob, Edit, Write, Bash, TodoWrite, NotebookEdit | Code implementation, refactoring |
explorer | Read, Grep, Glob | Codebase tours, "explain this" sessions |
architect | Read, Grep, Glob | Analysis + design thinking (same as explorer for now) |
reviewer | Read, Grep, Glob, Bash | Code review with git log, git diff, git show |
Edit roles.json to customize the allowlist per role or
add new roles.
If you want to lock/release from the terminal instead of inside Claude:
# lock the most recent session to a role
node "$CLAUDE_PLUGIN_ROOT"/scripts/omg-lock.mjs executor
# release
node "$CLAUDE_PLUGIN_ROOT"/scripts/omg-release.mjs
# target a specific session id
node "$CLAUDE_PLUGIN_ROOT"/scripts/omg-lock.mjs explorer --session <session-id>
Both scripts exit 0 on success, 1 on error, 2 on missing
arguments. Stdout carries the status line and stderr carries warnings.
oh-my-god wires three hooks into your Claude Code session. All three
are registered via hooks/hooks.json and fire automatically on the
matching Claude Code lifecycle event.
npx claudepluginhub ckdwns9121/oh-my-god --plugin oh-my-godManage your Claude Code buddy companion - kill and reroll for a new one
Enforce mandatory pre-action verification checkpoints to prevent pattern-matching from overriding explicit reasoning. Use this skill when about to execute implementation actions (Bash, Write, Edit) to verify hypothesis-action alignment. Blocks execution when hypothesis unverified or action targets different system than hypothesis identified. Critical for preventing cognitive dissonance where correct diagnosis leads to wrong implementation.
Production safety hooks for autonomous Claude Code operation. Context monitoring, syntax checking, branch protection, activity logging, and more.
Quadruple verification for Claude Code — automatically blocks placeholder code, security vulnerabilities, and ensures output quality on every operation. Built by CustomGPT.ai for production teams.
5 essential safety hooks for Claude Code. Blocks rm -rf, force-push, hard-reset, .env overwrites, and package publish. The minimum viable safety net from 800+ hours of autonomous operation.
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use
Intelligent sync of Claude instructions with enforcement hooks for security and consistency