Skip to content

VitoSystem/claude-code-best-practice

 
 

Repository files navigation

claude-code-best-practice

practice makes claude perfect

Last Updated GitHub Stars

Best Practice Click on this badge to show the latest best practice
Implemented Click on this badge to show implementation in this repo
Orchestration Workflow Click on this badge to see the Command → Agent → Skills orchestration workflow

Claude Code mascot jumping

Claude Code Creator Claude Code Creator

CONCEPTS

Feature Location Description
Skills .claude/skills/<name>/SKILL.md Best Practice Implemented Reusable knowledge, workflows, and slash commands — load on-demand or invoke with /skill-name
Commands .claude/commands/<name>.md Best Practice Implemented Entry-point prompts for workflows — invoke with /command-name
Sub-Agents .claude/agents/<name>.md Best Practice Implemented Custom agents with their own name, color, tools, permissions, and model — usable as main agent or isolated subagents via the Task tool
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 Best Practice Implemented 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

CLAUDE CODE FEATURES INSPIRATION

Orchestration Workflow

Workflow orchestration using the Command → Agent → Skills pattern.

Command Skill Agent Architecture Flow

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

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

See Complete List →

CLI STARTUP FLAGS

--dangerously-skip-permissions --model --print --resume --continue
--system-prompt --verbose --debug --init --max-turns

See Complete List →

CLAUDE COMMANDS

/compact /context /model /plan /config
/clear /cost /memory /doctor /rewind

See Complete List →

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

About

practice made claude perfect

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 85.4%
  • Python 14.6%