| Crates.io | superego |
| lib.rs | superego |
| version | 0.9.7 |
| created_at | 2025-12-12 17:29:44.988499+00 |
| updated_at | 2026-01-24 14:41:20.542835+00 |
| description | Superego - Metacognitive advisor for Claude Code |
| homepage | |
| repository | https://github.com/cloud-atlas-ai/superego |
| max_upload_size | |
| id | 1981899 |
| size | 531,230 |
A metacognitive advisor for AI coding assistants. Monitors conversations, evaluates the assistant's approach, and provides feedback before finishing.
Supported platforms:
When you use Claude Code (or OpenCode) with superego enabled:
This creates feedback loops where Claude can course-correct both during work and before presenting results.
# 1. Install the plugin
/plugin marketplace add cloud-atlas-ai/superego
/plugin install superego@superego
# 2. Initialize in your project (installs binary if needed)
/superego:init
The /superego:init command detects if the binary is missing and offers to install it via Homebrew or Cargo.
Superego provides metacognitive feedback—but feedback without strategic context is incomplete. For the full power of aligned AI development, combine superego with Open Horizons MCP:
# Add OH MCP marketplace
/plugin marketplace add cloud-atlas-ai/oh-mcp-server
/plugin install oh-mcp@oh-mcp-server
# Configure
/oh-mcp:setup
What you get:
Learn more: OH MCP Server | Open Horizons
| Command | Description |
|---|---|
/superego:init |
Initialize superego for this project (offers binary install if needed) |
/superego:status |
Check if plugin, binary, and project are configured |
/superego:prompt |
Manage prompts: list, switch (code/writing), show current |
/superego:review |
On-demand review of changes (staged, pr, or file) |
/superego:enable |
Enable superego (offers init if not set up) |
/superego:disable |
Temporarily disable for current session |
/superego:remove |
Remove superego from project |
claude plugin marketplace update superego # Refresh cache
claude plugin update superego@superego # Update plugin
# Restart Claude Code to apply
If you prefer to install the sg binary manually instead of via /superego:init:
# Homebrew (macOS)
brew install cloud-atlas-ai/superego/superego
# Cargo (cross-platform)
cargo install superego
# From source
git clone https://github.com/cloud-atlas-ai/superego.git
cd superego && cargo install --path .
Then run sg init in your project to create .superego/.
OpenCode support is in alpha. It uses a TypeScript plugin that runs entirely within OpenCode—no separate binary needed.
# 1. Download plugin to your project
mkdir -p .opencode/plugin
curl -L -o .opencode/plugin/superego.js \
https://github.com/cloud-atlas-ai/superego/releases/latest/download/index.js
# 2. Start OpenCode and initialize
opencode
# Ask: "use superego init"
Or install globally:
mkdir -p ~/.config/opencode/plugin
curl -L -o ~/.config/opencode/plugin/superego.js \
https://github.com/cloud-atlas-ai/superego/releases/latest/download/index.js
See opencode-plugin/README.md for build-from-source instructions and detailed configuration.
Codex support uses a skill that the agent can invoke at decision points.
# 1. Install the skill
mkdir -p ~/.codex/skills/superego
curl -L -o ~/.codex/skills/superego/SKILL.md \
https://raw.githubusercontent.com/cloud-atlas-ai/superego/main/codex-skill/SKILL.md
# 2. In Codex, ask the agent to set up:
# "$superego init"
The $superego init command installs the binary, creates .superego/, and adds AGENTS.md guidance automatically.
After setup, the agent calls $superego at decision points to evaluate the conversation.
See codex-skill/ for details.
When superego has feedback, Claude will continue working instead of stopping, addressing concerns like:
If Claude disagrees with non-trivial feedback, it will escalate to you for a decision.
tail -f .superego/hook.log
You'll see:
[15:42:01] Hook fired
[15:42:01] Running: sg evaluate-llm
[15:42:03] Evaluation complete
[15:42:03] Blocking with feedback: Consider error handling...
cat .superego/state.json # Last evaluation timestamp
cat .superego/feedback # Pending feedback (if any)
ls .superego/decisions/ # Audit trail of all feedback
sg evaluate-llm --transcript-path ~/.claude/projects/<project>/transcript.jsonl
sg reset # Removes .superego/ directory
sg init # Fresh start
If you previously used sg init before v0.4.0 (which created .claude/hooks/superego/):
/plugin marketplace add cloud-atlas-ai/superego
/plugin install superego@superego
sg migrate # Remove legacy hooks
Superego ships with multiple prompts for different use cases:
| Prompt | Description |
|---|---|
code |
Metacognitive advisor for coding agents (default) |
writing |
Co-author reviewer for writing and content creation |
Switch prompts via CLI or slash command:
sg prompt list # Show available prompts
sg prompt switch writing # Switch to writing prompt
sg prompt show # Show current prompt info
# Or in Claude Code:
/superego:prompt switch writing
Your customizations are preserved when switching—each prompt type has its own backup (prompt.<type>.md.bak).
Edit .superego/prompt.md to customize what superego evaluates:
SUPEREGO_DISABLED=1 - Disable superego entirelySUPEREGO_CHANGE_THRESHOLD=N - Lines required to trigger PreToolUse evaluation (default: 20)SessionStart hook
└── Injects contract: "SUPEREGO ACTIVE: critically evaluate feedback..."
PreToolUse hook (before any tool)
├── Checks if periodic eval is due (time-based)
├── For Edit/Write: checks change size (lines added/modified)
├── If >= threshold (default 20): runs sg evaluate-llm with pending change
├── If concerns: returns {"decision":"block","reason":"SUPEREGO FEEDBACK: ..."}
│ └── Claude sees feedback, reconsiders the change
└── If small or clean: allows tool execution
Stop hook (when Claude tries to finish)
├── Runs sg evaluate-llm
├── Reads transcript since last evaluation
├── Sends to LLM with superego prompt
├── If concerns: returns {"decision":"block","reason":"SUPEREGO FEEDBACK: ..."}
│ └── Claude sees feedback, continues working
└── If clean: allows stop
PreCompact hook (before context truncation)
└── Same as Stop - evaluates before transcript is lost
sg init # Initialize superego (creates .superego/)
sg migrate # Remove legacy hooks (for users upgrading from < v0.4.0)
sg reset # Remove .superego/ directory
sg prompt list # Show available prompts
sg prompt switch X # Switch to prompt X (code, writing)
sg prompt show # Show current prompt info
sg review # Review staged changes (or uncommitted if nothing staged)
sg review pr # Review PR diff vs base branch
sg review <file> # Review changes in a specific file
sg evaluate-llm # Run LLM evaluation (called by hooks)
sg has-feedback # Check for pending feedback (exit 0=yes, 1=no)
sg get-feedback # Get and clear pending feedback
sg --version # Show version
jq (for hook JSON parsing)Source-available. See LICENSE for details.