14 KiB
claude-code-best-practice
practice makes claude perfect
Click on this badge to show the latest best practice
Click on this badge to show implementation in this repo
Click on this badge to see the Command → Agent → Skills orchestration workflow
![]() |
![]() |
CONCEPTS
| Feature | Location | Description |
|---|---|---|
| Skills | .claude/skills/<name>/SKILL.md |
Reusable knowledge, workflows, and slash commands — load on-demand or invoke with /skill-name |
| Commands | .claude/commands/<name>.md |
Entry-point prompts for workflows — invoke with /command-name |
| Sub-Agents | .claude/agents/<name>.md |
|
| Memory | CLAUDE.md |
Persistent context via CLAUDE.md files and @path imports that Claude sees every session |
| Rules | .claude/rules/*.md |
Modular topic-specific instructions with optional path-scoping via frontmatter |
| Hooks | .claude/hooks/ |
Deterministic scripts that run outside the agentic loop on specific events |
| MCP Servers | .claude/settings.json |
Model Context Protocol connections to external tools, databases, and APIs |
| Plugins | distributable packages | Bundles of skills, subagents, hooks, and MCP servers |
| Marketplaces | plugin registries | Host and discover plugin collections |
| Sandboxing | runtime config | File and network isolation that improves safety while reducing permission prompts |
| Output Styles | .claude/settings.json |
Configurable response tone and format — Explanatory, Learning, or Custom |
| Settings | .claude/settings.json |
Hierarchical configuration system for Claude Code behavior (37 settings, 84 env vars) |
| Permissions | .claude/settings.json |
Fine-grained access control for tools and operations with wildcard syntax |
Note: Custom slash commands have been merged into skills. Files in
.claude/commands/still work, but skills (.claude/skills/) are recommended as they support additional features like supporting files, invocation control, and subagent execution.
💎 HIDDEN GEMS
Reports that are frequently updated as Claude Code evolves.
| Report | Description |
|---|---|
| Claude Code Commands Reference | Complete reference of all slash commands, keyboard shortcuts, and input modes |
| Claude Code Settings Reference | Comprehensive guide to all settings.json configuration options |
| Subagents Reference | Complete reference for Claude Code subagents — built-in agents, custom agents, and frontmatter fields |
| Commands Frontmatter Reference | Complete reference of all command (.claude/commands/) frontmatter fields |
| Skills Frontmatter Reference | Complete reference of all skill (.claude/skills/) frontmatter fields |
MY EXPERIENCE
■ Workflows
- Claude.md should not exceed 150+ lines. (still not 100% guaranteed)
- use commands for your workflows instead of agents
- have feature specific subagents (extra context) with skills (progressive disclosure) instead of general qa, backend engineer.
- /memory, /rules, constitution.md does not guarantee anything
- do manual /compact at max 50%
- always start with plan mode
- subtasks should be so small that it can be completed in less than 50% context
- vanilla cc is better than any workflows with smaller tasks
- commit often, as soon as task is completed, commit.
■ Utilities
- iTerm terminal instead of IDE (crash issue)
- Wispr Flow for voice prompting (10x productivity)
- claude-code-voice-hooks for claude feedback
- status line for context awareness and fast compacting
- git worktrees for parallel development
- /permissions with wildcard syntax (
Bash(npm run *),Edit(/docs/**)) instead of dangerously-skip-permissions - /sandbox to reduce permission prompts with file and network isolation
- output styles: use Explanatory when learning a new codebase, Learning for coaching
- /keybindings to remap any key, settings live reload
■ Debugging
- /doctor
- always ask claude to run the terminal (you want to see logs of) as a background task for better debugging
- use mcp (claude in chrome, playwright, chrome dev tool) to let claude see chrome console logs on its own
- provide screenshots of the issue
TIPS FROM BORIS CHERNY (CREATOR OF CLAUDE CODE)
CONTEXT ENGINEERING
WORKFLOWS
- RPI
- Boris Feb26 workflow
- Ralph plugin with sandbox
- Human Layer RPI - Research Plan Implement
- AgentOs - 2026 its overkill (Brian Casel)
- Github Speckit
- GSD - Get Shit Done
- OpenSpec OPSX
- Superpower
- Andrej Karpathy Workflow
- Creator of Clawd Bot Workflow
CLAUDE CODE FEATURES INSPIRATION
Multi-step workflows using the Command → Agent → Skills architecture pattern.
| Component | Role | Example |
|---|---|---|
| Command | Entry point, user interaction | /weather-orchestrator |
| Agent | Orchestrates workflow with preloaded skills | weather agent |
| Skills | Domain knowledge injected at startup | weather-fetcher, weather-transformer |
When to use: Multi-step workflows • Domain-specific knowledge injection • Sequential tasks • Reusable components
Why it works: Progressive disclosure • Single execution context • Clean separation • Reusability
See orchestration-workflow for implementation details.
AI TERMS
| Agentic Engineering | AI Slop | Context Bloat | Context Engineering | Context Rot |
| Dumb Zone | Hallucination | Scaffolding | Orchestration | Vibe Coding |
CLI STARTUP FLAGS
--dangerously-skip-permissions |
--model |
--print |
--resume |
--continue |
--system-prompt |
--verbose |
--debug |
--init |
--max-turns |
CLAUDE COMMANDS
/compact |
/context |
/model |
/plan |
/config |
/clear |
/cost |
/memory |
/doctor |
/rewind |
CLAUDE SETTINGS
| Claude Settings | Global vs Project Settings |
MCP SERVERS FOR DAILY USE
"Went overboard with 15 MCP servers thinking more = better. Ended up using only 4 daily." — r/mcp (682 upvotes)
| MCP Server | What It Does | Resources |
|---|---|---|
| Context7 | Fetches up-to-date library docs into context. Prevents hallucinated APIs from outdated training data | Reddit: "by far the best MCP for coding" · npm |
| Playwright | Browser automation — implement, test, and verify UI features autonomously. Screenshots, navigation, form testing | Reddit: essential for frontend · Docs |
| Claude in Chrome | Connects Claude to your real Chrome browser — inspect console, network, DOM. Debug what users actually see | Reddit: "game changer" for debugging · Comparison Report |
| DeepWiki | Fetches structured wiki-style documentation for any GitHub repo — architecture, API surface, relationships | Reddit: "put it behind a gateway with Context7" |
| Excalidraw | Generate architecture diagrams, flowcharts, and system designs as hand-drawn Excalidraw sketches from prompts | GitHub |
Research (Context7/DeepWiki) -> Debug (Playwright/Chrome) -> Document (Excalidraw)
REPORTS
| Report | Description |
|---|---|
| Agent SDK vs CLI System Prompts | Why Claude CLI and Agent SDK outputs may differ—system prompt architecture and determinism |
| Browser Automation MCP Comparison | Comparison of Playwright, Chrome DevTools, and Claude in Chrome for automated testing |
| Claude Code CLI Startup Flags | Complete reference of all CLI flags, subcommands, and environment variables |
| CLAUDE.md Loading in Monorepos | Understanding ancestor vs descendant loading behavior for CLAUDE.md files |
| Global vs Project Settings | Which features are global-only (~/.claude/) vs dual-scope, including Tasks and Agent Teams |
| Skills Discovery in Monorepos | How skills are discovered and loaded in large monorepo projects |
| Agent Memory Frontmatter | Persistent memory scopes (user, project, local) for subagents — enabling agents to learn across sessions |
| Boris Cherny's 12 Customization Tips | 12 ways to customize Claude Code — from terminal config to plugins, agents, hooks, and output styles |
| Advanced Tool Use Patterns | Programmatic Tool Calling (PTC), Tool Search, and Tool Use Examples |
| Usage, Rate Limits & Extra Usage | Usage commands (/usage, /extra-usage, /cost), rate limits, and pay-as-you-go overflow billing |
| Claude Code Commands Reference | Complete reference of all slash commands, keyboard shortcuts, and input modes |
| Claude Code Settings Reference | Comprehensive guide to all settings.json configuration options |
| Subagents Reference | Complete reference for Claude Code subagents — built-in agents, custom agents, and frontmatter fields |
| Commands Frontmatter Reference | Complete reference of all command (.claude/commands/) frontmatter fields |
| Skills Frontmatter Reference | Complete reference of all skill (.claude/skills/) frontmatter fields |

