πŸ“Note

How a Meta Staff Engineer Uses Claude Code: 50 Tips for Agentic Development

Tony Duong

Tony Duong

Mar 12, 2026 Β· 6 min

#claude-code#ai#productivity#engineering#workflow
How a Meta Staff Engineer Uses Claude Code: 50 Tips for Agentic Development

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

  1. Run in Root β€” Always launch Claude in the root directory of your project to ensure it picks up the correct context and rule files.
  2. Use /init β€” Run this on every new project. Claude will analyze your architecture and generate a tailored CLAUDE.md automatically.
  3. Hierarchy of Memory β€” Claude uses a hierarchy: local project memory first, then global user memory (~/.claude/), then built-in system instructions.
  4. Keep Rules Concise β€” Aim for ~300 lines in your CLAUDE.md. Bloat leads to higher token costs and less accurate behavior.
  5. Technical Architecture β€” Include high-level technical requirements and domain context in your rules file.
  6. Design Patterns β€” Explicitly state which design patterns your project follows to keep the AI consistent across sessions.
  7. 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

  1. Toggle Modes (Shift + Tab) β€” Switch between Plan Mode (architecting) and Accept Edits (execution) instantly.
  2. Escape to Interrupt β€” If Claude is "thinking" but going off-track, hit Escape to stop it immediately and redirect.
  3. Prompt Queueing β€” Don't hesitate to enter multiple prompts in a row; Claude Code logically queues and de-dupes them.
  4. Clear Input (Double-tap Escape) β€” Instantly clears a large copy-pasted block or long prompt from your input field.
  5. Rewind Context (Escape on empty input) β€” Rewinds to a previous point in the conversation and restores that context.
  6. Vim Mode β€” If you're a Vim user, enable this for more efficient terminal navigation.
  7. Screenshot Drop β€” Drag and drop screenshots directly into the terminal to provide visual context for UI debugging.

Essential Slash Commands

  1. /clear β€” Wipe the current context window when starting a new feature to prevent stale information from influencing the AI.
  2. /context β€” Visual audit of exactly which files and tokens are currently in Claude's context window.
  3. Audit for Bloat β€” Use /context specifically to spot MCPs or files eating up too many tokens unnecessarily.
  4. Auto-Compaction β€” Let Claude auto-compact long sessions to keep the context window fresh and relevant.
  5. /models β€” Switch between Sonnet, Haiku, or Opus. Kim recommends Opus as the default for high-level architectural work.
  6. /resume β€” If you accidentally kill a terminal instance, use this to recover your conversation and context.
  7. /mcp β€” View and manage your Model Context Protocol extensions.
  8. Limit MCPs β€” Only install MCPs necessary for the specific project to avoid unnecessary token bloat.
  9. /help β€” Use the built-in wizard to discover new commands as Claude Code gets updated.
  10. 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)

  1. Top-to-Bottom Priority β€” Order your rules from most important to least important; Claude reads them sequentially.
  2. "Never Do" vs. "Always Do" β€” Use explicit negative and positive constraints to define clear guardrails.
  3. Code Snippets β€” Provide clear examples of your project's unique DSL or archaic patterns so Claude doesn't invent alternatives.
  4. Auto-Update Rules β€” Instead of editing CLAUDE.md manually, tell Claude: "Update the rules so we never make this mistake again."
  5. Trigger Words β€” Set up keywords in your rules that trigger specific skills or build commands automatically.
  6. Compound Engineering β€” Commit your CLAUDE.md to the codebase to share AI best practices with your entire team.
  7. 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

  1. Dangerously Skip Permissions β€” Use --dangerously-skip-permissions to let Claude edit files without asking for approval. Use with extreme caution and only in throwaway environments.
  2. /permissions β€” Explicitly define which destructive actions (like rm -rf) still require manual approval even in skip mode.
  3. Start in Plan Mode β€” Always spend time arguing with Claude in Plan Mode before letting it write a single line of code.
  4. The "Starcraft" Workflow β€” Open multiple Claude instances in different terminal tabs and juggle them to work on several features simultaneously.
  5. Fresh Beats Bloated β€” Always prefer a fresh, condensed context over a long, circular conversation with stale history.
  6. The "Second Brain" β€” Save session summaries to a local directory and lazy-load them into new sessions to preserve architectural decisions across days.
  7. 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.
  8. Control the Emulator β€” Ask Claude to control your mobile emulator, add debug logs, and read traces through MCPs.
  9. 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

  1. Create Skills β€” Turn any recurring workflow into a reusable skill by telling Claude: "Save what we just did into a new skill."
  2. Skills are MD Files β€” Skills are just system prompts saved in a specific directory. You can open and edit them as plain text.
  3. Extend Skills β€” Ask Claude to "extend this skill" to handle new sources (e.g., adding Twitter to an existing Hacker News skill).
  4. Sub-Agents for Side Effects β€” Use sub-agents for atomic tasks that don't need full project context, keeping your main window clean.
  5. Avoid Sub-Agent Overuse β€” Don't use sub-agents for tasks requiring deep architectural knowledge; they don't share the main context window.
  6. Juggling iTerm2 Instances β€” Use Cmd + D and Cmd + [ / ] to switch between multiple Claude sessions rapidly.
  7. Rename Tabs β€” Rename your terminal tabs (e.g., "Local," "Remote SSH") to stay oriented across many parallel agents.
  8. Audio Notifications β€” Tell Claude to "ring a bell" or use text-to-speech to summarize what it did when a background task finishes.
  9. Git Worktrees β€” Use Git worktrees to work on different branches in parallel without code conflicts between sessions.
  10. 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.md so Claude validates its own output
  • Use /context to 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
Tony Duong

By Tony Duong

A digital diary. Thoughts, experiences, and reflections.