shanraisshan/claude-code-best-practice
claude-code-best-practice
practice makes claude perfect
= Agents ·
= Commands ·
= Skills

Boris Cherny on X (tweet 1 · tweet 2 · tweet 3)
🧠 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 | Bundles of skills, subagents, hooks, MCP servers, and LSP servers · Marketplaces · Create Marketplaces |
| Settings | .claude/settings.json |
|
| Status Line | .claude/settings.json |
|
| Memory | CLAUDE.md, .claude/rules/, ~/.claude/rules/, ~/.claude/projects/<project>/memory/ |
@path imports · Auto Memory · Rules |
| Checkpointing | automatic (git-based) | Automatic tracking of file edits with rewind (Esc Esc or /rewind) and targeted summarization |
| CLI Startup Flags | claude [flags] |
|
| AI Terms | ||
| Best Practices | Official best practices · Prompt Engineering · Extend Claude Code |
🔥 Hot
| Feature | Location | Description |
|---|---|---|
| Auto Mode |
--permission-mode auto |
|
| Channels |
--channels, plugin-based |
Push events from Telegram, Discord, or webhooks into a running session — Claude reacts while you’re away · Reference |
| Slack | @Claude in Slack |
Mention @Claude in team chat with a coding task — routes to Claude Code web sessions for bug fixes, code reviews, and parallel task execution |
| Code Review |
GitHub App (managed) | |
| GitHub Actions | .github/workflows/ |
Automate PR reviews, issue triage, and code generation in CI/CD pipelines · GitLab CI/CD |
| Chrome |
--chrome, extension |
|
| Scheduled Tasks | /loop, /schedule, cron tools |
/loop runs prompts locally on a recurring schedule (up to 3 days) · /schedule runs prompts in the cloud on Anthropic infrastructure — works even when your machine is off · Announcement |
| Voice Dictation |
/voice |
|
| Simplify & Batch | /simplify, /batch |
|
| Agent Teams |
built-in (env var) | |
| Remote Control | /remote-control, /rc |
|
| Git Worktrees | built-in | |
| Ralph Wiggum Loop | plugin |
See orchestration-workflow for implementation details of Command →
Agent →
Skill pattern.
|
|
⚙️ DEVELOPMENT WORKFLOWS
All major workflows converge on the same architectural pattern: Research → Plan → Execute → Review → Ship
| Name | ★ | Uniqueness | Plan | |||
|---|---|---|---|---|---|---|
| Superpowers | 122k | 5 | 3 | 14 | ||
| Everything Claude Code | 116k | 30 | 63 | 135 | ||
| Spec Kit | 83k | 0 | 9+ | 0 | ||
| gstack | 55k | 0 | 0 | 28 | ||
| Get Shit Done | 44k | 18 | 57 | 0 | ||
| BMAD-METHOD | 43k | 0 | 0 | 40 | ||
| OpenSpec | 35k | 0 | 11 | 0 | ||
| Compound Engineering | 12k | 48 | 4 | 42 | ||
| HumanLayer | 10k | 6 | 27 | 0 |
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
💡 TIPS AND TRICKS (87)
🚫👶 = do not babysit
Prompting · Planning · CLAUDE.md · 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) | |
| 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 |
|---|---|
| CLAUDE.md should target under 200 lines per file. 60 lines in humanlayer (still not 100% guaranteed) | |
| 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 | |
| memory.md, constitution.md does not guarantee anything | |
| 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 |
|---|---|
| avoid agent dumb zone, do manual /compact at max 50%. Use /clear to reset context mid-session if switching to a new task | |
| vanilla cc is better than any workflows with smaller tasks | |
| 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 | |
| /rename important sessions (e.g. [TODO - refactor task]) and /resume them later — label each instance when running multiple Claudes simultaneously | |
| use Esc Esc or /rewind to undo when Claude goes off-track instead of trying to fix it in the same context |
| Tip | Source |
|---|---|
| use ASCII diagrams a lot to understand your architecture | |
| use /loop for local recurring monitoring (up to 3 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 |
| 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 | |
| error during compaction can be resolved by using /model to select a 1M token model, then running /compact | |
| 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) | |
| 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 and start your day by reading the changelog | |
| follow r/ClaudeAI, r/ClaudeCode | |
| follow Boris, Thariq, Cat, Lydia, Noah, Anthony, Alex, Kenneth, Claude | |
| follow Jesse, Affaan, Garry, Dex, Kieran, Tabish, Brian, TÂCHES, Dani, Dan, Karpathy |
| Article / Tweet | Source |
|---|---|
| 15 Hidden & Under-Utilized Features in Claude Code (Boris) | 30/Mar/26 | Tweet |
| Squash Merging & PR Size Distribution (Boris) | 25/Mar/26 | Tweet |
| Lessons from Building Claude Code: How We Use Skills (Thariq) | 17/Mar/26 | Article |
| Code Review & Test Time Compute (Boris) | 10/Mar/26 | Tweet |
| /loop — schedule recurring tasks for up to 3 days (Boris) | 07 Mar 2026 | Tweet |
| AskUserQuestion + ASCII Markdowns (Thariq) | 28 Feb 2026 | Tweet |
| Seeing like an Agent - lessons from building Claude Code (Thariq) | 28 Feb 2026 | Article |
| Git Worktrees - 5 ways how boris is using | 21 Feb 2026 | Tweet |
| Lessons from Building Claude Code: Prompt Caching Is Everything (Thariq) | 20 Feb 2026 | Article |
| 12 ways how people are customizing their claudes (Boris) | 12/Feb/26 | Tweet |
| 10 tips for using Claude Code from the team (Boris) | 01/Feb/26 | Tweet |
| How I use Claude Code — 13 tips from my surprisingly vanilla setup (Boris) | 03/Jan/26 | Tweet |
| Ask Claude to interview you using AskUserQuestion tool (Thariq) | 28/Dec/25 | Tweet |
| Always use plan mode, give Claude a way to verify, use /code-review (Boris) | 27/Dec/25 | Tweet |
| Video / Podcast | 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 |
☠️ STARTUPS / BUSINESSES
| Claude | Replaced |
|---|---|
| Code Review | Greptile, CodeRabbit, Devin Review, OpenDiff, Cursor BugBot |
| Voice Dictation | Wispr Flow, SuperWhisper |
| Remote Control | OpenClaw |
| Cowork | OpenAI Operator, AgentShadow |
| Tasks | Beads |
| Plan Mode | Agent OS |
| Skills / Plugins | YC AI wrapper startups (reddit) |
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?
- Does giving your subagent a detailed persona improve quality? What does a “perfect persona/prompt” for research/QA subagent 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?
REPORTS
|
|

✨Trending on Github in March 2026✨
Other Repos
claude-code-hooks ·
codex-cli-best-practice ·
codex-cli-hooks
Developed by
Workflow Description /workflows:development-workflows Update the DEVELOPMENT WORKFLOWS table and cross-workflow analysis report by researching all 8 workflow repos in parallel /workflows:best-practice:workflow-concepts Update the README CONCEPTS section with the latest Claude Code features and concepts /workflows:best-practice:workflow-claude-settings Track Claude Code settings report changes and find what needs updating /workflows:best-practice:workflow-claude-subagents Track Claude Code subagents report changes and find what needs updating /workflows:best-practice:workflow-claude-commands Track Claude Code commands report changes and find what needs updating /workflows:best-practice:workflow-claude-skills Track Claude Code skills report changes and find what needs updating