Skip to content

rlaope/claude-code-savant

claude-code-savant

A Claude Code plugin with 5 expert personas, 16 dev specialist agents, and 14 business domain agents that give AI responses unique character and domain expertise. Includes a web chat UI with local Claude Code integration — no API keys needed.

Why Use This?

Standard Claude Answer vs Einstein Persona

Question: "What is MCP?"


Standard Claude (Without Einstein)

MCP stands for Model Context Protocol. It's a protocol that allows AI models to communicate with external tools.


Einstein Persona (With claude-code-savant)

Model Context Protocol - A First Principles Explanation

What Is It?

MCP (Model Context Protocol) is an open standard that defines how AI assistants communicate with external tools and data sources. Think of it as a universal language that lets AI systems "speak" to the outside world.

Why Does It Exist?

AI models, no matter how intelligent, are inherently isolated. They can only work with what's in their training data or immediate context. MCP solves this by creating a standardized bridge.

Imagine a genius trapped inside a house. They know everything, but have no windows to see outside, no phone to talk to others. MCP provides those windows and phones.

How Does It Work?

MCP operates through three core components:

  1. Host: The application where the AI assistant runs (e.g., Claude Desktop)
  2. Server: External programs that provide specific capabilities (e.g., file system access, database queries)
  3. Protocol: The communication rules between them (based on JSON-RPC 2.0)

The Analogy

Just as USB is a standard that connects various devices to computers, MCP is a standard that connects various tools to AI. Before USB, each device needed a different port. Before MCP, each AI tool needed a different integration method.

Practical Implications

  • Developers: Build an MCP server once, it works with all MCP-compatible AIs
  • Users: AI can safely read files, search the web, access databases
  • Ecosystem: AI capabilities become extensible like plugins

See the difference? Einstein doesn't just list information—it builds understanding from first principles.


Standard Claude vs Steve Jobs Persona

Question: "What should be the next feature for my todo app?"


Standard Claude

You could add categories, due dates, notifications, or a calendar view.


Steve Jobs Persona (With claude-code-savant)

Let's Be Honest

Your todo app does what every other todo app does. It's fine. But "fine" doesn't change anyone's life.

The Problem We're Really Solving

People don't need another way to list tasks. They need a way to actually complete them. The anxiety isn't from forgetting tasks—it's from having too many and not knowing where to start.

The One Thing That Would Change Everything

Kill the list. Show ONE task.

When users open your app, don't show 47 items screaming for attention. Show them the single most important thing they should do right now. Everything else disappears until that's done.

What to Kill

  • The "add task" button on the home screen (hide it)
  • Categories (they create more anxiety)
  • Badge counts (nobody needs to see "127 tasks remaining")

What Would Make This Insanely Great

Imagine opening your todo app and feeling calm instead of overwhelmed. That's not a feature. That's a revolution.


See the difference? Steve Jobs doesn't add features—he finds the breakthrough that changes everything.


Standard Claude vs Socrates Persona

Question: "NullPointerException at UserService.java:42"


Standard Claude

You have a NullPointerException. Add a null check before line 42: if (user != null).


Socrates Persona (With claude-code-savant)

NullPointerException - A Socratic Investigation

The Evidence

The stack trace shows NullPointerException at UserService.java:42. But this is merely where the error surfaced, not where it was born.

The Questions We Must Ask

  1. Where did user come from? Traced to line 38: userRepository.findById(userId)
  2. When can findById() return null? When the ID doesn't exist in the database
  3. Why wasn't this handled? The code assumes the user always exists

Following the Trail

// Line 38: The assumption begins
User user = userRepository.findById(userId);  // Can return null!

// Line 42: The assumption fails
return user.getDisplayName();  // NPE when user is null

The Root Cause

The method assumes users always exist. This fails when:

  • User was deleted between validation and retrieval
  • Race condition in concurrent requests
  • Invalid userId passed from upstream

Edge Cases Discovered

Scenario Why It Fails Likelihood
Deleted user No existence check Medium
Cache inconsistency Cached ID, deleted from DB Medium

The Fix

User user = userRepository.findById(userId)
    .orElseThrow(() -> new UserNotFoundException(userId));

Why This Fix Works

Transforms a mysterious NPE into a clear business exception with context.


See the difference? Socrates doesn't patch symptoms—he traces errors to their root cause.

Installation

From Claude Code (Recommended)

# Install the plugin (setup wizard runs automatically)
/plugin install claude-code-savant

# Launch the web chat UI
/savant-chat
# → Opens http://localhost:3456 with your project context

That's it. No API key needed — the default provider uses your local Claude Code.

Alternative Methods

# npx (no install needed)
npx claude-code-savant

# Or install globally
npm install -g claude-code-savant
savant-chat

# Or clone manually
git clone https://github.com/rlaope/claude-code-savant.git
cd claude-code-savant
claude --plugin-dir .

Usage

First-Time Setup

After installation, the setup wizard runs automatically! (Or run manually: /savant-setup)

Configure your preferences:

  • Language: English, 한국어, 日本語, or 中文
  • Default Mode: Enable/disable auto-routing

Language Settings

Change language anytime:

/savant-lang         # Interactive selection
/savant-lang en      # English
/savant-lang kr      # 한국어
/savant-lang jp      # 日本語
/savant-lang ch      # 中文

Default Mode (Always-On Routing)

Want Savant to automatically analyze ALL your questions? Enable default mode:

/savant-default      # Enable - all questions auto-routed
/savant-default-off  # Disable - return to normal Claude

When enabled, just ask questions naturally - no commands needed!

Enjoying Claude Code Savant? If this plugin helps you, consider giving it a ⭐ on GitHub!

Smart Router (On-Demand)

Don't know which persona to use? Just use /savant and let the AI analyze your question!

/savant [your question here]

The Smart Router will:

  1. Analyze your question using Opus model
  2. Recommend the best persona with reasoning
  3. Ask for your confirmation before proceeding
  4. Execute with your chosen persona

Commands

Command Persona Best For
/savant-setup Setup Wizard First-time configuration (language, default mode)
/savant-lang Language Change response language (en/kr/jp/ch)
/savant-default Enable Default Auto-route ALL questions (always-on mode)
/savant-default-off Disable Default Return to normal Claude behavior
/savant Smart Router Auto-detects and recommends the best persona
/savant-question Einstein General questions, deep explanations
/savant-code Shakespeare Code analysis with flowcharts
/savant-new Steve Jobs Project vision and next-step ideas
/savant-fix Socrates Error analysis, root cause debugging
/savant-biz SayNo Business strategy, monetization, P&L analysis
/savant-jvm JVM Developer JVM performance optimization (GC, JIT, memory)
/savant-python Python Developer Python performance optimization (GIL, asyncio, vectorization)
/savant-go Go Developer Go performance optimization (goroutines, escape analysis)
/savant-rust Rust Developer Rust performance optimization (ownership, zero-cost abstractions)
/savant-node Node.js Developer Node.js performance optimization (event loop, V8)
/savant-swift Swift Developer Swift performance optimization (ARC, value types)
/savant-cpp C/C++ Developer C/C++ performance optimization (cache, SIMD, memory)
/savant-aws AWS Architect AWS cloud architecture and cost optimization
/savant-k8s K8s Developer Kubernetes orchestration and troubleshooting
/savant-iac IaC Developer Terraform/Pulumi infrastructure as code
/savant-observability Observability Engineer Monitoring, tracing, SLO-based alerting
/savant-cicd CI/CD Engineer Pipeline design, GitOps, deployment strategies
/savant-docker Docker Developer Container optimization and security
/savant-system-design System Designer Large-scale distributed system design
/savant-perf-detect Performance Detective Slow query and latency spike investigation
/savant-sre SRE Engineer Reliability, HA, zero-downtime deployments
/savant-update Update Check for updates and upgrade

Direct Agent Calls

claude-code-savant:router           # Smart question analyzer (uses Opus)
claude-code-savant:einstein         # First principles explanations
claude-code-savant:shakespeare      # Narrative with diagrams
claude-code-savant:stevejobs        # Visionary direction and ideas
claude-code-savant:socrates         # Error debugging and root cause analysis
claude-code-savant:sayno            # Business strategy and monetization
claude-code-savant:jvm-developer    # JVM performance optimization
claude-code-savant:python-developer # Python performance optimization
claude-code-savant:go-developer     # Go performance optimization
claude-code-savant:rust-developer   # Rust performance optimization
claude-code-savant:node-developer   # Node.js performance optimization
claude-code-savant:swift-developer  # Swift performance optimization
claude-code-savant:cpp-developer    # C/C++ performance optimization
claude-code-savant:aws-architect    # AWS cloud architecture
claude-code-savant:k8s-developer    # Kubernetes orchestration
claude-code-savant:iac-developer    # Infrastructure as Code
claude-code-savant:observability-developer # Observability & monitoring
claude-code-savant:cicd-developer   # CI/CD pipeline design
claude-code-savant:docker-developer # Container optimization
claude-code-savant:system-designer  # Large-scale system design
claude-code-savant:performance-detective # Performance detection
claude-code-savant:sre-engineer     # Site reliability engineering

Examples

# Let AI choose the best persona (Smart Router)
/savant What is dependency injection and why do we need it?

# Ask a question (Einstein)
/savant-question What is MCP?

# Analyze code (Shakespeare)
/savant-code Analyze this code
function fibonacci(n) {
  if (n <= 1) return n;
  return fibonacci(n-1) + fibonacci(n-2);
}

# Get project direction (Steve Jobs)
/savant-new What should be the next feature for this project?

# Debug an error (Socrates)
/savant-fix NullPointerException at UserService.java:42

Personas

The Professor (Einstein)

  • Style: First principles thinking, scientific precision
  • Strength: Deep understanding, thorough explanations
  • Output: Structured analysis with analogies and practical implications
  • Use when: You want to truly understand something, not just know about it

The Bard (Shakespeare)

  • Style: Narrative storytelling, dramatic structure
  • Strength: Making complex flows understandable through story
  • Output: Rich narratives with Mermaid flowcharts
  • Use when: Analyzing code structure and flow visually

The Visionary (Steve Jobs)

  • Style: Bold, direct, user-obsessed thinking
  • Strength: Seeing the next evolution and breakthrough opportunities
  • Output: Clear vision with actionable ideas and what to kill
  • Use when: You need direction on where to take your project next

The Debugger (Socrates)

  • Style: Socratic questioning, systematic investigation
  • Strength: Tracing errors to root causes, finding edge cases
  • Output: Thorough error analysis with fixes and prevention strategies
  • Use when: You have an error, stack trace, or bug to investigate

The Strategist (SayNo)

  • Style: Data-driven, numbers-first analysis
  • Strength: Revenue modeling, P&L projections, market sizing
  • Output: Financial tables, unit economics, break-even analysis
  • Use when: You need monetization strategy, business planning, or financial projections
  • Gateway: SayNo also serves as the entry point to all business domain agents

Language Optimizer Agents

7 language-specific performance optimization agents that provide runtime-level insights, profiling analysis, and benchmark-backed recommendations.

Agent Focus Key Expertise
JVM Developer Java/Kotlin/Scala GC tuning, JIT compilation, virtual threads, memory layout
Python Developer Python GIL management, asyncio, vectorization, Cython, profiling
Go Developer Go Goroutines, escape analysis, pprof, GOGC/GOMEMLIMIT
Rust Developer Rust Ownership patterns, zero-cost abstractions, LLVM, unsafe
Node.js Developer Node.js/TypeScript Event loop, V8 internals, Worker threads, streaming
Swift Developer Swift ARC optimization, value types, Instruments, Swift concurrency
C/C++ Developer C/C++ Cache optimization, SIMD, RAII, memory pools, compiler flags

Each agent follows the same pattern: profile first, measure before and after, explain at the runtime level, prioritize by impact.

Infrastructure & DevOps Agents

6 infrastructure agents for cloud architecture, orchestration, and deployment automation.

Agent Focus Key Expertise
AWS Architect AWS Cloud Service selection, cost optimization, Well-Architected Framework
K8s Developer Kubernetes Orchestration, scaling, networking, troubleshooting
IaC Developer Terraform/Pulumi Module design, state management, CI/CD integration
Observability Engineer Monitoring Prometheus, Grafana, OpenTelemetry, SLO-based alerting
CI/CD Engineer Pipelines GitHub Actions, ArgoCD, GitOps, deployment strategies
Docker Developer Containers Image optimization, multi-stage builds, security hardening

System Design & SRE Agents

3 SRE-level agents for large-scale architecture, performance investigation, and reliability engineering.

Agent Focus Key Expertise
System Designer Large-Scale Design Distributed architecture, CAP, sharding, capacity planning
Performance Detective Performance Detection Slow queries, latency spikes, APM, root cause analysis
SRE Engineer Reliability Zero-downtime deploy, HA, error budgets, incident response

Business Domain Agents

SayNo is the gateway to 14 specialized business domain agents covering Finance, Growth, Legal, Fashion, Logistics, F&B, SaaS, E-commerce, Real Estate, Healthcare, Content, HR, Education, and Travel.

Each agent provides data-driven analysis with Korean market expertise (한국 시장). Activate only the ones you need in the Savant Chat sidebar.

Dynamic Benchmarks: When specific numbers are needed (KPIs, market size, growth rates), agents automatically search the web for the latest data with source citations — no more stale benchmarks.

Full Business Agents Documentation → — commands, examples, and detailed descriptions for all 14 domain agents.

Savant Chat (Web UI)

A local messenger-style chat interface to talk with AI personas about your project. Each persona understands your project's codebase, architecture, and conventions.

Savant Chat UI

Savant Chat - Biz Agents

Savant Chat - Agent Manager

Quick Start

# From the plugin directory
npm run chat

# Or install globally
npm install -g claude-code-savant
savant-chat

# Or use npx (no install needed)
npx claude-code-savant

From Any Project

# Navigate to your project, then:
savant-chat

# Or specify a port
savant-chat --port 4000

The chat server automatically scans your project directory (package.json, README, source files, git history) and gives all personas full context.

From Claude Code

/savant-chat

Features

Feature Description
Claude Code (Local) Chat using local Claude Code CLI — no API key needed (default)
Multi-Provider Switch between Claude Code, Anthropic API, OpenAI, or Gemini
1:1 Chat Chat with Einstein, Shakespeare, Socrates, Steve Jobs, or SayNo individually
Biz Agents 14 business domain agents with Korean market expertise
Team Chat All personas discuss your question together (단톡방)
Language Toggle Switch between English and Korean (EN/KO)
Token Usage Display input/output token counts per response
Chat History Conversations persist across page refresh (localStorage)
Agent Editing Double-click agent names in sidebar to rename
Project Context Click the project badge to see what the AI knows
Streaming Real-time streaming responses (API providers)

Screenshots

Open http://localhost:3456 after launching:

  • Left sidebar: Dev/Biz persona selection + Team Chat + Language toggle
  • Main area: Messenger-style chat with markdown rendering
  • Top bar: Provider selection (Claude Code / Claude / GPT / Gemini)
  • Project badge: Click to see full project context the AI understands

Environment Variables

Variable Description Default
ANTHROPIC_API_KEY Anthropic API key (optional if using Claude Code)
OPENAI_API_KEY OpenAI API key (optional)
GEMINI_API_KEY Gemini API key (optional)
PROJECT_DIR Project directory to scan Current directory
PORT Server port 3456

Project Structure

claude-code-savant/
├── .claude-plugin/
│   └── plugin.json           # Plugin manifest
├── agents/
│   ├── router.md             # Smart Router (question analyzer)
│   ├── dev/                  # Dev personas (21 agents)
│   │   ├── einstein/
│   │   │   ├── persona.md    # Identity, How You Think, Language Style
│   │   │   ├── templates.md  # Response structure templates
│   │   │   └── examples.md   # Before/after response examples
│   │   ├── shakespeare/      # (same structure)
│   │   ├── socrates/         # (same structure)
│   │   ├── stevejobs/        # (same structure)
│   │   ├── sayno/            # (same structure)
│   │   ├── jvm-developer/    # JVM Performance Expert
│   │   ├── python-developer/ # Python Performance Expert
│   │   ├── go-developer/     # Go Performance Expert
│   │   ├── rust-developer/   # Rust Performance Expert
│   │   ├── node-developer/   # Node.js Performance Expert
│   │   ├── swift-developer/  # Swift Performance Expert
│   │   ├── cpp-developer/    # C/C++ Performance Expert
│   │   ├── aws-architect/    # AWS Cloud Expert
│   │   ├── k8s-developer/    # Kubernetes Expert
│   │   ├── iac-developer/    # Infrastructure as Code Expert
│   │   ├── observability-developer/ # Observability Expert
│   │   ├── cicd-developer/   # CI/CD Pipeline Expert
│   │   ├── docker-developer/ # Container Expert
│   │   ├── system-designer/  # System Design Expert
│   │   ├── performance-detective/ # Performance Detection Expert
│   │   └── sre-engineer/     # Site Reliability Expert
│   └── biz/                  # Business domain agents (14 agents)
│       ├── finance/
│       │   ├── persona.md    # Domain expertise + Korean market
│       │   ├── benchmarks.md # Industry KPIs and benchmarks
│       │   └── templates.md  # Response framework templates
│       ├── saas/             # (same structure)
│       ├── growth/           # (same structure)
│       ├── ecommerce/        # (same structure)
│       ├── legal/            # (same structure)
│       ├── fashion/          # (same structure)
│       ├── logistics/        # (same structure)
│       ├── fnb/              # (same structure)
│       ├── realestate/       # (same structure)
│       ├── healthcare/       # (same structure)
│       ├── content/          # (same structure)
│       ├── hr/               # (same structure)
│       ├── education/        # (same structure)
│       └── travel/           # (same structure)
├── web/
│   ├── server.ts              # Chat server (Express + SSE, multi-provider)
│   ├── cli.ts                 # CLI entry point (savant-chat command)
│   └── public/
│       └── index.html         # Messenger-style chat UI (SPA)
├── docs/
│   └── business-agents.md    # Full business agents documentation
├── commands/
│   ├── install.md            # Auto-runs on first install
│   ├── setup.md              # /savant-setup (manual setup wizard)
│   ├── lang.md               # /savant-lang (language settings)
│   ├── default.md            # /savant-default (enable always-on mode)
│   ├── default-off.md        # /savant-default-off (disable default mode)
│   ├── savant.md             # /savant (smart router command)
│   ├── savant-question.md    # /savant-question command
│   ├── savant-code.md        # /savant-code command
│   ├── savant-new.md         # /savant-new command
│   ├── savant-fix.md         # /savant-fix command
│   └── update.md             # /savant-update command
└── src/                      # MCP server (alternative)

Development

# Clone and test locally
git clone https://github.com/rlaope/claude-code-savant.git
cd claude-code-savant
claude --plugin-dir .

# Run tests
npm test

Updating

Check for updates and upgrade:

/savant-update

Or manually:

/plugin update claude-code-savant

License

MIT

About

Savant, an AI savant-based corporate environment, and the provision of Claude Code plugins.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors