# claude-code-best-practice **Repository Path**: jerrycell/claude-code-best-practice ## Basic Information - **Project Name**: claude-code-best-practice - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-30 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # claude-code-best-practice practice makes claude perfect ![updated with Claude Code](https://img.shields.io/badge/updated_with_Claude_Code-v2.1.87%20(Mar%2030%2C%202026%2011%3A44%20AM%20PKT)-white?style=flat&labelColor=555) GitHub Stars
[![Best Practice](!/tags/best-practice.svg)](best-practice/) [![Implemented](!/tags/implemented.svg)](implementation/) [![Orchestration Workflow](!/tags/orchestration-workflow.svg)](orchestration-workflow/orchestration-workflow.md) [![Boris](!/tags/boris-cherny.svg)](#-tips-and-tricks) ![Click on these badges below to see the actual sources](!/tags/click-badges.svg)
= 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 | Feature | Location | Description | |---------|----------|-------------| | [**Subagents**](https://code.claude.com/docs/en/sub-agents) | `.claude/agents/.md` | [![Best Practice](!/tags/best-practice.svg)](best-practice/claude-subagents.md) [![Implemented](!/tags/implemented.svg)](implementation/claude-subagents-implementation.md) Autonomous actor in fresh isolated context β€” custom tools, permissions, model, memory, and persistent identity | | [**Commands**](https://code.claude.com/docs/en/slash-commands) | `.claude/commands/.md` | [![Best Practice](!/tags/best-practice.svg)](best-practice/claude-commands.md) [![Implemented](!/tags/implemented.svg)](implementation/claude-commands-implementation.md) Knowledge injected into existing context β€” simple user-invoked prompt templates for workflow orchestration | | [**Skills**](https://code.claude.com/docs/en/skills) | `.claude/skills//SKILL.md` | [![Best Practice](!/tags/best-practice.svg)](best-practice/claude-skills.md) [![Implemented](!/tags/implemented.svg)](implementation/claude-skills-implementation.md) Knowledge injected into existing context β€” configurable, preloadable, auto-discoverable, with context forking and progressive disclosure Β· [Official Skills](https://github.com/anthropics/skills/tree/main/skills) | | [**Workflows**](https://code.claude.com/docs/en/common-workflows) | [`.claude/commands/weather-orchestrator.md`](.claude/commands/weather-orchestrator.md) | [![Orchestration Workflow](!/tags/orchestration-workflow.svg)](orchestration-workflow/orchestration-workflow.md) | | [**Hooks**](https://code.claude.com/docs/en/hooks) | `.claude/hooks/` | [![Best Practice](!/tags/best-practice.svg)](https://github.com/shanraisshan/claude-code-hooks) [![Implemented](!/tags/implemented.svg)](https://github.com/shanraisshan/claude-code-hooks) User-defined handlers (scripts, HTTP, prompts, agents) that run outside the agentic loop on specific events Β· [Guide](https://code.claude.com/docs/en/hooks-guide) | | [**MCP Servers**](https://code.claude.com/docs/en/mcp) | `.claude/settings.json`, `.mcp.json` | [![Best Practice](!/tags/best-practice.svg)](best-practice/claude-mcp.md) [![Implemented](!/tags/implemented.svg)](.mcp.json) Model Context Protocol connections to external tools, databases, and APIs | | [**Plugins**](https://code.claude.com/docs/en/plugins) | distributable packages | Bundles of skills, subagents, hooks, MCP servers, and LSP servers Β· [Marketplaces](https://code.claude.com/docs/en/discover-plugins) Β· [Create Marketplaces](https://code.claude.com/docs/en/plugin-marketplaces) | | [**Settings**](https://code.claude.com/docs/en/settings) | `.claude/settings.json` | [![Best Practice](!/tags/best-practice.svg)](best-practice/claude-settings.md) [![Implemented](!/tags/implemented.svg)](.claude/settings.json) Hierarchical configuration system Β· [Permissions](https://code.claude.com/docs/en/permissions) Β· [Model Config](https://code.claude.com/docs/en/model-config) Β· [Output Styles](https://code.claude.com/docs/en/output-styles) Β· [Sandboxing](https://code.claude.com/docs/en/sandboxing) Β· [Keybindings](https://code.claude.com/docs/en/keybindings) Β· [Fast Mode](https://code.claude.com/docs/en/fast-mode) | | [**Status Line**](https://code.claude.com/docs/en/statusline) | `.claude/settings.json` | [![Best Practice](!/tags/best-practice.svg)](https://github.com/shanraisshan/claude-code-status-line) [![Implemented](!/tags/implemented.svg)](.claude/settings.json) Customizable status bar showing context usage, model, cost, and session info | | [**Memory**](https://code.claude.com/docs/en/memory) | `CLAUDE.md`, `.claude/rules/`, `~/.claude/rules/`, `~/.claude/projects//memory/` | [![Best Practice](!/tags/best-practice.svg)](best-practice/claude-memory.md) [![Implemented](!/tags/implemented.svg)](CLAUDE.md) Persistent context via CLAUDE.md files and `@path` imports Β· [Auto Memory](https://code.claude.com/docs/en/memory) Β· [Rules](https://code.claude.com/docs/en/memory#organize-rules-with-clauderules) | | [**Checkpointing**](https://code.claude.com/docs/en/checkpointing) | automatic (git-based) | Automatic tracking of file edits with rewind (`Esc Esc` or `/rewind`) and targeted summarization | | [**CLI Startup Flags**](https://code.claude.com/docs/en/cli-reference) | `claude [flags]` | [![Best Practice](!/tags/best-practice.svg)](best-practice/claude-cli-startup-flags.md) Command-line flags, subcommands, and environment variables for launching Claude Code Β· [Interactive Mode](https://code.claude.com/docs/en/interactive-mode) | | **AI Terms** | | [![Best Practice](!/tags/best-practice.svg)](https://github.com/shanraisshan/claude-code-codex-cursor-gemini/blob/main/reports/ai-terms.md) Agentic Engineering Β· Context Engineering Β· Vibe Coding | | [**Best Practices**](https://code.claude.com/docs/en/best-practices) | | Official best practices Β· [Prompt Engineering](https://github.com/anthropics/prompt-eng-interactive-tutorial) Β· [Extend Claude Code](https://code.claude.com/docs/en/features-overview) | ### πŸ”₯ Hot | Feature | Location | Description | |---------|----------|-------------| | [**Auto Mode**](https://code.claude.com/docs/en/permission-modes#eliminate-prompts-with-auto-mode) ![beta](!/tags/beta.svg) | `--permission-mode auto` | [![Best Practice](!/tags/best-practice.svg)](https://x.com/claudeai/status/2036503582166393240) Background safety classifier replaces manual permission prompts β€” Claude decides what's safe while blocking prompt injection and risky escalations Β· [Blog](https://claude.com/blog/auto-mode) | | [**Channels**](https://code.claude.com/docs/en/channels) ![beta](!/tags/beta.svg) | `--channels`, plugin-based | Push events from Telegram, Discord, or webhooks into a running session β€” Claude reacts while you're away Β· [Reference](https://code.claude.com/docs/en/channels-reference) | | [**Slack**](https://code.claude.com/docs/en/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**](https://code.claude.com/docs/en/code-review) ![beta](!/tags/beta.svg) | GitHub App (managed) | [![Best Practice](!/tags/best-practice.svg)](https://x.com/claudeai/status/2031088171262554195) Multi-agent PR analysis that catches bugs, security vulnerabilities, and regressions Β· [Blog](https://claude.com/blog/code-review) | | [**GitHub Actions**](https://code.claude.com/docs/en/github-actions) | `.github/workflows/` | Automate PR reviews, issue triage, and code generation in CI/CD pipelines Β· [GitLab CI/CD](https://code.claude.com/docs/en/gitlab-ci-cd) | | [**Chrome**](https://code.claude.com/docs/en/chrome) ![beta](!/tags/beta.svg) | `--chrome`, extension | [![Best Practice](!/tags/best-practice.svg)](reports/claude-in-chrome-v-chrome-devtools-mcp.md) Browser automation via Claude in Chrome β€” test web apps, debug with console, automate forms, extract data from pages | | [**Scheduled Tasks**](https://code.claude.com/docs/en/scheduled-tasks) | `/loop`, `/schedule`, cron tools | [![Best Practice](!/tags/best-practice.svg)](https://x.com/bcherny/status/2030193932404150413) [![Implemented](!/tags/implemented.svg)](implementation/claude-scheduled-tasks-implementation.md) `/loop` runs prompts locally on a recurring schedule (up to 3 days) Β· [`/schedule`](https://code.claude.com/docs/en/web-scheduled-tasks) runs prompts in the cloud on Anthropic infrastructure β€” works even when your machine is off Β· [Announcement](https://x.com/noahzweben/status/2036129220959805859) | | [**Voice Dictation**](https://code.claude.com/docs/en/voice-dictation) ![beta](!/tags/beta.svg) | `/voice` | [![Best Practice](!/tags/best-practice.svg)](https://x.com/trq212/status/2028628570692890800) Push-to-talk speech input for prompts with 20-language support and rebindable activation key | | [**Simplify & Batch**](https://code.claude.com/docs/en/skills#bundled-skills) | `/simplify`, `/batch` | [![Best Practice](!/tags/best-practice.svg)](https://x.com/bcherny/status/2027534984534544489) Built-in skills for code quality and bulk operations β€” simplify refactors for reuse and efficiency, batch runs commands across files | | [**Agent Teams**](https://code.claude.com/docs/en/agent-teams) ![beta](!/tags/beta.svg) | built-in (env var) | [![Best Practice](!/tags/best-practice.svg)](https://x.com/bcherny/status/2019472394696683904) [![Implemented](!/tags/implemented.svg)](implementation/claude-agent-teams-implementation.md) Multiple agents working in parallel on the same codebase with shared task coordination | | [**Remote Control**](https://code.claude.com/docs/en/remote-control) | `/remote-control`, `/rc` | [![Best Practice](!/tags/best-practice.svg)](https://x.com/noahzweben/status/2032533699116355819) Continue local sessions from any device β€” phone, tablet, or browser Β· [Headless Mode](https://code.claude.com/docs/en/headless) | | [**Git Worktrees**](https://code.claude.com/docs/en/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees) | built-in | [![Best Practice](!/tags/best-practice.svg)](https://x.com/bcherny/status/2025007393290272904) Isolated git branches for parallel development β€” each agent gets its own working copy | | [**Ralph Wiggum Loop**](https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum) | plugin | [![Best Practice](!/tags/best-practice.svg)](https://github.com/ghuntley/how-to-ralph-wiggum) [![Implemented](!/tags/implemented.svg)](https://github.com/shanraisshan/novel-llm-26) Autonomous development loop for long-running tasks β€” iterates until completion |

section divider

## Orchestration Workflow See [orchestration-workflow](orchestration-workflow/orchestration-workflow.md) for implementation details of **Command** β†’ **Agent** β†’ **Skill** pattern.

Command Skill Agent Architecture Flow

Orchestration Workflow Demo

![How to Use](!/tags/how-to-use.svg) ```bash claude /weather-orchestrator ```

section divider

## βš™οΈ DEVELOPMENT WORKFLOWS All major workflows converge on the same architectural pattern: **Research β†’ Plan β†’ Execute β†’ Review β†’ Ship** | Name | β˜… | Uniqueness | Plan | | | | |------|---|------------|------|---|---|---| | [Superpowers](https://github.com/obra/superpowers) | 122k | ![TDD-first](https://img.shields.io/badge/TDD--first-ddf4ff) ![Iron Laws](https://img.shields.io/badge/Iron_Laws-ddf4ff) ![whole-plan review](https://img.shields.io/badge/whole--plan_review-ddf4ff) | [writing-plans](https://github.com/obra/superpowers/tree/main/skills/writing-plans) | 5 | 3 | 14 | | [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) | 116k | ![instinct scoring](https://img.shields.io/badge/instinct_scoring-ddf4ff) ![AgentShield](https://img.shields.io/badge/AgentShield-ddf4ff) ![multi-lang rules](https://img.shields.io/badge/multi--lang_rules-ddf4ff) | [planner](https://github.com/affaan-m/everything-claude-code/blob/main/agents/planner.md) | 30 | 63 | 135 | | [Spec Kit](https://github.com/github/spec-kit) | 83k | ![spec-driven](https://img.shields.io/badge/spec--driven-ddf4ff) ![constitution](https://img.shields.io/badge/constitution-ddf4ff) ![22+ tools](https://img.shields.io/badge/22%2B_tools-ddf4ff) | [speckit.plan](https://github.com/github/spec-kit/blob/main/templates/commands/plan.md) | 0 | 9+ | 0 | | [gstack](https://github.com/garrytan/gstack) | 55k | ![role personas](https://img.shields.io/badge/role_personas-ddf4ff) ![/codex review](https://img.shields.io/badge/%2Fcodex_review-ddf4ff) ![parallel sprints](https://img.shields.io/badge/parallel_sprints-ddf4ff) | [autoplan](https://github.com/garrytan/gstack/tree/main/autoplan) | 0 | 0 | 28 | | [Get Shit Done](https://github.com/gsd-build/get-shit-done) | 44k | ![fresh 200K contexts](https://img.shields.io/badge/fresh_200K_contexts-ddf4ff) ![wave execution](https://img.shields.io/badge/wave_execution-ddf4ff) ![XML plans](https://img.shields.io/badge/XML_plans-ddf4ff) | [gsd-planner](https://github.com/gsd-build/get-shit-done/blob/main/agents/gsd-planner.md) | 18 | 57 | 0 | | [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) | 43k | ![full SDLC](https://img.shields.io/badge/full_SDLC-ddf4ff) ![agent personas](https://img.shields.io/badge/agent_personas-ddf4ff) ![22+ platforms](https://img.shields.io/badge/22%2B_platforms-ddf4ff) | [bmad-create-prd](https://github.com/bmad-code-org/BMAD-METHOD/tree/main/src/bmm-skills/2-plan-workflows/bmad-create-prd) | 0 | 0 | 40 | | [OpenSpec](https://github.com/Fission-AI/OpenSpec) | 35k | ![delta specs](https://img.shields.io/badge/delta_specs-ddf4ff) ![brownfield](https://img.shields.io/badge/brownfield-ddf4ff) ![artifact DAG](https://img.shields.io/badge/artifact_DAG-ddf4ff) | [opsx:propose](https://github.com/Fission-AI/OpenSpec/blob/main/src/commands/workflow/new-change.ts) | 0 | 11 | 0 | | [Compound Engineering](https://github.com/EveryInc/compound-engineering-plugin) | 12k | ![Compound Learning](https://img.shields.io/badge/Compound_Learning-ddf4ff) ![Multi-Platform CLI](https://img.shields.io/badge/Multi--Platform_CLI-ddf4ff) ![Plugin Marketplace](https://img.shields.io/badge/Plugin_Marketplace-ddf4ff) | [ce-plan](https://github.com/EveryInc/compound-engineering-plugin/tree/main/plugins/compound-engineering/skills/ce-plan) | 48 | 4 | 42 | | [HumanLayer](https://github.com/humanlayer/humanlayer) | 10k | ![RPI](https://img.shields.io/badge/RPI-ddf4ff) ![context engineering](https://img.shields.io/badge/context_engineering-ddf4ff) ![300k+ LOC](https://img.shields.io/badge/300k%2B_LOC-ddf4ff) | [create_plan](https://github.com/humanlayer/humanlayer/blob/main/.claude/commands/create_plan.md) | 6 | 27 | 0 | ### Others - [Cross-Model (Claude Code + Codex) Workflow](development-workflows/cross-model-workflow/cross-model-workflow.md) [![Implemented](!/tags/implemented.svg)](development-workflows/cross-model-workflow/cross-model-workflow.md) - [RPI](development-workflows/rpi/rpi-workflow.md) [![Implemented](!/tags/implemented.svg)](development-workflows/rpi/rpi-workflow.md) - [Ralph Wiggum Loop](https://www.youtube.com/watch?v=eAtvoGlpeRU) [![Implemented](!/tags/implemented.svg)](https://github.com/shanraisshan/novel-llm-26) - [Andrej Karpathy (Founding Member, OpenAI) Workflow](https://x.com/karpathy/status/2015883857489522876) - [Peter Steinberger (Creator of OpenClaw) Workflow](https://youtu.be/8lF7HmQ_RgY?t=2582) - Boris Cherny (Creator of Claude Code) Workflow β€” [13 Tips](tips/claude-boris-13-tips-03-jan-26.md) Β· [10 Tips](tips/claude-boris-10-tips-01-feb-26.md) Β· [12 Tips](tips/claude-boris-12-tips-12-feb-26.md) Β· [2 Tips](tips/claude-boris-2-tips-25-mar-26.md) Β· [15 Tips](tips/claude-boris-15-tips-30-mar-26.md) [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny)

section divider

## πŸ’‘ TIPS AND TRICKS (86) πŸš«πŸ‘Ά = do not babysit [Prompting](#tips-prompting) Β· [Planning](#tips-planning) Β· [CLAUDE.md](#tips-claudemd) Β· [Agents](#tips-agents) Β· [Commands](#tips-commands) Β· [Skills](#tips-skills) Β· [Hooks](#tips-hooks) Β· [Workflows](#tips-workflows) Β· [Advanced](#tips-workflows-advanced) Β· [Git / PR](#tips-git-pr) Β· [Debugging](#tips-debugging) Β· [Utilities](#tips-utilities) Β· [Daily](#tips-daily) ![Community](!/tags/community.svg) β–  **Prompting (3)** | Tip | Source | |-----|--------| | 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 πŸš«πŸ‘Ά | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742752566632544) | | after a mediocre fix β€” "knowing everything you know now, scrap this and implement the elegant solution" πŸš«πŸ‘Ά | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742752566632544) | | Claude fixes most bugs by itself β€” paste the bug, say "fix", don't micromanage how πŸš«πŸ‘Ά | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742750473720121) | β–  **Planning/Specs (6)** | Tip | Source | |-----|--------| | always start with [plan mode](https://code.claude.com/docs/en/common-workflows) | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179845336527000) | | start with a minimal spec or prompt and ask Claude to interview you using [AskUserQuestion](https://code.claude.com/docs/en/cli-reference) tool, then make a new session to execute the spec | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2005315275026260309) | | 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](development-workflows/cross-model-workflow/cross-model-workflow.md) for review | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742745365057733) | | write detailed specs and reduce ambiguity before handing work off β€” the more specific you are, the better the output | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742752566632544) | | prototype > PRD β€” build 20-30 versions instead of writing specs, the cost of building is low so take many shots | [![Boris](!/tags/boris-cherny.svg)](https://youtu.be/julbw1JuAz0?t=3630) [![Video](!/tags/video.svg)](https://youtu.be/julbw1JuAz0?t=3630) | β–  **CLAUDE.md (7)** | Tip | Source | |-----|--------| | [CLAUDE.md](https://code.claude.com/docs/en/memory) should target under [200 lines](https://code.claude.com/docs/en/memory#write-effective-instructions) per file. [60 lines in humanlayer](https://www.humanlayer.dev/blog/writing-a-good-claude-md) ([still not 100% guaranteed](https://www.reddit.com/r/ClaudeCode/comments/1qn9pb9/claudemd_says_must_use_agent_claude_ignores_it_80/)) | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179840848597422) [![Dex](!/tags/dex.svg)](https://www.humanlayer.dev/blog/writing-a-good-claude-md) | | wrap domain-specific CLAUDE.md rules in [\ tags](https://www.hlyr.dev/blog/stop-claude-from-ignoring-your-claude-md) to stop Claude from ignoring them as files grow longer | [![Dex](!/tags/dex.svg)](https://www.hlyr.dev/blog/stop-claude-from-ignoring-your-claude-md) | | use [multiple CLAUDE.md](best-practice/claude-memory.md) for monorepos β€” ancestor + descendant loading | | | use [.claude/rules/](https://code.claude.com/docs/en/memory#organize-rules-with-clauderules) to split large instructions | | | [memory.md](https://code.claude.com/docs/en/memory), 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 | [![Dex](!/tags/dex.svg)](https://x.com/dexhorthy/status/2034713765401551053) | | keep codebases clean and finish migrations β€” partially migrated frameworks confuse models that might pick the wrong pattern | [![Boris](!/tags/boris-cherny.svg)](https://youtu.be/julbw1JuAz0?t=1112) [![Video](!/tags/video.svg)](https://youtu.be/julbw1JuAz0?t=1112) | | use [settings.json](best-practice/claude-settings.md) for harness-enforced behavior (attribution, permissions, model) β€” don't put "NEVER add Co-Authored-By" in CLAUDE.md when `attribution.commit: ""` is deterministic | [![davila7](!/tags/davila7.svg)](https://x.com/dani_avila7/status/2036182734310195550) | **Agents (4)** | Tip | Source | |-----|--------| | have feature specific [sub-agents](https://code.claude.com/docs/en/sub-agents) (extra context) with [skills](https://code.claude.com/docs/en/skills) (progressive disclosure) instead of general qa, backend engineer | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179850139000872) | | say "use subagents" to throw more compute at a problem β€” offload tasks to keep your main context clean and focused πŸš«πŸ‘Ά | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742755737555434) | | [agent teams with tmux](https://code.claude.com/docs/en/agent-teams) and [git worktrees](https://x.com/bcherny/status/2025007393290272904) for parallel development | | | use [test time compute](https://code.claude.com/docs/en/sub-agents) β€” separate context windows make results better; one agent can cause bugs and another (same model) can find them | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2031151689219321886) | **Commands (3)** | Tip | Source | |-----|--------| | use [commands](https://code.claude.com/docs/en/slash-commands) for your workflows instead of [sub-agents](https://code.claude.com/docs/en/sub-agents) | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179847949500714) | | use [slash commands](https://code.claude.com/docs/en/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 | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179847949500714) | | if you do something more than once a day, turn it into a [skill](https://code.claude.com/docs/en/skills) or [command](https://code.claude.com/docs/en/slash-commands) β€” build `/techdebt`, context-dump, or analytics commands | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742748984742078) | **Skills (9)** | Tip | Source | |-----|--------| | use [context: fork](https://code.claude.com/docs/en/skills) 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 | [![Lydia](!/tags/lydia.svg)](https://x.com/lydiahallie/status/2033603164398883042) | | use [skills in subfolders](reports/claude-skills-for-larger-mono-repos.md) for monorepos | | | skills are folders, not files β€” use references/, scripts/, examples/ subdirectories for [progressive disclosure](https://code.claude.com/docs/en/skills) | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | build a Gotchas section in every skill β€” highest-signal content, add Claude's failure points over time | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | skill description field is a trigger, not a summary β€” write it for the model ("when should I fire?") | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | don't state the obvious in skills β€” focus on what pushes Claude out of its default behavior πŸš«πŸ‘Ά | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | don't railroad Claude in skills β€” give goals and constraints, not prescriptive step-by-step instructions πŸš«πŸ‘Ά | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | include scripts and libraries in skills so Claude composes rather than reconstructs boilerplate | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | 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 | [![Lydia](!/tags/lydia.svg)](https://x.com/lydiahallie/status/2034337963820327017) | β–  **Hooks (5)** | Tip | Source | |-----|--------| | use [on-demand hooks](https://code.claude.com/docs/en/skills) in skills β€” /careful blocks destructive commands, /freeze blocks edits outside a directory | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | [measure skill usage](https://code.claude.com/docs/en/skills) with a PreToolUse hook to find popular or undertriggering skills | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | | use a [PostToolUse hook](https://code.claude.com/docs/en/hooks) to auto-format code β€” Claude generates well-formatted code, the hook handles the last 10% to avoid CI failures | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179852047335529) | | route [permission requests](https://code.claude.com/docs/en/hooks) to Opus via a hook β€” let it scan for attacks and auto-approve safe ones πŸš«πŸ‘Ά | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742755737555434) | | use a [Stop hook](https://code.claude.com/docs/en/hooks) to nudge Claude to keep going or verify its work at the end of a turn | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2021701059253874861) | β–  **Workflows (7)** | Tip | Source | |-----|--------| | avoid agent dumb zone, do manual [/compact](https://code.claude.com/docs/en/interactive-mode) at max 50%. Use [/clear](https://code.claude.com/docs/en/cli-reference) to reset context mid-session if switching to a new task | | | vanilla cc is better than any workflows with smaller tasks | | | use [/model](https://code.claude.com/docs/en/model-config) to select model and reasoning, [/context](https://code.claude.com/docs/en/interactive-mode) to see context usage, [/usage](https://code.claude.com/docs/en/costs) to check plan limits, [/extra-usage](https://code.claude.com/docs/en/interactive-mode) to configure overflow billing, [/config](https://code.claude.com/docs/en/settings) to configure settings β€” use Opus for plan mode and Sonnet for code to get the best of both | [![Cat](!/tags/cat-wu.svg)](https://x.com/_catwu/status/1955694117264261609) | | always use [thinking mode](https://code.claude.com/docs/en/model-config) true (to see reasoning) and [Output Style](https://code.claude.com/docs/en/output-styles) Explanatory (to see detailed output with β˜… Insight boxes) in [/config](https://code.claude.com/docs/en/settings) for better understanding of Claude's decisions | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179838864666847) | | use ultrathink keyword in prompts for [high effort reasoning](https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#tips-and-best-practices) | | | [/rename](https://code.claude.com/docs/en/cli-reference) important sessions (e.g. [TODO - refactor task]) and [/resume](https://code.claude.com/docs/en/cli-reference) them later β€” label each instance when running multiple Claudes simultaneously | [![Cat](!/tags/cat-wu.svg)](https://every.to/podcast/how-to-use-claude-code-like-the-people-who-built-it) | | use [Esc Esc or /rewind](https://code.claude.com/docs/en/checkpointing) to undo when Claude goes off-track instead of trying to fix it in the same context | | β–  **Workflows Advanced (6)** | Tip | Source | |-----|--------| | use ASCII diagrams a lot to understand your architecture | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742759218794768) | | use [/loop](https://code.claude.com/docs/en/scheduled-tasks) for local recurring monitoring (up to 3 days) Β· use [/schedule](https://code.claude.com/docs/en/web-scheduled-tasks) for cloud-based recurring tasks that run even when your machine is off | | | use [Ralph Wiggum plugin](https://github.com/shanraisshan/novel-llm-26) for long-running autonomous tasks | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179858435281082) | | [/permissions](https://code.claude.com/docs/en/permissions) with wildcard syntax (Bash(npm run *), Edit(/docs/**)) instead of dangerously-skip-permissions | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2007179854077407667) | | [/sandbox](https://code.claude.com/docs/en/sandboxing) to reduce permission prompts with file and network isolation β€” 84% reduction internally | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2021700506465579443) [![Cat](!/tags/cat-wu.svg)](https://creatoreconomy.so/p/inside-claude-code-how-an-ai-native-actually-works-cat-wu) | | invest in [product verification](https://code.claude.com/docs/en/skills) skills (signup-flow-driver, checkout-verifier) β€” worth spending a week to perfect | [![Thariq](!/tags/thariq.svg)](https://x.com/trq212/status/2033949937936085378) | β–  **Git / PR (5)** | Tip | Source | |-----|--------| | keep PRs small and focused β€” [p50 of 118 lines](tips/claude-boris-2-tips-25-mar-26.md) (141 PRs, 45K lines changed in a day), one feature per PR, easier to review and revert | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2038552880018538749) | | always [squash merge](tips/claude-boris-2-tips-25-mar-26.md) PRs β€” clean linear history, one commit per feature, easy git revert and git bisect | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2038552880018538749) | | commit often β€” try to commit at least once per hour, as soon as task is completed, commit | | | tag [@claude](https://github.com/apps/claude) on a coworker's PR to auto-generate lint rules for recurring review feedback β€” automate yourself out of code review πŸš«πŸ‘Ά | [![Boris](!/tags/boris-cherny.svg)](https://youtu.be/julbw1JuAz0?t=2715) [![Video](!/tags/video.svg)](https://youtu.be/julbw1JuAz0?t=2715) | | use [/code-review](https://code.claude.com/docs/en/code-review) for multi-agent PR analysis β€” catches bugs, security vulnerabilities, and regressions before merge | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2031089411820228645) | β–  **Debugging (7)** | 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](https://code.claude.com/docs/en/chrome), [Playwright](https://github.com/microsoft/playwright-mcp), [Chrome DevTools](https://developer.chrome.com/blog/chrome-devtools-mcp)) 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](https://code.claude.com/docs/en/cli-reference) to diagnose installation, authentication, and configuration issues | | | error during compaction can be resolved by using [/model](https://code.claude.com/docs/en/model-config) to select a 1M token model, then running [/compact](https://code.claude.com/docs/en/interactive-mode) | | | use a [cross-model](development-workflows/cross-model-workflow/cross-model-workflow.md) for QA β€” e.g. [Codex](https://github.com/shanraisshan/codex-cli-best-practice) 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 | [![Boris](!/tags/boris-cherny.svg)](https://youtu.be/julbw1JuAz0?t=3095) [![Video](!/tags/video.svg)](https://youtu.be/julbw1JuAz0?t=3095) | β–  **Utilities (5)** | Tip | Source | |-----|--------| | [iTerm](https://iterm2.com/)/[Ghostty](https://ghostty.org/)/[tmux](https://github.com/tmux/tmux) terminals instead of IDE ([VS Code](https://code.visualstudio.com/)/[Cursor](https://www.cursor.com/)) | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2017742753971769626) | | [Wispr Flow](https://wisprflow.ai) for voice prompting (10x productivity) | | | [claude-code-hooks](https://github.com/shanraisshan/claude-code-hooks) for claude feedback | | | [status line](https://github.com/shanraisshan/claude-code-status-line) for context awareness and fast compacting | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2021700784019452195) | | explore [settings.json](best-practice/claude-settings.md) features like [Plans Directory](best-practice/claude-settings.md#plans-directory), [Spinner Verbs](best-practice/claude-settings.md#display--ux) for a personalized experience | [![Boris](!/tags/boris-cherny.svg)](https://x.com/bcherny/status/2021701145023197516) | β–  **Daily (3)** | Tip | Source | |-----|--------| | [update](https://code.claude.com/docs/en/setup) Claude Code daily and start your day by reading the [changelog](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) | | | follow [r/ClaudeAI](https://www.reddit.com/r/ClaudeAI/), [r/ClaudeCode](https://www.reddit.com/r/ClaudeCode/) | ![Reddit](https://img.shields.io/badge/-FF4500?style=flat&logo=reddit&logoColor=white) | | follow [Boris](https://x.com/bcherny), [Thariq](https://x.com/trq212), [Cat](https://x.com/_catwu), [Lydia](https://x.com/lydiahallie), [Noah](https://x.com/noahzweben), [Anthony](https://x.com/amorriscode), [Alex](https://x.com/alexalbert__), [Kenneth](https://x.com/neilhtennek), [Claude](https://x.com/claudeai) | ![X](https://img.shields.io/badge/-000?style=flat&logo=x&logoColor=white) | ![Boris Cherny + Team](!/tags/boris-team.svg) | Article / Tweet | Source | |-----------------|--------| | [15 Hidden & Under-Utilized Features in Claude Code (Boris) \| 30/Mar/26](tips/claude-boris-15-tips-30-mar-26.md) | [Tweet](https://x.com/bcherny/status/2038454336355999749) | | [Squash Merging & PR Size Distribution (Boris) \| 25/Mar/26](tips/claude-boris-2-tips-25-mar-26.md) | [Tweet](https://x.com/bcherny/status/2038552880018538749) | | [Lessons from Building Claude Code: How We Use Skills (Thariq) \| 17/Mar/26](tips/claude-thariq-tips-17-mar-26.md) | [Article](https://x.com/trq212/status/2033949937936085378) | | [Code Review & Test Time Compute (Boris) \| 10/Mar/26](tips/claude-boris-2-tips-10-mar-26.md) | [Tweet](https://x.com/bcherny/status/2031089411820228645) | | /loop β€” schedule recurring tasks for up to 3 days (Boris) \| 07 Mar 2026 | [Tweet](https://x.com/bcherny/status/2030193932404150413) | | AskUserQuestion + ASCII Markdowns (Thariq) \| 28 Feb 2026 | [Tweet](https://x.com/trq212/status/2027543858289250472) | | Seeing like an Agent - lessons from building Claude Code (Thariq) \| 28 Feb 2026 | [Article](https://x.com/trq212/status/2027463795355095314) | | Git Worktrees - 5 ways how boris is using \| 21 Feb 2026 | [Tweet](https://x.com/bcherny/status/2025007393290272904) | | Lessons from Building Claude Code: Prompt Caching Is Everything (Thariq) \| 20 Feb 2026 | [Article](https://x.com/trq212/status/2024574133011673516) | | [12 ways how people are customizing their claudes (Boris) \| 12/Feb/26](tips/claude-boris-12-tips-12-feb-26.md) | [Tweet](https://x.com/bcherny/status/2021699851499798911) | | [10 tips for using Claude Code from the team (Boris) \| 01/Feb/26](tips/claude-boris-10-tips-01-feb-26.md) | [Tweet](https://x.com/bcherny/status/2017742741636321619) | | [How I use Claude Code β€” 13 tips from my surprisingly vanilla setup (Boris) \| 03/Jan/26](tips/claude-boris-13-tips-03-jan-26.md) | [Tweet](https://x.com/bcherny/status/2007179832300581177) | | Ask Claude to interview you using AskUserQuestion tool (Thariq) \| 28/Dec/25 | [Tweet](https://x.com/trq212/status/2005315275026260309) | | Always use plan mode, give Claude a way to verify, use /code-review (Boris) \| 27/Dec/25 | [Tweet](https://x.com/bcherny/status/2004711722926616680) | ![Videos / Podcasts](!/tags/videos-podcasts.svg) | Video / Podcast | YouTube | |-----------------|---------| | Building Claude Code with Boris Cherny (Boris) \| 04 Mar 2026 \| The Pragmatic Engineer | [YouTube](https://youtu.be/julbw1JuAz0) | | Head of Claude Code: What happens after coding is solved (Boris) \| 19 Feb 2026 \| Lenny's Podcast | [YouTube](https://youtu.be/We7BZVKbCVw) | | Inside Claude Code With Its Creator Boris Cherny (Boris) \| 17 Feb 2026 \| Y Combinator | [YouTube](https://youtu.be/PQU9o_5rHC4) | | Boris Cherny (Creator of Claude Code) On What Grew His Career (Boris) \| 15 Dec 2025 \| Ryan Peterman | [YouTube](https://youtu.be/AmdLVWMdjOk) | | The Secrets of Claude Code From the Engineers Who Built It (Cat) \| 29 Oct 2025 \| Every | [YouTube](https://youtu.be/IDSAMqip6ms) |

section divider

## ☠️ STARTUPS / BUSINESSES | Claude | Replaced | |-|-| |[**Code Review**](https://code.claude.com/docs/en/code-review)|[Greptile](https://greptile.com), [CodeRabbit](https://coderabbit.ai), [Devin Review](https://devin.ai), [OpenDiff](https://opendiff.com), [Cursor BugBot](https://bugbot.dev)| |[**Voice Dictation**](https://code.claude.com/docs/en/voice-dictation)|[Wispr Flow](https://wisprflow.ai), [SuperWhisper](https://superwhisper.com/)| |[**Remote Control**](https://code.claude.com/docs/en/remote-control)|[OpenClaw](https://openclaw.ai/) |[**Cowork**](https://claude.com/blog/cowork-research-preview)|[OpenAI Operator](https://openai.com/operator), [AgentShadow](https://agentshadow.ai) |[**Tasks**](https://x.com/trq212/status/2014480496013803643)|[Beads](https://github.com/steveyegge/beads) |[**Plan Mode**](https://code.claude.com/docs/en/common-workflows)|[Agent OS](https://github.com/buildermethods/agent-os)| |[**Skills / Plugins**](https://code.claude.com/docs/en/plugins)|YC AI wrapper startups ([reddit](https://reddit.com/r/ClaudeAI/comments/1r6bh4d/claude_code_skills_are_basically_yc_ai_startup/))|

section divider

![Billion-Dollar Questions](!/tags/billion-dollar-questions.svg) *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](https://reddit.com/r/ClaudeCode/comments/1qn9pb9/claudemd_says_must_use_agent_claude_ignores_it_80/)) **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

Agent SDK vs CLI Browser Automation MCP Global vs Project Settings Skills in Monorepos
Agent Memory Advanced Tool Use Usage & Rate Limits Agents vs Commands vs Skills
LLM Degradation

section divider

![How to Use](!/tags/how-to-use.svg) ``` 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. ```

section divider

GitHub Trending
✨Trending on Github in March 2026✨

## Other Repos Claude Code Hooks claude-code-hooks Β· Codex CLI codex-cli-best-practice Β· Codex CLI Hooks codex-cli-hooks ## Developed by ![Developed by](!/tags/developed-by.svg) > | 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 | [![Claude for OSS](!/tags/claude-for-oss.svg)](https://claude.com/contact-sales/claude-for-oss) [![Claude Community Ambassador](!/tags/claude-community-ambassador.svg)](https://claude.com/community/ambassadors) [![Claude Certified Architect](!/tags/claude-certified-architect.svg)](https://anthropic.skilljar.com/claude-certified-architect-foundations-access-request) [![Anthropic Academy](!/tags/anthropic-academy.svg)](https://anthropic.skilljar.com/) ## Star History [![Star History Chart](https://api.star-history.com/svg?repos=shanraisshan/claude-code-best-practice&type=Date)](https://star-history.com/#shanraisshan/claude-code-best-practice&Date)