from vibe coding to agentic engineering - practice makes claude perfect
= Agents ·
= Commands ·
= Skills

Boris Cherny on X (tweet 1 · tweet 2 · tweet 3)
| 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] |
/usage (merged /cost+/stats in v2.1.118) |
| AI Terms | ||
| Best Practices | Official best practices · Prompt Engineering · Extend Claude Code |
| Feature | Location | Description |
|---|---|---|
| Routines |
claude.ai/code/routines, /schedule |
Cloud automation on Anthropic infrastructure — scheduled, API-triggered, or GitHub event-driven tasks that run even when your machine is off · Desktop Tasks |
| Ultrareview |
/ultrareview |
Cloud-based multi-agent code review — every finding independently reproduced and verified in a remote sandbox (5–10 min, ~$5–20/run); 3 free runs for Pro/Max · Tasks tracking |
| Devcontainers | .devcontainer/ |
Preconfigured development containers with security isolation and firewall rules for consistent Claude Code environments |
| Channels |
--channels, plugin-based |
Push events from Telegram, Discord, or webhooks into a running session — Claude reacts while you're away · Reference |
| Ultraplan |
/ultraplan |
Draft plans in the cloud with browser-based review, inline comments, and flexible execution — remotely or teleported back to terminal |
| No Flicker Mode |
/tui fullscreen, CLAUDE_CODE_NO_FLICKER=1 |
/tui fullscreen is the canonical toggle (v2.1.110+); env var is the legacy path |
| Auto Mode |
--permission-mode auto, Shift+Tab |
--enable-auto-mode flag removed (v2.1.111); Max subscribers default with Opus 4.7 · Blog |
| Power-ups | /powerup |
|
| Computer Use |
computer-use MCP server |
Let Claude control your screen — open apps, click, type, and screenshot your display on macOS · Desktop |
| Agent SDK | npm / pip package |
Build production AI agents with Claude Code as a library — Python and TypeScript SDKs with built-in tools, hooks, subagents, and MCP · Quickstart · Examples |
| Ralph Wiggum Loop | plugin | |
| Chrome |
--chrome, extension |
|
| Claude Code Web |
claude.ai/code |
Run tasks on cloud infrastructure — long-running tasks, PR auto-fix, parallel sessions with no local setup · Routines |
| 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 |
| Remote Control | /remote-control, /rc |
|
| Agent Teams |
built-in (env var) | |
| Scheduled Tasks | /loop, /schedule, cron tools |
/loop runs prompts locally on a recurring schedule (up to 7 days) — supports self-pacing where Claude picks its own interval via the Monitor tool · /schedule runs prompts in the cloud on Anthropic infrastructure — works even when your machine is off · Announcement |
| Tasks | /tasks, ~/.claude/tasks/ |
|
| Voice Dictation |
/voice |
|
| Simplify & Batch | /simplify, /batch |
|
| Git Worktrees | built-in, EnterWorktree/ExitWorktree, isolation: "worktree" |
isolation: "worktree" frontmatter (v2.1.106+) |
See orchestration-workflow for implementation details of Command →
Agent →
Skill pattern.
claude
/weather-orchestratorAll major workflows converge on the same architectural pattern: Research → Plan → Execute → Review → Ship
| Name | ★ | Uniqueness | Plan | |||
|---|---|---|---|---|---|---|
| Superpowers | 166k | 5 | 3 | 14 | ||
| Everything Claude Code | 165k | 48 | 143 | 230 | ||
| Spec Kit | 90k | 0 | 9+ | 0 | ||
| gstack | 81k | 0 | 0 | 41 | ||
| Get Shit Done | 57k | 33 | 122 | 0 | ||
| BMAD-METHOD | 46k | 0 | 0 | 40 | ||
| OpenSpec | 43k | 0 | 11 | 0 | ||
| oh-my-claudecode | 31k | 19 | 0 | 46 | ||
| Compound Engineering | 15k | 60 | 4 | 42 | ||
| HumanLayer | 11k | 6 | 27 | 0 |
- 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
🚫👶 = 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) | |
| 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 |
| Video / Podcast | Source | 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 |
| Source | Name | Badge |
|---|---|---|
| r/ClaudeAI, r/ClaudeCode, r/Anthropic | ||
| Claude, Claude Devs, 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 |
| Claude | Replaced |
|---|---|
| Code Review | Greptile, CodeRabbit, Devin Review, OpenDiff, Cursor BugBot |
| Voice Dictation | Wispr Flow, SuperWhisper |
| Remote Control | OpenClaw |
| Claude in Chrome | Playwright MCP, Chrome DevTools MCP |
| Computer Use | OpenAI CUA |
| Cowork | ChatGPT Agent, Perplexity Computer, Manus |
| 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?
- 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?
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.

✨Trending on Github in March 2026✨
|
Claude Code Hooks |
Codex CLI Best Practice |
Codex CLI Hooks |
Gemini CLI Best Practice |
Gemini CLI Hooks |
# 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:best-practice:workflow-concepts Update the README CONCEPTS section with the latest Claude Code features and concepts 3 /workflows:best-practice:workflow-claude-settings Track Claude Code settings report changes and find what needs updating 4 /workflows:best-practice:workflow-claude-subagents Track Claude Code subagents report changes and find what needs updating 5 /workflows:best-practice:workflow-claude-commands Track Claude Code commands report changes and find what needs updating 6 /workflows:best-practice:workflow-claude-skills Track Claude Code skills report changes and find what needs updating
If you like my work, buy me a doodh patti 🍵 on
