+
+
+
+ Claude Code — From Vibe Coding to Agentic Engineering
+
+
+
+
+
+
+
+
+ Pro
+ High
+ Med
+ Low
+
+
+ Current = Low
+
+
+
+
+
+
+
+
+
+
+
+
Claude Code
+
From Vibe Coding to Agentic Engineering
+
A journey through every best practice — with a real project.
+
+
+
+
+
The Example Project: TodoApp
+
+
Running Example
+
Every technique in this presentation is demonstrated on a TodoApp monorepo — showing the transformation from a plain project to one with full Claude Code configuration.
This is where everyone starts. The question is: how fast can you move beyond it?
+
+
+
What Happens (Low Level)
+
> add a notes feature
+
Claude creates /api/notes with a random schema
+
Frontend gets a standalone page with no sidebar nav
+
Tests? None. Patterns? Ignored.
+
Every new feature is a coin flip. Code entropy increases with every prompt.
+
+
+
What We Want (High Level)
+
Claude knows the TodoApp architecture
+
New routes follow existing patterns in routes/todos.py
+
Frontend uses Sidebar.tsx nav and Tailwind tokens
+
Tests written automatically matching test_todos.py style
+
Consistent, tested, production-quality code — every time.
+
+
+
+
+
+
+
The Journey
+
+
From Low to High
+
Each section adds techniques that move you from vibe coding toward fully agentic engineering.
+
+
+
1Prerequisites
+
2Better Prompting — Low
+
3Project Memory — Medium
+
4Structured Workflows — Medium
+
5Domain Knowledge — High
+
6Agentic Engineering — High
+
+
+
+
+
+
+
+
+
+
Installing Claude Code
+
+
Prerequisite
+
Homebrew must be installed on your Mac.
+
+
+
Install via Homebrew
+
Run this in your terminal:
+
brew install claude-code
+
+
Verify Installation
+
claude --version
+
Update Later
+
brew upgrade claude-code
+
Run /doctor anytime to check your installation health.
+
+
+
+
+
Login Option A: Subscription
+
Use your Claude Pro or Max subscription via OAuth login:
+
claude
+# Select "Claude.ai" at the login prompt
+# Opens browser for OAuth
+
Subscription Tiers
+
+
+
+
Plan
+
Price
+
Weekly Limit
+
Sonnet 4.5
+
Opus 4.6
+
+
+
+
+
Pro
+
$20/mo
+
Base limit
+
✓
+
✗
+
+
+
Max 5x
+
$100/mo
+
5× Pro limit
+
✓
+
✓
+
+
+
Max 20x
+
$200/mo
+
20× Pro limit
+
✓
+
✓
+
+
+
+
Weekly limits reset every 7 days. Usage is shared across Claude web, desktop, and Claude Code. Opus 4.6 requires a Max plan.
+
+
+
+
+
Login Option B: API Key
+
Pay per token with an Anthropic API key — no weekly caps:
+
Token Pricing (per million tokens)
+
+
+
+
Model
+
Input
+
Output
+
Context Window
+
+
+
+
+
Opus 4.6
+
$5 / MTok
+
$25 / MTok
+
200K (1M beta)
+
+
+
Sonnet 4.5
+
$3 / MTok
+
$15 / MTok
+
200K (1M beta)
+
+
+
Haiku 4.5
+
$0.80 / MTok
+
$4 / MTok
+
200K (1M beta)
+
+
+
+
+
Setup
+
export ANTHROPIC_API_KEY=sk-ant-...
+claude
+
+
Best for: Heavy usage, CI/CD pipelines, teams needing predictable billing
+
+
+
+
+
Your First Session
+
+
Start Claude Code
+
Navigate to your project and run:
+
cd ~/todoapp
+claude
+
+
+
What Happens
+
Claude Code scans your project structure, reads CLAUDE.md (if it exists), and opens an interactive REPL where you can type prompts.
+
+
This IS Vibe Coding
+
Right now, with no CLAUDE.md, no skills, no agents — you're at the Low level. Claude will guess at everything. That's okay. We'll fix it step by step.
+
+
+
+
+
The Interface
+
+-----------------------------------------+
+|Claude Code v2.1.33
+| Model: claude-opus-4-6
+| Project: ~/todoapp
++-----------------------------------------+
+
+> Type your prompt here...
+
Quick Reference
+
+
⌨
EnterSubmit your prompt
+
↵
Shift+Enter or \New line (multiline input)
+
■
Ctrl+CCancel current generation
+
▶
Ctrl+D or /exitExit Claude Code
+
+
+
+
+
+
+
+
+
+
Part 2
+
Better Prompting
+
Level: Low — effective prompting that produces real, production-quality results.
+
+
+
+
+
Your First Prompt
+
+
Try This
+
Start simple — ask Claude to understand your project:
+
> Read the README.md and give me a summary of this project
+
+
Claude will use the Read tool to open the file, then summarize it. You'll see the tool call in the output.
+
What Just Happened?
+
+
1️⃣
Claude read your promptUnderstood you want a summary
+
2️⃣
Used the Read toolOpened README.md from your project
+
3️⃣
Responded with a summaryBased on actual file contents, not guessing
+
+
+
+
+
+
Good vs Bad Prompts
+
The difference between vibe coding and professional usage — shown on our TodoApp:
+
+
+
Vibe Coding
+
> add a notes feature
+
Claude creates a random /api/notes endpoint with a new schema that doesn't match models/todo.py. Frontend page has no sidebar nav.
+
Vague, no context, no constraints.
+
+
+
Professional
+
> In backend/routes/todos.py, add a
+ PUT /api/todos/{id}/complete endpoint.
+ Follow the existing route pattern and
+ update the Todo model's is_completed field.
+ Add a test in tests/test_todos.py.
+
Specific file, specific endpoint, specific pattern.
+
+
+
+
+
+
+
Providing Context
+
+
Key Rule
+
The more context you give, the better Claude performs. Use @ to reference files directly in your prompt.
+
+
+
TodoApp Example
+
> Look at @backend/routes/todos.py and @backend/models/todo.py
+ Add a priority field to the Todo model and update
+ the create endpoint to accept it.
+
+
Context Tips
+
+
📄
@file/pathReference specific files for Claude to read
+
📸
Paste screenshotsCtrl+V to paste images of errors or UI
+
📋
Paste error logsCopy the full error message into your prompt
+
+
+
+
+
+
Context Window & /compact
+
+
Key Concept
+
Claude has a context window — a limit on how much conversation it can remember. Every prompt, file read, and response fills it up.
+
+
+
+
+
What Fills Context
+
Your prompts and messages
+
Every file Claude reads
+
Bash command output
+
Claude's own responses
+
+
+
/compact — The Fix
+
> /compact
+
Compresses conversation history into a summary. Claude continues from that summary.
+
+
+
+
Best Practice
+
Run /compact manually at ~50% context usage. Don't wait until it auto-compacts — you lose control over what gets preserved.
+
+
+
+
+
+
/plan — Plan Before Code
+
+
Try This
+
> /plan
+> Add user authentication to the TodoApp backend
+
+
+
+
Without /plan
+
Claude writes code immediately
+
Wrong approach — redo everything
+
50% of context gone before real work starts
+
+
+
With /plan
+
Claude explores codebase read-only
+
Proposes approach for your approval
+
Right approach from the start
+
+
+
+
Rule of Thumb
+
Always start with plan mode for any task that touches more than 2-3 files or involves architectural decisions.
+
+
+
+
+
+
Plan Mode in Practice
+
+
Step by Step
+
# Step 1: Enter plan mode
+> /plan
+
+# Step 2: Describe what you want
+> Add pagination to the /api/todos endpoint
+
+# Step 3: Claude explores and writes a plan
+# (reads routes/todos.py, checks models, proposes approach)
+
+# Step 4: Review the plan and approve it
+# Claude then executes the approved plan
+
+
+
TodoApp Benefit
+
In plan mode, Claude discovers your existing SQLAlchemy pagination pattern before writing a single line — no reinventing the wheel.
+
+
+
+
+
+
Prompting Best Practices
+
+
🎯
Be specific about files"In backend/routes/todos.py" not "in the backend code"
+
🔎
Describe the problem, not just the fix"The API returns 500 when..." not "make it work"
+
📐
Reference existing patterns"Follow the pattern in routes/todos.py" gives Claude a template
+
🧩
One task at a timeSmall, focused requests get better results than mega-prompts
+
✅
Ask Claude to verify"Run pytest after making changes" catches errors early
+
📸
Provide screenshots for UI issuesA picture is worth a thousand words of description
+
+
+
+
+
+
+
+
+
+
Part 3
+
Project Memory
+
Level: Medium — make Claude remember your project, conventions, and preferences.
+
+
+
+
+
CLAUDE.md & /init
+
+
Key Concept
+
CLAUDE.md is a markdown file that Claude reads at the start of every session. It's your project's instruction manual for Claude.
+
+
+
Create It
+
> /init
+
+
TodoApp CLAUDE.md
+
# CLAUDE.md
+
+## Project
+TodoApp monorepo: FastAPI backend + Next.js frontend.
+
+## Structure
+- backend/routes/ — FastAPI route handlers
+- backend/models/ — SQLAlchemy models
+- frontend/components/ — React components
+- frontend/lib/api.ts — API client
+
+## Commands
+- cd backend && uvicorn main:app --reload
+- cd frontend && npm run dev
+- cd backend && pytest
+
+## Conventions
+- Backend: follow route patterns in routes/todos.py
+- Frontend: use Tailwind, add nav to Sidebar.tsx
+- Always add tests for new endpoints
+
+
+
+
+
What to Include in CLAUDE.md
+
+
+
Include
+
Project architecture overview
+
Build and test commands
+
Key file locations
+
Coding conventions
+
Common patterns to follow
+
Critical do's and don'ts
+
+
+
Avoid
+
Entire API documentation
+
Long code examples
+
Secrets or API keys
+
Information that changes often
+
Anything over 150 lines total
+
+
+
+
Critical Rule
+
Keep CLAUDE.md under 150 lines. Longer files dilute the instructions — Claude may ignore parts of it. Use Rules and Skills for detail.
+
+
+
+
+
+
Keep It Under 150 Lines
+
If You Need More Space
+
+
📄
Use RulesPut topic-specific instructions in .claude/rules/*.md files
+
📚
Use SkillsPut domain knowledge in .claude/skills/ — loaded on demand
+
🔗
Reference filesPoint to docs rather than inlining content
Modular, topic-specific instructions in individual markdown files. Unlike CLAUDE.md, rules can be scoped to specific paths.
+
+
TodoApp Backend Testing Rule
+
# .claude/rules/backend-testing.md
+---
+globs: ["backend/tests/**"]
+---
+When writing tests for the backend:
+- Use pytest with the existing conftest.py fixtures
+- Follow the pattern in test_todos.py:
+ - Use TestClient from FastAPI
+ - Create test data with factory functions
+ - Assert status codes AND response body
+ - Clean up test database after each test
+- Name tests: test_{action}_{entity}_{scenario}
+- Always test both success and error cases
+
This rule only activates when Claude is working on test files — keeping context clean for other tasks.
+
+
+
+
+
/memory & Memory Hierarchy
+
+
Try This
+
> /memory
+
+
Opens your CLAUDE.md memory files in an editor. Changes here persist across all sessions.
+
Three Scopes (loaded in order)
+
# All combined at session start:
+~/.claude/CLAUDE.md # Global — all projects
+.claude/CLAUDE.md # Project — shared with team via git
+.claude/CLAUDE.local.md # Local — personal, git-ignored
+
+
TodoApp Tip
+
Put your TodoApp CLAUDE.md in the repo root so the whole team shares it. Put personal preferences (editor, style) in CLAUDE.local.md.
+
+
+
+
+
+
Memory Best Practices
+
+
📏
CLAUDE.md under 150 linesBrief, focused, high-signal instructions
+
📂
Use rules for specificsPath-scoped rules in .claude/rules/ for targeted guidance
+
👥
Commit project CLAUDE.mdTeam shares project conventions via git
+
🔒
Use .local.md for personal prefsGit-ignored, won't affect teammates
+
🔄
Review and trim regularlyOutdated instructions cause confusion
+
+
+
+
+
+
+
+
+
+
Part 4
+
Structured Workflows
+
Level: Medium — systematic approaches that prevent wasted effort.
+
+
+
+
+
Task Lists
+
For complex tasks, Claude creates a task list to track progress:
+
> Add user authentication to the TodoApp:
+ - POST /api/register endpoint
+ - POST /api/login endpoint
+ - JWT auth middleware
+ - Protect /api/todos endpoints
+ - Tests for all auth endpoints
+
Claude breaks this into individual tasks and shows progress as it works through each one.
+
+
Best Practice
+
Break subtasks small enough that each can be completed in under 50% context. Commit after each subtask.
+
+
+
+
+
+
/model — Model Selection
+
+
Try This
+
> /model
+
+
Opens the model picker. Match the model to the task:
+
+
🧠
Opus 4.6 (Default)Complex tasks — "Add auth to the TodoApp backend with JWT"
+
⚡
Sonnet 4.5Everyday coding — "Add a completed_at field to the Todo model"
+
🏎
Haiku 4.5Simple tasks — "Read backend/routes/todos.py and summarize the endpoints"
+
+
+
Pro Tip
+
Use Option+P (Mac) or Alt+P to quickly switch models. Use /fast for faster Opus output on non-complex tasks.
+
+
+
+
+
+
Workflow Best Practices
+
+
🗺
Always start with plan modeFor any non-trivial task
+
🧩
Break tasks into small piecesEach subtask should complete in under 50% context
+
💾
Commit after each subtaskClean rollback points, not one mega-commit
+
📦
Manual /compact at ~50%Don't wait for auto-compact
+
🤖
Vanilla Claude Code for small tasksSimple tasks don't need elaborate workflows
+
+
+
+
+
+
+
+
+
+
Part 5
+
Domain Knowledge
+
Level: High — reusable knowledge that Claude loads on-demand.
+
+
+
+
+
What Are Skills?
+
+
Key Concept
+
Skills are markdown files that contain domain knowledge — instructions, patterns, or workflows that Claude can load when needed. Think of them as micro-manuals.
+
+
Why Skills?
+
+
📚
Progressive DisclosureKnowledge loaded only when relevant — doesn't bloat every session
+
♻
ReusableSame skill works across agents and workflows
+
👥
ShareableCommit to git — your whole team benefits
+
+
+
Skills vs CLAUDE.md
+
CLAUDE.md = always loaded, every session. Skills = loaded on-demand, when relevant. Use skills for knowledge that's only needed sometimes.
+
+
+
+
+
+
Creating Skills: TodoApp Frontend
+
Frontend Conventions Skill
+
# .claude/skills/frontend-conventions/SKILL.md
+---
+name: frontend-conventions
+description: TodoApp frontend patterns and conventions
+---
+
+# Frontend Conventions
+
+When creating or modifying frontend components:
+
+## Sidebar Navigation
+- Add new page routes to frontend/components/Sidebar.tsx
+- Use the existing NavLink pattern with icon + label
+- Keep alphabetical order in the nav list
+
+## Component Patterns
+- Use functional components with TypeScript
+- Import API functions from lib/api.ts
+- Follow TodoList.tsx as the reference component
+- Use Tailwind classes: bg-white, rounded-lg, shadow-sm
+
+## API Integration
+- All API calls go through lib/api.ts
+- Use the existing fetch wrapper with error handling
+- Base URL: process.env.NEXT_PUBLIC_API_URL
+
+
+
+
+
Skill Frontmatter & Invocation
+
Frontmatter Options
+
+
📜
nameSkill identifier (uses directory name if omitted)
+
📝
descriptionWhen to invoke — helps Claude auto-discover the skill
+
🤖
modelOverride which model runs the skill
+
🔧
allowed-toolsRestrict which tools the skill can use
+
🔁
context: forkRun the skill in an isolated subagent context for complex workflows
+
+
Invocation & Execution Modes
+
# 1. Manual: slash command
+> /frontend-conventions
+
+# 2. Auto: Claude discovers via description field
+# (happens when task matches description)
+
+# 3. Preloaded: in an agent's frontmatter
+skills:
+ - frontend-conventions
+
+# 4. Optional isolation for heavy workflows
+context: fork
Level: High — custom agents that know your codebase and follow your patterns.
+
+
+
+
+
What Are Agents?
+
+
Key Concept
+
Agents are markdown files in .claude/agents/ that define a custom Claude persona with its own tools, model, skills, and behavior.
+
+
Two Ways to Use Agents
+
+
+
As Main Agent
+
Replaces default Claude for your conversation.
+
$ claude --agent frontend-engineer
+
+
+
As Subagent
+
Spawned in an isolated context via Agent tool.
+
Task(
+ subagent_type="frontend-engineer"
+ prompt="Add a settings page"
+)
+
+
+
+
+
+
+
Frontend Engineer Agent
+
+
+
Without Agent
+
> add a settings page
+
Claude creates pages/settings.tsx with:
+
• Inline CSS (no Tailwind)
+
• Direct fetch calls (ignores api.ts)
+
• No sidebar nav entry
+
Standalone page that doesn't fit the app.
+
+
+
With Agent
+
Frontend agent already knows:
+
• Use Tailwind tokens from the design system
+
• Import API functions from lib/api.ts
+
• Add route to Sidebar.tsx
+
• Follow TodoList.tsx component pattern
+
Integrated page matching the app perfectly.
+
+
+
# .claude/agents/frontend-engineer.md
+---
+name: frontend-engineer
+description: Frontend development following TodoApp conventions
+tools: Read, Write, Edit, Bash, Glob, Grep
+model: sonnet
+skills:
+ - frontend-conventions
+---
+You are a frontend engineer for the TodoApp.
+Always add new pages to the Sidebar navigation.
+Use the existing API client in lib/api.ts.
+Follow TodoList.tsx as your reference component.
+
+
+
+
+
Backend Engineer Agent
+
+
+
Without Agent
+
> add a tags feature
+
Claude creates random endpoint structure
+
Different error handling than existing routes
+
No tests, no model validation
+
+
+
With Agent
+
Backend agent follows existing patterns:
+
• Route structure from routes/todos.py
+
• SQLAlchemy model like models/todo.py
+
• Tests matching test_todos.py style
+
• Pydantic schemas for validation
+
+
+
# .claude/agents/backend-engineer.md
+---
+name: backend-engineer
+description: Backend development following TodoApp patterns
+tools: Read, Write, Edit, Bash, Glob, Grep
+model: sonnet
+skills:
+ - backend-patterns
+---
+You are a backend engineer for the TodoApp.
+Follow the route patterns in routes/todos.py.
+Create SQLAlchemy models matching models/todo.py.
+Always add pytest tests for new endpoints.
+Use Pydantic schemas for request/response validation.
+
+
+
+
+
Agent Frontmatter
+
# .claude/agents/code-reviewer.md
+---
+name: code-reviewer
+description: Reviews code for quality and best practices
+tools: Read, Grep, Glob
+model: sonnet
+color: green
+skills:
+ - code-review
+memory: user
+---
+
+You are a code reviewer. Check for security issues,
+performance problems, and suggest improvements.
+Review your memory for patterns you've seen before.
+
Key Fields
+
+
🔧
toolsWhat the agent can do (Read, Write, Edit, Bash, etc.)
+
📚
skillsKnowledge preloaded at startup
+
🧠
memoryPersistent learning across sessions (user/project/local)
Skills provide static knowledge (what to do). Agents provide execution context (how to do it, with which tools). Together, they're powerful.
+
+
Choosing a Model
+
+
🧠
opusComplex reasoning, architecture decisions
+
⚡
sonnetGood balance of speed and capability
+
🏎
haikuFast, cheap — great for simple, focused tasks
+
+
+
+
+
+
Subagents via Task Tool
+
+
Key Concept
+
Subagents run in an isolated context — separate from the main conversation. They do their work, return a summary, and their context is discarded.
+
+
# Claude spawns a subagent automatically or you can ask:
+> Use the frontend-engineer agent to add a settings page
+
+# Claude uses the Agent tool internally:
+Task(
+ subagent_type="frontend-engineer",
+ prompt="Add a user settings page to the TodoApp"
+)
+
Built-in Subagent Types
+
+ Explore
+ Plan
+ Bash
+ Your Custom Agents
+
+
+
+
+
+
Commands & Orchestration
+
Commands are the entry points for complex workflows — the Command → Agent → Skills pattern:
+
# .claude/commands/add-feature.md
+---
+description: Add a new feature to the TodoApp
+model: opus
+---
+
+# Add Feature Command
+
+1. Ask the user what feature to add (AskUserQuestion)
+2. Invoke the backend-engineer agent for API work:
+ - Task(subagent_type="backend-engineer", ...)
+3. Invoke the frontend-engineer agent for UI work:
+ - Task(subagent_type="frontend-engineer", ...)
+4. Run tests to verify: pytest + npm test
+5. Summarize what was built
+
+
Invoke It
+
Commands live in .claude/commands/. Users invoke them as slash commands: > /add-feature
+
+
+
+
+
+
Hooks & MCP Servers
+
+
+
Hooks
+
Custom scripts at specific moments in Claude's lifecycle:
+
PreToolUse — validate commands
+
PostToolUse — auto-format code
+
Stop — check task completion
+
SessionStart — load context
+
16 hook events, 5 can block execution.
+
+
+
MCP Servers
+
Connect Claude to external tools via Model Context Protocol:
+
Playwright — browser automation
+
Chrome DevTools — console logs
+
Databases — query data directly
+
> /mcp
+
+
+
+
+
+
+
Command → Agent → Skills
+
The full architecture pattern for complex workflows:
+
+-----------------------------------------------+
+|/add-feature (Command) |
+| Entry point — user invokes this |
+| | |
+| +----------+----------+ |
+| v v |
+|backend-engineerfrontend-engineer|
+| (Agent) (Agent) |
+| | | |
+|backend-patternsfrontend-conventions|
+| (Skill) (Skill) |
++-----------------------------------------------+
Your TodoApp now has: CLAUDE.md for project context, Rules for path-scoped conventions, Skills for domain knowledge, Agents for consistent execution, Commands for orchestrated workflows, Hooks for lifecycle automation, and MCP servers for external tools.
+
+
+
+
+
Agent Memory
+
+
Key Feature
+
Agents can learn across sessions. Add memory: user to the frontmatter and the agent builds its own persistent knowledge store.
+
+
# Agent remembers patterns it discovers
+~/.claude/agent-memory/code-reviewer/
+ MEMORY.md # First 200 lines auto-loaded
+ react-patterns.md # Topic-specific notes
+ security-checklist.md # Learned over time
+
Memory Scopes
+
+ user — cross-project
+ project — team-shared
+ local — personal
+
+
+
+
+
+
Agents Summary
+
+
+
Creating Agents
+
Drop .md files in .claude/agents/
+
Set name, tools, model, skills, memory
+
Use /agents to manage interactively
+
+
+
Using Agents
+
Main agent:"agent" in settings.json
+
Subagent: Agent tool spawns it
+
CLI:--agent name
+
+
+
Best Practices
+
Feature-specific agents, not generic ones
+
Preload skills for domain knowledge
+
Use haiku model for simple focused tasks
+
+
+
Architecture
+
Command → Agent → Skills
+
Progressive disclosure of knowledge
+
Single execution context per agent
+
+
+
+
+
+
+
+
+
+
+
Appendix
+
Reference
+
Command references, workflows, settings, and customization options.
+
+
+
+
+
How Claude Uses Tools
+
Claude Code doesn't just generate text — it takes actions using tools:
+
+
+
File Tools
+
Read — Read file contents
+
Edit — Modify existing files
+
Write — Create new files
+
Glob — Find files by pattern
+
Grep — Search file contents
+
+
+
Action Tools
+
Bash — Run shell commands
+
Task — Spawn subagents
+
WebFetch — Fetch URLs
+
WebSearch — Search the web
+
Skill — Invoke skills
+
+
+
+
Important
+
Claude asks for permission before running potentially dangerous commands. Always review what it's about to do.
+
+
+
+
+
+
File Operations
+
Reading Files
+
> Read the package.json file
+
Editing Files
+
> In src/utils/format.ts, change the date format from MM/DD to DD/MM
+
Creating Files
+
> Create a new test file for the user service at tests/user.test.ts
+
+
Pro Tip
+
Always tell Claude which file to edit. Don't say "fix the bug" — say "fix the null check in src/handlers/auth.ts line 42".
+
+
+
+
+
+
Bash Commands & Search
+
Running Commands
+
> Run the test suite: npm test
+> Check which port the server is using
+> Install express as a dependency
+
Searching the Codebase
+
> Find all files that import the UserService class
+> Search for any TODO comments in the src directory
+> Find where the API_KEY environment variable is used
+
+
Pro Tip
+
Use ! prefix for quick bash commands: !git status runs the command and shows output without Claude analyzing it.
+
+
+
+
+
+
/help
+
+
Try This
+
> /help
+
+
Shows all available slash commands. This is your starting point when you forget a command.
+
+
+
Daily Use
+
/model — Switch models
+
/plan — Plan before coding
+
/compact — Free up context
+
/cost — Check spending
+
+
+
Project Setup
+
/init — Create CLAUDE.md
+
/memory — Edit memory
+
/config — Settings
+
/doctor — Diagnostics
+
+
+
+
+
+
+
/model — Effort Level
+
When Opus 4.6 is selected, you can adjust the effort level:
+
+
How to Set
+
Run /model, select Opus, then use ← → arrow keys to change effort.
+
+
+
🔥
High (Default)Full reasoning depth — complex architecture, tricky bugs, large refactors
+
⚖
MediumBalanced — everyday coding tasks
+
💨
LowMinimal reasoning — quick, simple tasks where speed matters
+
+
+
+
+
+
/fast — Faster Output
+
+
Try This
+
> /fast
+
+
+
What It Does
+
Toggles fast mode — same Opus 4.6 model with faster token output. It does NOT switch to a different model.
+
+
+
+
+
+
/context & /cost
+
+
+
/context — Visualize Usage
+
> /context
+
Shows a colored grid of your context window — how much is used, what's taking space.
+
+
+
/cost — Track Spending
+
> /cost
+
Shows token usage and cost for the current session.
+
+
+
+
+
+
+
/clear & /rewind
+
+
+
/clear — Fresh Start
+
> /clear
+
Clears conversation history completely. Use when switching tasks.
+
+
+
/rewind — Go Back
+
> /rewind
+
Rewinds conversation and/or code to an earlier point.
+
+
+
+
When to Use Which
+
/clear = new topic. /rewind = same topic, wrong turn. /compact = same topic, low on context.
+
+
+
+
+
+
/resume — Resume Sessions
+
+
Try This
+
# Resume most recent session
+$ claude --resume
+
+# Or from inside Claude Code:
+> /resume
+
+
Opens a session picker showing your recent conversations. Select one to continue where you left off.
+
+
+
+
+
/doctor — Diagnostics
+
+
Try This
+
> /doctor
+
+
Checks the health of your Claude Code installation:
+
+
✅
AuthenticationVerifies your login is valid
+
✅
ConfigurationChecks settings.json for errors
+
✅
PermissionsDetects unreachable permission rules
+
✅
UpdatesChecks if a newer version is available
+
+
+
+
+
+
/config — Configuration
+
+
Try This
+
> /config
+
+
Opens the interactive settings UI. Key things you can configure:
+
+
🎨
ThemeLight or dark mode
+
📝
Output StyleExplanatory, Learning, or Custom
+
🔔
NotificationsEnable desktop notifications
+
🔒
Permission ModeHow Claude asks for approval
+
+
+
+
+
+
/permissions — Tool Access Control
+
+
Try This
+
> /permissions
+
+
Manage what Claude can do without asking. Supports wildcard syntax:
+
// Allow patterns
+Bash(npm run *) // Any npm script
+Bash(git *) // All git commands
+Edit(src/**) // Edit any file in src/
+
+// Deny patterns
+Bash(rm -rf *) // Block destructive commands
+Read(.env) // Block reading secrets
+
+
+
+
+
/sandbox — Sandboxing
+
+
Try This
+
> /sandbox
+
+
+
What It Does
+
Enables file and network isolation for bash commands. Safer, with fewer permission prompts.
+
+
+
+
+
+
Commands Cheat Sheet
+
+
+
Session
+
/clear — Fresh start
+
/compact — Free context
+
/resume — Continue session
+
/rewind — Undo changes
+
+
+
Model & Mode
+
/model — Switch models
+
/fast — Toggle speed
+
/plan — Plan mode
+
/config — Settings
+
+
+
Project
+
/init — Create CLAUDE.md
+
/memory — Edit memory
+
/permissions — Tool access
+
/sandbox — Sandboxing
+
+
+
Info & Debug
+
/context — Context usage
+
/cost — Token spending
+
/doctor — Health check
+
/help — All commands
+
+
+
+
+
+
+
The Commit Workflow
+
+
Ask Claude to Commit
+
> Commit these changes with a descriptive message
+
+
Claude will:
+
+
1️⃣
Run git status & diffReviews all staged and unstaged changes
+
2️⃣
Draft a commit messageFocuses on "why" not "what", following your repo's style
+
3️⃣
Stage and commitAdds specific files (not git add -A) and creates the commit
+
+
+
+
+
+
The PR Workflow
+
+
Ask Claude to Create a PR
+
> Create a pull request for these changes
+
+
Claude will:
+
+
1️⃣
Review all commits on the branchAnalyzes the full diff from base branch
+
2️⃣
Write PR title & descriptionSummary, test plan, and changes overview
+
3️⃣
Push and create PR via gh CLIUses GitHub CLI to create the pull request