Complete guide to Claude Code as a system-wide assistant
DON'T PANIC. Transform Claude Code from "project-based coding tool" into "computer-wide intelligent assistant."
Compiled from insights by Boris Cherny (creator of Claude Code), Andrej Karpathy, Anthropic Best Practices, and The Hitch-Hiker's Guide to Vibe Engineering.
# Copy the starter kit to your home directory
cp -r starter-kit ~/.claude
# Edit with your details
nano ~/.claude/CLAUDE.md
# Start Claude Code
claude- Philosophy: Vibe Engineering
- Architecture Overview
- MCP Servers (External Tools)
- Commands (Slash Commands)
- Skills (Procedural Knowledge)
- Agents (Custom Personalities)
- The Global CLAUDE.md
- Hooks (Automation)
- IDE & Terminal Hacks
- Boris Cherny's Patterns
- Setup Checklist
"Vibe Engineering is the second-best way to write software in the known universe. The best way, of course, is to have someone else do it entirely while you sip Pan Galactic Gargle Blasters."
VIBE ENGINEERING (n.): The deliberate practice of building software through AI collaboration—describing intent, reviewing output, and iterating toward working systems. Distinguished from "vibe coding" by emphasizing engineering: understanding what you build, owning what you ship.
| Level | Label | Meaning |
|---|---|---|
| 🟢 | Mostly Harmless | If it breaks, nothing bad happens |
| 🟡 | Caution Advised | Annoying but recoverable |
| 🟠 | Danger | Real problems if this fails |
| 🔴 | Here Be Dragons | Catastrophic consequences |
"Fully give in to the vibes" ←————————————→ "Read every line"
↑ ↑
Prototypes Production
Match your scrutiny to the risk level.
Before shipping to production:
| Question | What It Really Asks |
|---|---|
| Can you debug it? | If this breaks at 3am, can you fix it? |
| Can you explain it? | Could you walk someone through it? |
| Can you extend it? | When requirements change, can you modify it? |
| Can you own it? | Will you take responsibility in production? |
If any answer is "no" — you're not ready to ship.
- Context is currency — Specific prompts outperform vague requests
- Verify before trust — The AI cannot test itself
- Ship before perfect — Done beats ideal
"A towel is about the most massively useful thing an interstellar hitchhiker can have."
In Vibe Engineering, version control is your towel.
# Before any AI session
git add -A && git commit -m "checkpoint: before AI session"~/.claude/ # Global Claude configuration
├── CLAUDE.md # Master instructions (loaded every session)
├── mcp.json # MCP server connections
├── settings.json # Permissions, plugins
├── commands/ # Slash commands
│ ├── dev/ # /dev:init, /dev:test
│ └── learning/ # /learning:explain
├── skills/ # Detailed procedures
├── agents/ # Custom personalities
├── hooks/ # Automation triggers
└── memory/ # Persistent context
Key Insight: Everything in ~/.claude/ applies globally. Project-specific overrides go in .claude/ within the project.
Boris Cherny's setup is "surprisingly vanilla." His advice:
"Claude Code works great out of the box. Don't over-customize initially."
MCPs (Model Context Protocol) connect Claude to external systems. This transforms Claude from "chat assistant" to "system-wide agent."
| Category | Examples | What It Enables |
|---|---|---|
| Communication | WhatsApp, Slack, Discord, Gmail | Send/receive messages |
| Data | Supabase, SQLite, PostgreSQL | Database queries |
| Productivity | Calendar, Todoist, Obsidian | Scheduling, tasks, notes |
| Development | GitHub, Git | Repo management, PRs |
| Automation | n8n, Puppeteer | Workflows, browser control |
| Memory | server-memory | Persistent context |
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
}
}
}Pattern: If you use it daily, give Claude access to it.
See examples/mcp-configs/ for more configurations.
Commands are reusable prompts triggered by /command-name.
---
description: Short description shown in command list
thinking: true # Optional: enable extended thinking
---
# Command Name
Instructions for Claude when this command is invoked.commands/
├── dev/init.md → /dev:init
├── dev/test.md → /dev:test
├── learning/explain.md → /learning:explain
└── organize.md → /organize
See starter-kit/commands/ for templates.
Skills are more detailed than commands — they contain step-by-step procedures.
Think of commands as "triggers" and skills as "detailed playbooks."
---
name: skill-name
description: What this skill does
---
# Skill Name
## When to Use
- Condition 1
- Condition 2
## Procedure
### Step 1: [Name]
Detailed instructions...
### Step 2: [Name]
Detailed instructions...
## Templates
Example outputs...See starter-kit/skills/ for templates.
Agents define specialized personas Claude can adopt.
---
name: agent-name
description: What this agent specializes in
model: sonnet
---
You are a [role] expert with deep knowledge of [domain].
## Expertise Areas
- Area 1
- Area 2
## Approach
- How to communicate
- Safety guidelines| Agent | Purpose |
|---|---|
sysadmin |
Linux system administration |
code-reviewer |
Code review focus |
learning-assistant |
Teaching mode |
See starter-kit/agents/ for templates.
This is loaded automatically every session.
# Personal Assistant Configuration
## About Me
- Name, timezone, context
## Preferences
- Communication style
- Safety guidelines
## Environment
- Machine details
- Key directories
## Verification
- Commands to run after code changes"Anytime we see Claude do something incorrectly we add it to CLAUDE.md, so Claude knows not to do it next time." — Boris Cherny
Hooks trigger actions on specific events.
| Event | When | Use Cases |
|---|---|---|
SessionStart |
New session | Load context |
SessionEnd |
Session ends | Save transcript |
PostToolUse |
After tool runs | Auto-format code |
SubagentStop |
Agent completes | Verify results |
{
"hooks": {
"PostToolUse": {
"command": "bash ~/.claude/hooks/auto-format.sh",
"timeout": 5000
}
}
}See starter-kit/hooks/ for examples.
| Shortcut | Action |
|---|---|
Escape |
Stop Claude |
Escape twice |
Jump to previous messages |
Shift+Tab twice |
Enter Plan Mode |
Shift+Enter |
New line without sending |
claude --model opus # Heavy reasoning
claude --model haiku # Fast, cheap
claude -c # Continue last session
claude -p "query" # Non-interactive
claude --max-turns 3 # Limit depth| Command | Purpose |
|---|---|
/clear |
Reset conversation (use often!) |
/compact |
Reduce tokens |
/cost |
Show session cost |
/permissions |
Manage safe commands |
/doctor |
Check installation |
| Phrase | Budget |
|---|---|
| "think" | Low |
| "think hard" | Medium |
| "think harder" | High |
| "ultrathink" | Maximum |
# Git worktrees for isolated branches
git worktree add ../feature-1 feature-1
cd ../feature-1 && claude"Give Claude a way to verify its work. If Claude has that feedback loop, it will 2-3x the quality of the final result."
Add to CLAUDE.md:
## Verification
After code changes, run:
- `npm run typecheck`
- `npm run test`
- `npm run lint`Don't: --dangerously-skip-permissions
Do: /permissions to pre-allow safe commands
- Start in Plan Mode (Shift+Tab twice)
- Iterate on plan until satisfied
- Switch to auto-accept mode
- Claude executes (usually one-shots)
- Verification runs automatically
Share via git:
.claude/settings.json— Permissions.claude/commands/— Slash commands.mcp.json— MCP configsCLAUDE.md— Project instructions
- Install Claude Code
- Copy
starter-kit/to~/.claude/ - Edit
CLAUDE.mdwith your details
- Add memory MCP
- Add one communication MCP
- Test each loads
- Identify 2-3 frequent tasks
- Create commands for them
- Test with
/command-name
- Skills for complex procedures
- Agents for specialty domains
- Hooks for automation
- Set up
/permissions
- Claude makes mistake → add to CLAUDE.md
- Task repetitive → make it a command
- Command complex → promote to skill
- Need different mode → create agent
- Start vanilla — Add complexity only when needed
- Iterate CLAUDE.md — Add rules when Claude errs
- Give Claude verification — 2-3x quality improvement
- Match scrutiny to risk — 🟢 prototype freely, 🔴 production carefully
- Git is your towel — Never vibe without it
Contributions welcome! Please read CONTRIBUTING.md first.
MIT License - see LICENSE
DON'T PANIC. Share and Enjoy.
This repository is part of a growing family of open-source toolkits for Claude Code.
- LibreUIUX-Claude-Code — UI/UX development (152 agents, 70 plugins, 76 commands, 74 skills)
- LibreArch-Claude-Code — Software architecture and system design
- LibreCopy-Claude-Code — Technical writing and documentation engineering
- LibreDevOps-Claude-Code — DevOps engineering and infrastructure automation
- LibreEmbed-Claude-Code — Embedded systems, firmware, and IoT development
- LibreFinTech-Claude-Code — Financial technology development
- LibreGEO-Claude-Code — AI-search optimization (ChatGPT, Perplexity, Gemini, Google AI Overviews)
- LibreGameDev-Claude-Code — Game development across Godot, Unity, Unreal
- LibreMLOps-Claude-Code — ML engineering and AI operations
- LibreMobileDev-Claude-Code — Mobile app development (Flutter, React Native, native iOS, native Android)
- LibreSecOps-Claude-Code — Security operations
- vibe-engineer-skills — Direct AI codegen well (hypothesis → scope → validate → reject working-but-wrong)
- markdown-discipline-skills — Strip AI-slop from markdown (no em dashes, no marketing fluff)
- shell-safety-skills —
set -euo pipefaildiscipline + 15 failure-mode examples - commit-standard-skills — Ormus Commit Standard v1.0 + commit-msg hook + commitlint
- unwoke-skills — Strip AI theater (ten sins to eliminate, symmetric engagement)
- python-conventions-skills — Modern Python 3.11+ (types, pathlib, async, ruff, mypy, uv)
- typescript-conventions-skills — TypeScript strict mode, discriminated unions, Result types
- hermetic-laws-skills — Seven Hermetic Principles applied to engineering
- riper-workflow-skills — Research / Innovate / Plan / Execute / Review systematic dev
- six-day-cycle-skills — Sustainable shipping cadence with mandatory rest
- token-optimization-skills — Claude Code token + context optimization
- osint-skills — OSINT research methodology (multi-wave investigative spiral)
- calcinate-skills — Stage 1 of the Magnum Opus (burn project bloat)
- claude-md-overhaul-skills — Audit CLAUDE.md and MEMORY.md against caps
- session-handoff-skills — Session handoff + pickup discipline
- naming-skills — Product naming methodology (mine the brand's vocabulary)
- magnum-opus-skills — Seven-stage alchemy applied to project transformation
- andrej-karpathy-skills — the canonical single-file CLAUDE.md pattern (fork of jiayuan_jy's original)
Star the family, not just one — that's how the suite stays coherent.