Claude Code Best Practice
practice made claude perfect
Ask AI about Claude Code Best Practice
Powered by Claude Β· Grounded in docs
I know everything about Claude Code Best Practice. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
claude-code-best-practice
from vibe coding to agentic engineering - practice makes claude perfect
= Agents Β·
= Commands Β·
= Skills

Boris Cherny on X (tweet 1 Β· tweet 2 Β· tweet 3)
[!TIP] Visit the How to Use section to take full advantage of this repo.
π§ CONCEPTS
| Feature | Location | Description |
|---|---|---|
.claude/agents/<name>.md | ||
.claude/commands/<name>.md | ||
.claude/skills/<name>/SKILL.md | ||
| Workflows | .claude/commands/weather-orchestrator.md | |
| Hooks | .claude/hooks/ | |
| MCP Servers | .claude/settings.json, .mcp.json | |
| Plugins | distributable packages | Marketplaces Β· Create Marketplaces |
| Settings | .claude/settings.json | |
| Status Line | .claude/settings.json | |
| Memory | CLAUDE.md, .claude/rules/, ~/.claude/rules/, ~/.claude/projects/<project>/memory/ | |
| Checkpointing | automatic (git-based) | |
| CLI Startup Flags | claude [flags] | |
| AI Terms | ||
| Best Practices | Prompt Engineering Β· Extend Claude Code |
π₯ Hot
| Feature | Location | Description |
|---|---|---|
| Ultrareview | /ultrareview, claude ultrareview [target] | Tasks tracking |
| Devcontainers | .devcontainer/ | |
| Channels | --channels, plugin-based | Reference |
| Ultraplan | /ultraplan | |
| No Flicker Mode | /tui fullscreen, CLAUDE_CODE_NO_FLICKER=1 | |
| Auto Mode | --permission-mode auto, Shift+Tab | |
| Power-ups | /powerup | |
| Fast Mode | /fast, "fastMode": true | |
| Computer Use | computer-use MCP server | Desktop |
| Agent SDK | npm / pip package | Quickstart Β· Examples |
| Ralph Wiggum Loop | plugin | |
| Chrome | --chrome, extension | |
| Claude Code Web | claude.ai/code | Routines |
| Slack | @Claude in Slack | |
| Code Review | GitHub App (managed) | |
| GitHub Actions | .github/workflows/ | GitLab CI/CD |
| Remote Control | /remote-control, /rc | |
| Agent Teams | built-in (env var) | |
| Scheduled Tasks | /loop, /schedule, cron tools | |
| Routines | claude.ai/code/routines, /schedule | Desktop Tasks |
| Tasks | /tasks, ~/.claude/tasks/ | |
| Voice Dictation | /voice | |
| Simplify & Batch | /simplify, /batch | |
| Git Worktrees | built-in, EnterWorktree/ExitWorktree, isolation: "worktree" |
See orchestration-workflow for implementation details of Command β
Agent β
Skill pattern.
claude
/weather-orchestrator
βοΈ DEVELOPMENT WORKFLOWS
All major workflows converge on the same architectural pattern: Research β Plan β Execute β Review β Ship
| Name | β | Workflow | |||
|---|---|---|---|---|---|
| Superpowers | 175k | 5 | 3 | 14 | |
| Everything Claude Code | 171k | 48 | 143 | 230 | |
| Spec Kit | 92k | 0 | 9 | 0 | |
| gstack | 88k | 0 | 0 | 43 | |
| Get Shit Done | 59k | 33 | 65 | 0 | |
| Matt Pocock Skills | 51k | 0 | 0 | 22 | |
| BMAD-METHOD | 46k | 0 | 0 | 40 | |
| OpenSpec | 45k | 0 | 11 | 0 | |
| oh-my-claudecode | 32k | 19 | 0 | 38 | |
| agent-skills | 27k | 3 | 7 | 21 | |
| Compound Engineering | 16k | 49 | 4 | 39 | |
| HumanLayer | 11k | 6 | 27 | 0 |
Note: yellow tags are sub-loops β steps that repeat inside a parent step (e.g. per task, per story, or until a verify condition passes).
Others
- Cross-Model (Claude Code + Codex) Workflow
- RPI
- Ralph Wiggum Loop
- Andrej Karpathy (Founding Member, OpenAI) Workflow
- Peter Steinberger (Creator of OpenClaw) Workflow
- Boris Cherny (Creator of Claude Code) Workflow β 13 Tips Β· 10 Tips Β· 12 Tips Β· 2 Tips Β· 15 Tips Β· 6 Tips
- Thariq (Anthropic) Workflow β Skills Β· Session Management
π§° SKILL COLLECTIONS
Repos primarily known as curated libraries of SKILL.md files (distinct from full workflow methodologies above). Sorted by stars descending.
| Name | β | |
|---|---|---|
| anthropics/skills | 127k | 17 |
| mattpocock/skills | 51k | 18 |
| wshobson/agents | 35k | 152 |
| agent-skills | 27k | 21 |
| scientific-agent-skills | 20k | 134 |
| awesome-agent-skills | 20k | 930+ (curated list) |
π€ AGENT COLLECTIONS
Repos primarily known as curated libraries of subagent definitions (.claude/agents/*.md). Sorted by stars descending.
| Name | β | |
|---|---|---|
| msitarzewski/agency-agents | 95k | 185 |
| VoltAgent/awesome-claude-code-subagents | 19k | 145 |
π‘ TIPS AND TRICKS (83)
π«πΆ = do not babysit
Prompting Β· Planning Β· Context Β· Session Β· CLAUDE.md + .claude/rules Β· Agents Β· Commands Β· Skills Β· Hooks Β· Workflows Β· Advanced Β· Git / PR Β· Debugging Β· Utilities Β· Daily
| Tip | Source |
|---|---|
| always start with plan mode | |
| start with a minimal spec or prompt and ask Claude to interview you using AskUserQuestion tool, then make a new session to execute the spec | |
| always make a phase-wise gated plan, with each phase having multiple tests (unit, automation, integration) | |
| break PRDs into vertical slices (tracer bullets) that cross all layers (DB + service + UI) β AI defaults to horizontal phasing (DB phase, then API phase, then frontend phase) which delays end-to-end feedback until the last phase. From the Pragmatic Programmer π«πΆ | |
| spin up a second Claude to review your plan as a staff engineer, or use cross-model for review | |
| write detailed specs and reduce ambiguity before handing work off β the more specific you are, the better the output | |
| prototype > PRD β build 20-30 versions instead of writing specs, the cost of building is low so take many shots |
| Tip | Source |
|---|---|
| context rot kicks in around ~300-400k tokens on the 1M context model β don't let sessions drift past that for intelligence-sensitive work | |
| dumb zone kicks in around ~40% context β "you hit this point where you have degrading results". Newcomers: "shoot to keep it under 40%, and if you get up to 60%, think about wrapping it up". Experienced: "aggressively keep it below 30%" β push to 60% only on simple tasks. Manual /compact or /clear to reset when switching tasks | |
| rewind > correct β double-Esc or /rewind back to before the failed attempt and re-prompt with what you learned, instead of leaving failed attempts + corrections polluting context π«πΆ | |
| /compact with a hint (/compact focus on the auth refactor, drop the test debugging) beats letting autocompact fire β the model is at its least intelligent point when auto-compacting due to context rot | |
| use subagents for context management β ask yourself "will I need this tool output again, or just the conclusion?" β 20 file reads + 12 greps + 3 dead ends stay in the child's context, only the final report returns π«πΆ |
| Tip | Source |
|---|---|
| every turn is a branching point β after Claude ends a turn, pick between Continue, /rewind, /clear, /compact, or Subagent based on how much existing context you need to carry forward | |
| new task = new session β related tasks (e.g. writing docs for what you just built) can reuse context for efficiency, but genuinely new tasks deserve a fresh session | |
| use "summarize from here" before rewinding to have Claude write a handoff message β like a note to the previous iteration of Claude from its future self | |
| /compact vs /clear β compact is lossy but momentum-friendly (mid-task, fuzzy details ok); /clear + brief is more work but you control exactly what carries forward (high-stakes next step) | |
| use recaps for long-running sessions β short summaries of what Claude did and what's next, useful when returning after minutes or hours. Disable with recaps in /config | |
| /rename important sessions (e.g. [TODO - refactor task]) and /resume them later β label each instance when running multiple Claudes simultaneously |
β CLAUDE.md + .claude/rules (8)
| Tip | Source |
|---|---|
| CLAUDE.md should target under 200 lines per file. 60 lines in humanlayer (still not 100% guaranteed) | |
| .claude/rules/*.md auto-load into every session like CLAUDE.md β add paths: YAML frontmatter to lazy-load them only when Claude touches files matching the glob | |
| wrap domain-specific CLAUDE.md rules in <important if="..."> tags to stop Claude from ignoring them as files grow longer | |
| use multiple CLAUDE.md for monorepos β ancestor + descendant loading | |
| use .claude/rules/ to split large instructions | |
| any developer should be able to launch Claude, say "run the tests" and it works on the first try β if it doesn't, your CLAUDE.md is missing essential setup/build/test commands | |
| keep codebases clean and finish migrations β partially migrated frameworks confuse models that might pick the wrong pattern | |
| use settings.json for harness-enforced behavior (attribution, permissions, model) β don't put "NEVER add Co-Authored-By" in CLAUDE.md when attribution.commit: "" is deterministic |
| Tip | Source |
|---|---|
| have feature specific sub-agents (extra context) with skills (progressive disclosure) instead of general qa, backend engineer | |
| say "use subagents" to throw more compute at a problem β offload tasks to keep your main context clean and focused π«πΆ | |
| agent teams with tmux and git worktrees for parallel development | |
| use test time compute β separate context windows make results better; one agent can cause bugs and another (same model) can find them |
| Tip | Source |
|---|---|
| use commands for your workflows instead of sub-agents | |
| use slash commands for every "inner loop" workflow you do many times a day β saves repeated prompting, commands live in .claude/commands/ and are checked into git | |
| if you do something more than once a day, turn it into a skill or command β build /techdebt, context-dump, or analytics commands |
| Tip | Source |
|---|---|
| use context: fork to run a skill in an isolated subagent β main context only sees the final result, not intermediate tool calls. The agent field lets you set the subagent type | |
| use skills in subfolders for monorepos | |
| skills are folders, not files β use references/, scripts/, examples/ subdirectories for progressive disclosure | |
| build a Gotchas section in every skill β highest-signal content, add Claude's failure points over time | |
| skill description field is a trigger, not a summary β write it for the model ("when should I fire?") | |
| don't state the obvious in skills β focus on what pushes Claude out of its default behavior π«πΆ | |
| don't railroad Claude in skills β give goals and constraints, not prescriptive step-by-step instructions π«πΆ | |
| include scripts and libraries in skills so Claude composes rather than reconstructs boilerplate | |
| embed !command in SKILL.md to inject dynamic shell output into the prompt β Claude runs it on invocation and the model only sees the result |
| Tip | Source |
|---|---|
| use on-demand hooks in skills β /careful blocks destructive commands, /freeze blocks edits outside a directory | |
| measure skill usage with a PreToolUse hook to find popular or undertriggering skills | |
| use a PostToolUse hook to auto-format code β Claude generates well-formatted code, the hook handles the last 10% to avoid CI failures | |
| route permission requests to Opus via a hook β let it scan for attacks and auto-approve safe ones π«πΆ | |
| use a Stop hook to nudge Claude to keep going or verify its work at the end of a turn |
| Tip | Source |
|---|---|
| use /model to select model and reasoning, /context to see context usage, /usage to check plan limits, /extra-usage to configure overflow billing, /config to configure settings β use Opus for plan mode and Sonnet for code to get the best of both | |
| always use thinking mode true (to see reasoning) and Output Style Explanatory (to see detailed output with β Insight boxes) in /config for better understanding of Claude's decisions | |
| use ultrathink keyword in prompts for high effort reasoning | |
| /focus mode hides all intermediate work and shows only the final result β trust the model to run the right commands and just look at the outcome (toggle with /focus) | |
| tune effort level with Opus 4.7's adaptive thinking β low for speed and fewer tokens, max for most intelligence (slider: low Β· medium Β· high Β· xhigh Β· max) |
| Tip | Source |
|---|---|
| use ASCII diagrams a lot to understand your architecture | |
| use /loop for local recurring monitoring (up to 7 days) Β· use /schedule for cloud-based recurring tasks that run even when your machine is off | |
| use Ralph Wiggum plugin for long-running autonomous tasks | |
| /permissions with wildcard syntax (Bash(npm run *), Edit(/docs/**)) instead of dangerously-skip-permissions | |
| /sandbox to reduce permission prompts with file and network isolation β 84% reduction internally | |
| invest in product verification skills (signup-flow-driver, checkout-verifier) β worth spending a week to perfect | |
| use auto mode instead of dangerously-skip-permissions β a model-based classifier decides if each command is safe and auto-approves, pauses and asks if risky. Shift+Tab to cycle Ask β Plan β Auto modes π«πΆ | |
| use /less-permission-prompts skill to scan session history for safe bash/MCP commands that repeatedly prompt, then get a recommended allowlist to paste into settings | |
| build a /go skill that (1) tests end-to-end via bash/browser/computer use (2) runs /simplify (3) puts up a PR β so when you come back, you know the code works π«πΆ |
| Tip | Source |
|---|---|
| keep PRs small and focused β p50 of 118 lines (141 PRs, 45K lines changed in a day), one feature per PR, easier to review and revert | |
| always squash merge PRs β clean linear history, one commit per feature, easy git revert and git bisect | |
| commit often β try to commit at least once per hour, as soon as task is completed, commit | |
| tag @claude on a coworker's PR to auto-generate lint rules for recurring review feedback β automate yourself out of code review π«πΆ | |
| use /code-review for multi-agent PR analysis β catches bugs, security vulnerabilities, and regressions before merge |
| Tip | Source |
|---|---|
| make it a habit to take screenshots and share with Claude whenever you are stuck with any issue | |
| use mcp (Claude in Chrome, Playwright, Chrome DevTools) to let claude see chrome console logs on its own | |
| always ask claude to run the terminal (you want to see logs of) as a background task for better debugging | |
| /doctor to diagnose installation, authentication, and configuration issues | |
| use a cross-model for QA β e.g. Codex for plan and implementation review | |
| agentic search (glob + grep) beats RAG β Claude Code tried and discarded vector databases because code drifts out of sync and permissions are complex |
| Tip | Source |
|---|---|
| iTerm/Ghostty/tmux terminals instead of IDE (VS Code/Cursor) | |
| /voice or Wispr Flow for voice prompting (10x productivity) | |
| claude-code-hooks for claude feedback | |
| status line for context awareness and fast compacting | |
| explore settings.json features like Plans Directory, Spinner Verbs for a personalized experience |
| Tip | Source |
|---|---|
| update Claude Code daily | |
| start your day by reading the changelog |
Tips from Claude code CLI binary
Spinner Verbs & Tips (extracted from CLI binary v2.1.121)
π¬ VIDEOS / PODCASTS
| Video / Podcast | Source | YouTube |
|---|---|---|
| From Vibe Coding to Agentic Engineering (Andrej) | 02 May 2026 | AI Engineer | YouTube | |
| Full Walkthrough: Workflow for AI Coding (Matt) | 24 Apr 2026 | Matt Pocock | YouTube | |
| Everything We Got Wrong About Research-Plan-Implement (Dex) | 24 Mar 2026 | MLOps Community | YouTube | |
| Building Claude Code with Boris Cherny (Boris) | 04 Mar 2026 | The Pragmatic Engineer | YouTube | |
| Head of Claude Code: What happens after coding is solved (Boris) | 19 Feb 2026 | Lenny's Podcast | YouTube | |
| Inside Claude Code With Its Creator Boris Cherny (Boris) | 17 Feb 2026 | Y Combinator | YouTube | |
| Boris Cherny (Creator of Claude Code) On What Grew His Career (Boris) | 15 Dec 2025 | Ryan Peterman | YouTube | |
| The Secrets of Claude Code From the Engineers Who Built It (Cat) | 29 Oct 2025 | Every | YouTube |
π SUBSCRIBE
β οΈ STARTUPS / BUSINESSES
If you have answers, do let me know at shanraisshan@gmail.com
Memory & Instructions (4)
- What exactly should you put inside your CLAUDE.md β and what should you leave out?
- If you already have a CLAUDE.md, is a separate constitution.md or rules.md actually needed?
- How often should you update your CLAUDE.md, and how do you know when it's become stale?
- Why does Claude still ignore CLAUDE.md instructions β even when they say MUST in all caps? (reddit)
Agents, Skills & Workflows (6)
- When should you use a command vs an agent vs a skill β and when is vanilla Claude Code just better?
- How often should you update your agents, commands, and workflows as models improve?
- Should you have a generalist subagent or a feature-specific/role-specific agent? Does giving your subagent a detailed persona improve quality, and what does a "perfect persona prompt" for research/vision look like?
- Should you rely on Claude Code's built-in plan mode β or build your own planning command/agent that enforces your team's workflow?
- If you have a personal skill (e.g., /implement with your coding style), how do you incorporate community skills (e.g., /simplify) without conflicts β and who wins when they disagree?
- Are we there yet? Can we convert an existing codebase into specs, delete the code, and have AI regenerate the exact same code from those specs alone?
Specs & Documentation (3)
- Should every feature in your repo have a spec as a markdown file?
- How often do you need to update specs so they don't become obsolete when a new feature is implemented?
- When implementing a new feature, how do you handle the ripple effect on specs for other features?
π€ Does code matter?
REPORTS
Get the maximum out of this repo by following these steps:
- Read this repo as a course, not as a workflow or skill. It's reference material first; you'll run things later.
- Don't use Claude as a chatbot. Learn the primitives β agents, commands, skills, hooks β and assemble them into your own workflow.
- Run
/weather-orchestratorto see a complete command β agent β skill flow. Use it as a template for any dev workflow, from planning to shipping. - Listen for the custom hook sounds while you work. Their implementation lives in the dedicated Claude Code Hooks repo; other patterns like Agent Teams ship inside this repo's
implementation/directory. - Learn the advanced topics and their implementations from the π₯ Hot sub-table β for example, the Ralph Wiggum self-evolving loop is a full working repo you can clone to see one of these patterns end-to-end.
- Point Claude at the tips and tricks section in your own project and ask it to suggest edits β especially how to restructure your
CLAUDE.md. Every tip is sourced from the Claude team or the community. - Subscribe to the Reddit and YouTube channels in the Subscribe section to keep up with the community.
π¬ Videos
π Presentations

β¨Trending on Github in March 2026β¨
Star History
Other Repos
|
Claude Code Hooks |
Codex CLI Best Practice |
Codex CLI Hooks |
Gemini CLI Best Practice |
Gemini CLI Hooks |
Developed by
# Workflow Description 1 /workflows:development-workflows Update the DEVELOPMENT WORKFLOWS table and cross-workflow analysis report by researching all 10 workflow repos in parallel 2 /workflows:skill-collections Update the SKILL COLLECTIONS table by researching all 5 skill-collection repos in parallel 3 /workflows:agent-collections Update the AGENT COLLECTIONS table by researching all agent-collection repos in parallel 4 /workflows:best-practice:workflow-concepts Update the README CONCEPTS section with the latest Claude Code features and concepts 5 /workflows:best-practice:workflow-claude-settings Track Claude Code settings report changes and find what needs updating 6 /workflows:best-practice:workflow-claude-subagents Track Claude Code subagents report changes and find what needs updating 7 /workflows:best-practice:workflow-claude-commands Track Claude Code commands report changes and find what needs updating 8 /workflows:best-practice:workflow-claude-skills Track Claude Code skills report changes and find what needs updating
Extras
Sponsor My Work
If you like my work, buy me a doodh patti π΅ on
