Purposeful skill loading for Claude Code. Stop wasting context on skills you don't need.
SKILL.md files in Claude Code setups suffer from "drift" and "rot":
- Skills accumulate without organization
- Overlapping functionality wastes context tokens
- No clear loading strategy (everything loads = token waste)
- Users don't know what skills they have or when to use them
Modes are operating contexts that load only relevant skills on demand.
modes activate code # Load design-principles, feature-complete
modes activate security # Load threat-modeling, vulnerability-detection
modes activate research # Load evidence-evaluation, research-synthesisFoundation skills (asking-users, context-gate) ALWAYS load. Mode skills stack on top.
# Install
curl -sL https://raw.githubusercontent.com/CodeTonight-SA/claude-modes/main/install.sh | bash
# List available modes
modes list
# Activate a mode
modes activate code
# Check current mode
modes status
# Deactivate
modes deactivate[Mode Skills] ← Stacks on top (supplements)
↓
[Foundation Skills] ← ALWAYS ACTIVE (never overridden)
| Skill | Purpose |
|---|---|
| asking-users | AskUserQuestion protocol for confidence gates |
| context-gate | Context window monitoring |
Each mode loads domain-specific skills:
| Mode | Skills | Token Budget |
|---|---|---|
| code | design-principles, feature-complete, code-agentic | ~6000 |
| security | threat-modeling, vulnerability-detection, sanitizing-releases | ~3500 |
| research | research-synthesis, evidence-evaluation | ~3000 |
modes create my-modeThis creates a template at ~/.claude/modes/definitions/my-mode.yaml:
name: my-mode
description: One-line description. Use when {context}.
version: 1.0.0
triggers:
commands:
- /mode my-mode
patterns:
- "keyword1"
- "keyword2"
skills:
always:
- skill-a
- skill-b
optional:
- skill-c
token_budget: ~3500
foundation: true
prompt_injection: |
[MODE: MY-MODE]
Context-specific instructions...
context:
- Use case 1
- Use case 2See docs/CREATING-MODES.md for the complete guide.
Analyze your existing skills and get mode suggestions:
modes analyzeOutput:
Analyzing skills in ~/.claude/skills/...
Skill: feature-complete
Suggested mode: code (confidence: 0.92)
Skill: threat-modeling
Suggested mode: security (confidence: 0.87)
Skill: research-synthesis
Suggested mode: research (confidence: 0.95)
Uncategorized skills (consider creating new mode):
- custom-skill-1
- custom-skill-2
| Command | Description |
|---|---|
modes list |
List available modes |
modes activate <name> |
Activate a mode |
modes deactivate |
Deactivate current mode |
modes status |
Show current mode |
modes analyze |
Analyze skills, suggest modes |
modes create <name> |
Create new mode from template |
modes sync |
Sync with upstream |
Loading only relevant skills saves 30-35% of your context budget:
| Scenario | Tokens Used | Notes |
|---|---|---|
| All skills loaded | ~15000 | Everything, always |
| Code mode | ~6000 | Just development skills |
| Research mode | ~3000 | Just research skills |
| Foundation only | ~1000 | Minimal, always active |
For more accurate skill categorization, enable semantic embeddings:
# Install dependencies
pip install sqlite-lembed sentence-transformers
# Enable semantic mode
modes analyze --semanticSee docs/EMBEDDINGS.md for setup details.
We want YOUR modes.
Claude-Modes ships with 3 starter modes. The magic happens when the community builds more.
See CONTRIBUTING.md for how to contribute your modes.
Apache 2.0 - See LICENSE
- CIPS - Full Claude Instance Preservation System (includes modes + much more)