Skip to content
Built 26/04/15 10:53commit de0ee65

claude-code-best-practice

from vibe coding to agentic engineering - practice makes claude perfect

= Agents · = Commands · = Skills

Claude Code mascot jumping
GitHub Trending #1 Repository Of The Day

Boris Cherny on Claude Code
Boris Cherny on X (tweet 1 · tweet 2 · tweet 3)

🧠 CONCEPTS

FeatureLocationDescription
Subagents.claude/agents/<name>.mdAutonomous actor in fresh isolated context — custom tools, permissions, model, memory, and persistent identity
Commands.claude/commands/<name>.mdKnowledge injected into existing context — simple user-invoked prompt templates for workflow orchestration
Skills.claude/skills/<name>/SKILL.mdKnowledge injected into existing context — configurable, preloadable, auto-discoverable, with context forking and progressive disclosure · Official Skills
Workflows.claude/commands/weather-orchestrator.md
Hooks.claude/hooks/User-defined handlers (scripts, HTTP, prompts, agents) that run outside the agentic loop on specific events · Guide
MCP Servers.claude/settings.json, .mcp.jsonModel Context Protocol connections to external tools, databases, and APIs
Pluginsdistributable packagesBundles of skills, subagents, hooks, MCP servers, and LSP servers · Marketplaces · Create Marketplaces
Settings.claude/settings.jsonHierarchical configuration system · Permissions · Model Config · Output Styles · Sandboxing · Keybindings · Fast Mode
Status Line.claude/settings.jsonCustomizable status bar showing context usage, model, cost, and session info
MemoryCLAUDE.md, .claude/rules/, ~/.claude/rules/, ~/.claude/projects/<project>/memory/Persistent context via CLAUDE.md files and @path imports · Auto Memory · Rules
Checkpointingautomatic (git-based)Automatic tracking of file edits with rewind (Esc Esc or /rewind) and targeted summarization
CLI Startup Flagsclaude [flags]Command-line flags, subcommands, and environment variables for launching Claude Code · Interactive Mode · Env Vars
AI TermsAgentic Engineering · Context Engineering · Vibe Coding
Best PracticesOfficial best practices · Prompt Engineering · Extend Claude Code

🔥 Hot

FeatureLocationDescription
Power-ups/powerupInteractive lessons teaching Claude Code features with animated demos (v2.1.90)
Ultraplan/ultraplanDraft plans in the cloud with browser-based review, inline comments, and flexible execution — remotely or teleported back to terminal
Claude Code Webclaude.ai/codeRun tasks on cloud infrastructure — long-running tasks, PR auto-fix, parallel sessions with no local setup · Routines
Agent SDKnpm / pip packageBuild production AI agents with Claude Code as a library — Python and TypeScript SDKs with built-in tools, hooks, subagents, and MCP · Quickstart · Examples
No Flicker ModeCLAUDE_CODE_NO_FLICKER=1Flicker-free alt-screen rendering with mouse support, stable memory, and in-app scrolling — opt-in research preview
Computer Usecomputer-use MCP serverLet Claude control your screen — open apps, click, type, and screenshot your display on macOS · Desktop
Auto Modeclaude --enable-auto-modeBackground safety classifier replaces manual permission prompts — Claude decides what's safe while blocking prompt injection and risky escalations · Start with claude --enable-auto-mode (or --permission-mode auto), or cycle to it with Shift+Tab during a session · Blog
Channels--channels, plugin-basedPush events from Telegram, Discord, or webhooks into a running session — Claude reacts while you're away · Reference
Slack@Claude in SlackMention @Claude in team chat with a coding task — routes to Claude Code web sessions for bug fixes, code reviews, and parallel task execution
Code ReviewGitHub App (managed)Multi-agent PR analysis that catches bugs, security vulnerabilities, and regressions · Blog
GitHub Actions.github/workflows/Automate PR reviews, issue triage, and code generation in CI/CD pipelines · GitLab CI/CD
Chrome--chrome, extensionBrowser automation via Claude in Chrome — test web apps, debug with console, automate forms, extract data from pages
Scheduled Tasks/loop, /schedule, cron tools/loop runs prompts locally on a recurring schedule (up to 7 days) · /schedule runs prompts in the cloud on Anthropic infrastructure — works even when your machine is off · Announcement
Routinesclaude.ai/code/routines, /scheduleCloud automation on Anthropic infrastructure — scheduled, API-triggered, or GitHub event-driven tasks that run even when your machine is off · Desktop Tasks
Devcontainers.devcontainer/Preconfigured development containers with security isolation and firewall rules for consistent Claude Code environments
Voice Dictation/voicePush-to-talk speech input for prompts with 20-language support and rebindable activation key
Simplify & Batch/simplify, /batchBuilt-in skills for code quality and bulk operations — simplify refactors for reuse and efficiency, batch runs commands across files
Agent Teamsbuilt-in (env var)Multiple agents working in parallel on the same codebase with shared task coordination
Remote Control/remote-control, /rcContinue local sessions from any device — phone, tablet, or browser · Headless Mode
Git Worktreesbuilt-inIsolated git branches for parallel development — each agent gets its own working copy
Ralph Wiggum LooppluginAutonomous development loop for long-running tasks — iterates until completion

section divider

See orchestration-workflow for implementation details of CommandAgentSkill pattern.

Command Skill Agent Architecture Flow

Orchestration Workflow Demo

claude
/weather-orchestrator

section divider

⚙️ DEVELOPMENT WORKFLOWS

All major workflows converge on the same architectural pattern: Research → Plan → Execute → Review → Ship

NameUniquenessPlan
Everything Claude Code156kplanner48143230
Superpowers152kwriting-plans5314
Spec Kit88kspeckit.plan09+0
gstack72kautoplan0036
Get Shit Done53kgsd-planner311220
BMAD-METHOD45kbmad-create-prd0037
OpenSpec40kopsx:propose0100
oh-my-claudecode29kralplan19037
Compound Engineering14kce-plan49442
HumanLayer10kcreate_plan6270

Others

section divider

💡 TIPS AND TRICKS (69)

🚫👶 = do not babysit

Prompting · Planning · CLAUDE.md · Agents · Commands · Skills · Hooks · Workflows · Advanced · Git / PR · Debugging · Utilities · Daily

Prompting (3)

TipSource
challenge Claude — "grill me on these changes and don't make a PR until I pass your test." or "prove to me this works" and have Claude diff between main and your branch 🚫👶
after a mediocre fix — "knowing everything you know now, scrap this and implement the elegant solution" 🚫👶
Claude fixes most bugs by itself — paste the bug, say "fix", don't micromanage how 🚫👶

Planning/Specs (6)

TipSource
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

CLAUDE.md (7)

TipSource
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

Agents (4)

TipSource
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

Commands (3)

TipSource
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

Skills (9)

TipSource
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

Hooks (5)

TipSource
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

Workflows (7)

TipSource
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

Workflows Advanced (6)

TipSource
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

Git / PR (5)

TipSource
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

Debugging (7)

TipSource
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

Utilities (5)

TipSource
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

Daily (2)

TipSource
update Claude Code daily
start your day by reading the changelog
Article / TweetSource
15 Hidden & Under-Utilized Features in Claude Code (Boris) | 30/Mar/26Tweet
Squash Merging & PR Size Distribution (Boris) | 25/Mar/26Tweet
Lessons from Building Claude Code: How We Use Skills (Thariq) | 17/Mar/26Article
Code Review & Test Time Compute (Boris) | 10/Mar/26Tweet
/loop — schedule recurring tasks for up to 3 days (Boris) | 07 Mar 2026Tweet
AskUserQuestion + ASCII Markdowns (Thariq) | 28 Feb 2026Tweet
Seeing like an Agent - lessons from building Claude Code (Thariq) | 28 Feb 2026Article
Git Worktrees - 5 ways how boris is using | 21 Feb 2026Tweet
Lessons from Building Claude Code: Prompt Caching Is Everything (Thariq) | 20 Feb 2026Article
12 ways how people are customizing their claudes (Boris) | 12/Feb/26Tweet
10 tips for using Claude Code from the team (Boris) | 01/Feb/26Tweet
How I use Claude Code — 13 tips from my surprisingly vanilla setup (Boris) | 03/Jan/26Tweet
Ask Claude to interview you using AskUserQuestion tool (Thariq) | 28/Dec/25Tweet
Always use plan mode, give Claude a way to verify, use /code-review (Boris) | 27/Dec/25Tweet

section divider

🎬 VIDEOS / PODCASTS

Video / PodcastSourceYouTube
Everything We Got Wrong About Research-Plan-Implement (Dex) | 24 Mar 2026 | MLOps CommunityYouTube
Building Claude Code with Boris Cherny (Boris) | 04 Mar 2026 | The Pragmatic EngineerYouTube
Head of Claude Code: What happens after coding is solved (Boris) | 19 Feb 2026 | Lenny's PodcastYouTube
Inside Claude Code With Its Creator Boris Cherny (Boris) | 17 Feb 2026 | Y CombinatorYouTube
Boris Cherny (Creator of Claude Code) On What Grew His Career (Boris) | 15 Dec 2025 | Ryan PetermanYouTube
The Secrets of Claude Code From the Engineers Who Built It (Cat) | 29 Oct 2025 | EveryYouTube

section divider

🔔 SUBSCRIBE

SourceNameBadge
r/ClaudeAI, r/ClaudeCode, r/Anthropic
Claude, Anthropic, Boris, Thariq, Cat, Lydia, Noah, Anthony, Alex, Kenneth
Jesse Kriss (Superpowers), Affaan Mustafa (ECC), Garry Tan (gstack), Dex Horthy (HumanLayer), Kieran Klaassen (Compound Eng), Tabish Gilani (OpenSpec), Brian McAdams (BMAD), Lex Christopherson (GSD), Dani Avila (CC Templates), Dan Shipper (Every), Andrej Karpathy (AutoResearch), Peter Steinberger (OpenClaw), Sigrid Jin (claw-code), Yeachan Heo (oh-my-claudecode)
Anthropic
Lenny's Podcast, Y Combinator, The Pragmatic Engineer, Ryan Peterman, Every, MLOps Community

section divider

☠️ STARTUPS / BUSINESSES

ClaudeReplaced
Code ReviewGreptile, CodeRabbit, Devin Review, OpenDiff, Cursor BugBot
Voice DictationWispr Flow, SuperWhisper
Remote ControlOpenClaw
Claude in ChromePlaywright MCP, Chrome DevTools MCP
Computer UseOpenAI CUA
CoworkChatGPT Agent, Perplexity Computer, Manus
TasksBeads
Plan ModeAgent OS
Skills / PluginsYC AI wrapper startups (reddit)

section divider

Billion-Dollar Questions

If you have answers, do let me know at shanraisshan@gmail.com

Memory & Instructions (4)

  1. What exactly should you put inside your CLAUDE.md — and what should you leave out?
  2. If you already have a CLAUDE.md, is a separate constitution.md or rules.md actually needed?
  3. How often should you update your CLAUDE.md, and how do you know when it's become stale?
  4. Why does Claude still ignore CLAUDE.md instructions — even when they say MUST in all caps? (reddit)

Agents, Skills & Workflows (6)

  1. When should you use a command vs an agent vs a skill — and when is vanilla Claude Code just better?
  2. How often should you update your agents, commands, and workflows as models improve?
  3. Does giving your subagent a detailed persona improve quality? What does a "perfect persona/prompt" for research/QA subagent look like?
  4. Should you rely on Claude Code's built-in plan mode — or build your own planning command/agent that enforces your team's workflow?
  5. 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?
  6. 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)

  1. Should every feature in your repo have a spec as a markdown file?
  2. How often do you need to update specs so they don't become obsolete when a new feature is implemented?
  3. When implementing a new feature, how do you handle the ripple effect on specs for other features?

section divider

REPORTS

section divider

1. Read the repo like a course, learn what commands, agents, skills, and hooks are before trying to use them.
2. Clone this repo and play with the examples, try /weather-orchestrator, listen to the hook sounds, run agent teams, so you can see how things actually work.
3. Go to your own project and ask Claude to suggest what best practices from this repo you should add, give it this repo as a reference so it knows what's possible.

Watch on YouTube

section divider

GitHub Trending
✨Trending on Github in March 2026✨

Other Repos

claude-code-hooks · Codex CLI codex-cli-best-practice · Codex CLI Hooks codex-cli-hooks

Developed by

#WorkflowDescription
1/workflows:development-workflowsUpdate the DEVELOPMENT WORKFLOWS table and cross-workflow analysis report by researching all 10 workflow repos in parallel
2/workflows:best-practice:workflow-conceptsUpdate the README CONCEPTS section with the latest Claude Code features and concepts
3/workflows:best-practice:workflow-claude-settingsTrack Claude Code settings report changes and find what needs updating
4/workflows:best-practice:workflow-claude-subagentsTrack Claude Code subagents report changes and find what needs updating
5/workflows:best-practice:workflow-claude-commandsTrack Claude Code commands report changes and find what needs updating
6/workflows:best-practice:workflow-claude-skillsTrack Claude Code skills report changes and find what needs updating

Star History

Star History Chart

stars and counting

section divider

If you like my work, buy me a doodh patti 🍵 on

Polar Polar