πNote
How a Meta Staff Engineer Uses Claude Code: 50 Tips for Agentic Development
Tony Duong
Mar 12, 2026 Β· 6 min
#claude-code#ai#productivity#engineering#workflow

John Kim, a Staff Engineer at Meta, shared a comprehensive guide with 50 tips on how to move from manually writing code to fully leveraging Claude Code as an agentic orchestrator. Here are all the tips, organized by topic.
Original video: How a Meta Staff Engineer Uses Claude Code
Foundations & Setting Up
- Run in Root β Always launch Claude in the root directory of your project to ensure it picks up the correct context and rule files.
- Use
/initβ Run this on every new project. Claude will analyze your architecture and generate a tailoredCLAUDE.mdautomatically. - Hierarchy of Memory β Claude uses a hierarchy: local project memory first, then global user memory (
~/.claude/), then built-in system instructions. - Keep Rules Concise β Aim for ~300 lines in your
CLAUDE.md. Bloat leads to higher token costs and less accurate behavior. - Technical Architecture β Include high-level technical requirements and domain context in your rules file.
- Design Patterns β Explicitly state which design patterns your project follows to keep the AI consistent across sessions.
- Validation Loops β The most important foundation: define build and validation commands so the AI can self-correct when code fails to compile, without human intervention.
Keyboard Shortcuts
- Toggle Modes (
Shift + Tab) β Switch between Plan Mode (architecting) and Accept Edits (execution) instantly. - Escape to Interrupt β If Claude is "thinking" but going off-track, hit
Escapeto stop it immediately and redirect. - Prompt Queueing β Don't hesitate to enter multiple prompts in a row; Claude Code logically queues and de-dupes them.
- Clear Input (Double-tap Escape) β Instantly clears a large copy-pasted block or long prompt from your input field.
- Rewind Context (Escape on empty input) β Rewinds to a previous point in the conversation and restores that context.
- Vim Mode β If you're a Vim user, enable this for more efficient terminal navigation.
- Screenshot Drop β Drag and drop screenshots directly into the terminal to provide visual context for UI debugging.
Essential Slash Commands
/clearβ Wipe the current context window when starting a new feature to prevent stale information from influencing the AI./contextβ Visual audit of exactly which files and tokens are currently in Claude's context window.- Audit for Bloat β Use
/contextspecifically to spot MCPs or files eating up too many tokens unnecessarily. - Auto-Compaction β Let Claude auto-compact long sessions to keep the context window fresh and relevant.
/modelsβ Switch between Sonnet, Haiku, or Opus. Kim recommends Opus as the default for high-level architectural work./resumeβ If you accidentally kill a terminal instance, use this to recover your conversation and context./mcpβ View and manage your Model Context Protocol extensions.- Limit MCPs β Only install MCPs necessary for the specific project to avoid unnecessary token bloat.
/helpβ Use the built-in wizard to discover new commands as Claude Code gets updated.- Git Safety Net β Use Git as your primary safety net for code changes rather than relying solely on the internal rewind feature.
Managing Rules (CLAUDE.md)
- Top-to-Bottom Priority β Order your rules from most important to least important; Claude reads them sequentially.
- "Never Do" vs. "Always Do" β Use explicit negative and positive constraints to define clear guardrails.
- Code Snippets β Provide clear examples of your project's unique DSL or archaic patterns so Claude doesn't invent alternatives.
- Auto-Update Rules β Instead of editing
CLAUDE.mdmanually, tell Claude: "Update the rules so we never make this mistake again." - Trigger Words β Set up keywords in your rules that trigger specific skills or build commands automatically.
- Compound Engineering β Commit your
CLAUDE.mdto the codebase to share AI best practices with your entire team. - Vibe Check Evaluations β AI evals are hard to quantify. Test rule changes for a few weeks before merging them into the main branch.
Advanced Workflows
- Dangerously Skip Permissions β Use
--dangerously-skip-permissionsto let Claude edit files without asking for approval. Use with extreme caution and only in throwaway environments. /permissionsβ Explicitly define which destructive actions (likerm -rf) still require manual approval even in skip mode.- Start in Plan Mode β Always spend time arguing with Claude in Plan Mode before letting it write a single line of code.
- The "Starcraft" Workflow β Open multiple Claude instances in different terminal tabs and juggle them to work on several features simultaneously.
- Fresh Beats Bloated β Always prefer a fresh, condensed context over a long, circular conversation with stale history.
- The "Second Brain" β Save session summaries to a local directory and lazy-load them into new sessions to preserve architectural decisions across days.
- Lazy Load To-Dos β Keep your project to-do list in a local index and only ask Claude to read it when needed β don't bloat every session with it.
- Control the Emulator β Ask Claude to control your mobile emulator, add debug logs, and read traces through MCPs.
- Web Navigation with
/chromeβ Have Claude navigate documentation sites or fill out forms via a headless browser when no API is available.
Power User Composability
- Create Skills β Turn any recurring workflow into a reusable skill by telling Claude: "Save what we just did into a new skill."
- Skills are MD Files β Skills are just system prompts saved in a specific directory. You can open and edit them as plain text.
- Extend Skills β Ask Claude to "extend this skill" to handle new sources (e.g., adding Twitter to an existing Hacker News skill).
- Sub-Agents for Side Effects β Use sub-agents for atomic tasks that don't need full project context, keeping your main window clean.
- Avoid Sub-Agent Overuse β Don't use sub-agents for tasks requiring deep architectural knowledge; they don't share the main context window.
- Juggling iTerm2 Instances β Use
Cmd + DandCmd + [ / ]to switch between multiple Claude sessions rapidly. - Rename Tabs β Rename your terminal tabs (e.g., "Local," "Remote SSH") to stay oriented across many parallel agents.
- Audio Notifications β Tell Claude to "ring a bell" or use text-to-speech to summarize what it did when a background task finishes.
- Git Worktrees β Use Git worktrees to work on different branches in parallel without code conflicts between sessions.
- Explore the Ecosystem β Download community-made plugins and MCPs to extend Claude's capabilities beyond the defaults.
My Takeaways
The throughline across all 50 tips is reducing the feedback loop between intention and result. Whether it's validation loops, the Second Brain, or the Starcraft workflow β every pattern is about getting Claude to handle more of the cycle autonomously.
The tips I'm applying immediately:
- Define build and lint commands in
CLAUDE.mdso Claude validates its own output - Use
/contextto audit token usage and trim bloat - Start every complex task in Plan Mode before touching code
- Save session summaries locally to resume multi-day work without losing context