GitHub - mlolson/claude-spp: Claude Simian Programmer Plugin: for monkeys who want to keep their programming skills sharp

3 min read Original article ↗

Simian Programmer Plugin (SPP) for Claude Code

Keep your coding skills sharp while using AI.

SPP is a Claude Code plugin that ensures you write a minimum percentage of the code yourself. You choose the balance - from 10% human / 90% AI up to 100% human coding.

Why?

Over-reliance on AI coding tools leads to skill atrophy. A study from Anthropic found that:

AI use impairs conceptual understanding, code reading, and debugging abilities... Participants who fully delegated coding tasks showed some productivity improvements, but at the cost of learning.

SPP lets you use AI as a collaborator rather than a crutch. When you've let Claude write too much code, SPP blocks Claude from writing more until you catch up. Instead of writing code for you, Claude switches to a coaching mode - giving you guidance, code pointers, and reviewing your work.

Quick Start

# 1. Install the CLI
npm i -g claude-spp

# 2. Initialize in your project
cd /path/to/your/project
spp init

# 3. Add the plugin to Claude Code
claude
> /plugin marketplace add mlolson/claude-spp
> /plugin install spp@mlolson

How It Works

Tracking

SPP tracks your commits. Commits with Co-Authored-By: Claude in the message count as Claude commits; commits without it count as human commits.

  • Tracking starts from when you run spp init (previous commits are ignored)
  • By default, looks at the last 7 days of commits
  • Can optionally track by lines of code instead of commits

Enforcement

When your human coding ratio drops below your target, Claude is blocked from writing code. Instead of writing code for you, Claude uses a "help human code" skill that provides:

  • A high-level overview of the task
  • Specific file and line number references
  • Step-by-step guidance
  • Code review after you write it

Modes

Mode Human / AI Description
Lazy monkey 0% / 100% Claude does everything
Curious monkey 10% / 90% Light human involvement
Clever monkey 25% / 75% Default - balanced assistance
Wise monkey 50% / 50% Equal partnership
Crazy monkey 100% / 0% You write everything, Claude advises

Change modes anytime with spp mode <1-5>.

Features

Status Line

See your current ratio at a glance in Claude Code's status line:

🟢 Claude can write 9 more commits 🤖 > 🐵 > 🤖 > 🐵 > 🐵 ...
🔴 Human needs to write 2 more commits 🤖 > 🤖 > 🤖 > 🐵 ...

Enable by adding to ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "spp hook:status-line"
  }
}

Drive Mode

Want to write code yourself without changing your mode? Toggle drive mode:

Claude is blocked from writing code but remains available for guidance, code review, and questions. Toggle off when done.

Pause / Resume

Need Claude to write freely for a bit? Pause enforcement for 24 hours:

spp pause    # Pause for 24 hours
spp resume   # Resume immediately

Reset

Behind on commits and want a fresh start? Reset tracking:

CLI Reference

Command Description
spp init Initialize SPP in the current project
spp stats Show current ratio and statistics
spp mode [n] Show or change mode (1-5)
spp modes List all available modes
spp drive Toggle drive mode
spp pause Pause enforcement for 24 hours
spp resume Resume enforcement
spp reset Reset tracking to current commit

Configuration

Config is stored in .claude-spp/config.json:

Option Default Description
mode 3 Coding mode (1-5)
statsWindow "oneWeek" Time window: "oneDay", "oneWeek", "allTime"
trackingMode "commits" What to count: "commits" or "lines"
driveMode false Block Claude regardless of ratio
enabled true Whether enforcement is active

Example:

{
  "enabled": true,
  "mode": 3,
  "statsWindow": "oneWeek",
  "trackingMode": "commits",
  "vcsType": "git"
}