{"site":"claude.dev","count":16,"posts":[{"slug":"solving-code-review-at-anthropic","format":"essay","title":"How the Claude Code team does code review","date":"2026-10-15","tag":"engineering","author":"Addy Osmani, Morgan Westlee Lunt, and Qing Wang","team":"Member of Technical Staff","summary":"How do you review code at the volume agents produce it? On the Claude Code team, once we had high coverage and deep reviews, we started optimizing for the minimum amount of human review time that doesn't raise reverts or incidents.","draft":false,"words":3116,"mins":14,"tree":[{"id":"rethinking-the-purpose-of-code-review","t":"Rethinking the purpose of code review"},{"id":"the-scarce-resource-human-time-and-attention","t":"The scarce resource: human time and attention"},{"id":"the-life-of-a-change","t":"The life of a change"},{"id":"layer-by-layer","t":"Layer by layer"},{"id":"how-we-make-the-reviewer-better","t":"How we make the reviewer better"},{"id":"where-humans-stay-in-the-loop","t":"Where humans stay in the loop"},{"id":"sharing-context-across-the-team","t":"Sharing context across the team"},{"id":"you-land-it-you-own-it","t":"\"You land it, you own it\""},{"id":"when-we-change-direction","t":"When we change direction"},{"id":"how-you-can-adopt-this-process","t":"How you can adopt this process"},{"id":"where-this-is-going","t":"Where this is going"}],"url":"https://claude.dev/blog/solving-code-review-at-anthropic/"},{"slug":"building-effective-agent-automations","format":"essay","title":"Building effective agent automations","date":"2026-10-08","tag":"agents","author":"Lance Martin and CJ Avilla","team":"Member of Technical Staff","summary":"A reference implementation walkthrough with common failure modes","draft":false,"words":1946,"mins":9,"tree":[{"id":"get-the-code","t":"Get the code"},{"id":"overview","t":"Overview"},{"id":"sources","t":"Sources"},{"id":"destination","t":"Destination"},{"id":"agent","t":"Agent"},{"id":"schedule","t":"Schedule"},{"id":"memory","t":"Memory"},{"id":"guardrails","t":"Guardrails"},{"id":"getting-started","t":"Getting started"}],"url":"https://claude.dev/blog/building-effective-agent-automations/"},{"slug":"claude-code-in-the-cloud","format":"essay","title":"Claude Code in the cloud: a field guide to cloud sessions","date":"2026-10-06","tag":"playbooks","author":"Addy Osmani","team":"Member of Technical Staff","summary":"What changes when Claude Code runs on its own machine, the workflows where that pays off, and how to connect GitHub on the first try.","description":"Cloud sessions run Claude Code on a fresh VM for each task. Four real sessions, seven workflows that suit them, and how to connect GitHub without getting stuck.","draft":false,"words":3957,"mins":18,"tree":[{"id":"three-tasks-one-repository-three-machines","t":"Three tasks, one repository, three machines"},{"id":"under-the-hood-of-a-claude-code-cloud-session","t":"Under the hood of a Claude Code cloud session"},{"id":"local-or-cloud","t":"Local or cloud?"},{"id":"seven-workflows-that-suit-cloud-sessions","t":"Seven workflows that suit cloud sessions"},{"id":"connecting-github-without-getting-stuck","t":"Connecting GitHub without getting stuck"},{"id":"give-sessions-what-they-need-to-check-their-own-work","t":"Give sessions what they need to check their own work"},{"id":"habits-that-pay-off","t":"Habits that pay off"},{"id":"common-questions","t":"Common questions"},{"id":"start-in-five-minutes","t":"Start in five minutes"}],"url":"https://claude.dev/blog/claude-code-in-the-cloud/"},{"slug":"getting-started-with-claude-code-mods","format":"essay","title":"Getting started with Claude Code mods","date":"2026-10-01","tag":"tutorials","author":"Addy Osmani","team":"Member of Technical Staff","summary":"Build your first Claude Code mod from an empty folder, then see what else the API can do.","description":"Mods are hooks that ship inside plugins and run inside your Claude Code session. Build one from an empty folder, then tour two larger mods.","draft":false,"words":2504,"mins":11,"tree":[{"id":"how-a-mod-works","t":"How a mod works"},{"id":"build-your-first-mod-token-weather","t":"Build your first mod: Token Weather"},{"id":"sharing-your-mod","t":"Sharing your mod"},{"id":"two-more-mods","t":"Two more mods"},{"id":"four-habits-worth-keeping","t":"Four habits worth keeping"},{"id":"what-will-you-mod","t":"What will you mod?"}],"url":"https://claude.dev/blog/getting-started-with-claude-code-mods/"},{"slug":"building-with-claude-sonnet-5-5","format":"essay","title":"Building with Claude Sonnet 5.5","date":"2026-09-28","tag":"playbooks","author":"Addy Osmani","team":"Member of Technical Staff","summary":"When to choose Sonnet over Opus, what it costs, and how to tune it.","draft":false,"words":2019,"mins":9,"tree":[{"id":"choosing-between-sonnet-55-and-opus-55","t":"Choosing between Sonnet 5.5 and Opus 5.5"},{"id":"pricing","t":"Pricing"},{"id":"model-details","t":"Model details"},{"id":"migrating-from-sonnet-5","t":"Migrating from Sonnet 5"},{"id":"tuning","t":"Tuning"},{"id":"refusals-and-fallback","t":"Refusals and fallback"},{"id":"availability","t":"Availability"}],"url":"https://claude.dev/blog/building-with-claude-sonnet-5-5/"},{"slug":"automating-eval-design-and-hillclimbing","format":"essay","title":"Automating eval design and hillclimbing with Claude","date":"2026-09-28","tag":"playbooks","author":"Lance Martin","team":"Member of Technical Staff","summary":"Principles for designing evals and hillclimbing against them without fooling yourself, and how the claude-api skill's build-eval and hillclimb commands put them to work.","draft":false,"words":2668,"mins":12,"tree":[{"id":"eval-design","t":"Eval design"},{"id":"claude-api-build-eval","t":"/claude-api build-eval"},{"id":"hillclimbing","t":"Hillclimbing"},{"id":"claude-api-hillclimb","t":"/claude-api hillclimb"},{"id":"examples","t":"Examples"},{"id":"getting-started","t":"Getting started"}],"url":"https://claude.dev/blog/automating-eval-design-and-hillclimbing/"},{"slug":"what-a-task-costs-on-opus-5-5","format":"essay","title":"What a task costs on Opus 5.5","date":"2026-09-25","tag":"playbooks","author":"Addy Osmani","team":"Member of Technical Staff","summary":"Opus 5.5 costs less per token than Opus 5.","description":"The same token price can cost very different amounts per task. Learn what Claude Code tasks cost on Opus 5.5 and which settings change the bill.","draft":false,"words":4824,"mins":21,"tree":[{"id":"the-cost-of-a-task-and-the-cost-of-a-retry","t":"The cost of a task, and the cost of a retry"},{"id":"what-does-a-task-cost","t":"What does a task cost?"},{"id":"what-changed-in-opus-55","t":"What changed in Opus 5.5"},{"id":"the-same-tasks-side-by-side","t":"The same tasks side-by-side"},{"id":"tips-for-maximizing-the-value-of-your-session","t":"Tips for maximizing the value of your session"},{"id":"measure-it-yourself","t":"Measure it yourself"},{"id":"keep-in-mind","t":"Keep in mind"}],"url":"https://claude.dev/blog/what-a-task-costs-on-opus-5-5/"},{"slug":"spending-your-effort","format":"essay","title":"Using Claude Code: Spending your effort","date":"2026-09-25","tag":"engineering","author":"Thariq Shihipar","team":"Member of Technical Staff","summary":"What effort really is and when to use which level in Claude Code, from my own tests of three builds and a deep dive into Terminal-Bench 3.0 on Opus 5.5 and Fable 5.1.","draft":false,"words":1898,"mins":8,"tree":[{"id":"what-is-effort","t":"What is effort?"},{"id":"effort-curves","t":"Effort curves"},{"id":"building-with-effort","t":"Building with effort"},{"id":"how-effort-levels-impact-output-on-difficult-tasks","t":"How effort levels impact output on difficult tasks"}],"url":"https://claude.dev/blog/spending-your-effort/"},{"slug":"how-we-made-claude-ai-faster","format":"essay","title":"How we made claude.ai 3x faster in two weeks","date":"2026-09-23","tag":"engineering","author":"Raymond Wang, Sam Attard, and Issac G.","team":"Member of Technical Staff","summary":"Once Claude can measure something, it can make it faster. So we kept finding more things to measure.","description":"Inside our performance sprint: the benchmarks Claude built, the loop each Slack thread ran, and the guardrails that let us ship 3,000 changes safely.","draft":false,"words":3471,"mins":15,"tree":[{"id":"the-brief","t":"The brief"},{"id":"anything-can-be-hill-climbed","t":"Anything can be hill climbed"},{"id":"the-loop-thread-by-thread","t":"The loop, thread by thread"},{"id":"scaling-horizontally","t":"Scaling horizontally"},{"id":"guardrails","t":"Guardrails"},{"id":"steering","t":"Steering"},{"id":"an-8-millisecond-budget","t":"An 8-millisecond budget"},{"id":"whats-next","t":"What’s next"}],"url":"https://claude.dev/blog/how-we-made-claude-ai-faster/"},{"slug":"getting-the-most-out-of-opus-5-5","format":"essay","title":"Getting the most out of Opus 5.5 in Claude and Claude Code","date":"2026-09-22","tag":"playbooks","author":"Addy Osmani","team":"Member of Technical Staff","summary":"How to prompt Opus 5.5, steer a long run, and check your results in Claude apps and Claude Code.","draft":false,"words":2067,"mins":9,"tree":[{"id":"try-this-first","t":"Try this first"},{"id":"1-how-to-ask","t":"1. How to ask"},{"id":"2-steering-a-long-run-in-claude-code","t":"2. Steering a long run in Claude Code"},{"id":"3-checking-the-result","t":"3. Checking the result"},{"id":"4-in-claude-apps","t":"4. In Claude apps"},{"id":"5-when-a-message-is-flagged","t":"5. When a message is flagged"},{"id":"6-speed","t":"6. Speed"},{"id":"your-opus-55-checklist","t":"Your Opus 5.5 checklist"}],"url":"https://claude.dev/blog/getting-the-most-out-of-opus-5-5/"},{"slug":"the-new-rules-of-context-engineering-for-claude-5-generation-models","format":"essay","title":"The new rules of context engineering for Claude 5 generation models","date":"2026-07-24","tag":"engineering","author":"Thariq Shihipar","team":"Member of Technical Staff","summary":"We removed over 80% of Claude Code's system prompt for more advanced models. How to apply the lessons we learned to your own context engineering in Claude Code and with your own agents.","draft":false,"words":1550,"mins":7,"tree":[{"id":"unhobbling-claude","t":"Unhobbling Claude"},{"id":"then-and-now","t":"Then and now"},{"id":"applying-this-to-your-context","t":"Applying this to your context"},{"id":"try-simplifying","t":"Try simplifying"}],"url":"https://claude.dev/blog/the-new-rules-of-context-engineering-for-claude-5-generation-models/"},{"slug":"lessons-from-building-claude-code-how-we-use-skills","format":"essay","title":"Lessons from building Claude Code: How we use skills","date":"2026-06-03","tag":"skills","author":"Thariq Shihipar","team":"Member of Technical Staff","summary":"What we learned building and scaling hundreds of skills internally at Anthropic.","draft":false,"words":2368,"mins":11,"tree":[{"id":"what-are-skills","t":"What are skills?"},{"id":"types-of-skills","t":"Types of skills"},{"id":"tips-for-making-skills","t":"Tips for making skills"},{"id":"distributing-skills","t":"Distributing skills"},{"id":"managing-a-skills-marketplace","t":"Managing a skills marketplace"},{"id":"composing-skills","t":"Composing skills"},{"id":"measuring-skills","t":"Measuring skills"},{"id":"get-started","t":"Get started"}],"url":"https://claude.dev/blog/lessons-from-building-claude-code-how-we-use-skills/"},{"slug":"a-harness-for-every-task-dynamic-workflows-in-claude-code","format":"essay","title":"A harness for every task: dynamic workflows in Claude Code","date":"2026-06-02","tag":"agents","author":"Thariq Shihipar and Sid Bidasaria","team":"Members of Technical Staff","summary":"Claude Code can now write and orchestrate its own multi-agent harness on the fly. Here's how dynamic workflows work, and the patterns that get the most out of them.","draft":false,"words":2367,"mins":11,"tree":[{"id":"example-prompts","t":"Example prompts"},{"id":"how-dynamic-workflows-work","t":"How dynamic workflows work"},{"id":"why-dynamic-workflows","t":"Why dynamic workflows"},{"id":"dynamic-vs-static-workflows","t":"Dynamic vs static workflows"},{"id":"helpful-patterns-when-using-dynamic-workflows","t":"Helpful patterns when using dynamic workflows"},{"id":"use-cases","t":"Use cases"},{"id":"when-not-to-use-dynamic-workflows","t":"When not to use dynamic workflows"},{"id":"tips-for-building-dynamic-workflows","t":"Tips for building dynamic workflows"},{"id":"a-new-starting-point-for-discovery","t":"A new starting point for discovery"}],"url":"https://claude.dev/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code/"},{"slug":"using-claude-code-the-unreasonable-effectiveness-of-html","format":"essay","title":"Using Claude Code: The unreasonable effectiveness of HTML","date":"2026-05-20","tag":"playbooks","author":"Thariq Shihipar","team":"Member of Technical Staff","summary":"How and why members of the Claude Code team use HTML instead of Markdown to produce richer, more readable, and easily shareable outputs.","draft":false,"words":2113,"mins":9,"tree":[{"id":"why-use-html","t":"Why use HTML?"},{"id":"getting-started","t":"Getting started"},{"id":"use-cases","t":"Use cases"},{"id":"frequently-asked-questions","t":"Frequently asked questions"},{"id":"staying-in-the-loop-with-claude","t":"Staying in the loop with Claude"}],"url":"https://claude.dev/blog/using-claude-code-the-unreasonable-effectiveness-of-html/"},{"slug":"lessons-from-building-claude-code-prompt-caching-is-everything","format":"essay","title":"Lessons from building Claude Code: Prompt caching is everything","date":"2026-04-30","tag":"engineering","author":"Thariq Shihipar","team":"Member of Technical Staff","summary":"Best practices for optimizing prompt caching in Claude Code, including how to most effectively structure your prompt, use tools, and layer on compaction.","draft":false,"words":1404,"mins":6,"tree":[{"id":"lay-out-your-prompt-for-caching","t":"Lay out your prompt for caching"},{"id":"use-messages-for-updates","t":"Use messages for updates"},{"id":"dont-change-models-mid-session","t":"Don't change models mid-session"},{"id":"never-add-or-remove-tools-mid-session","t":"Never add or remove tools mid-session"},{"id":"compacting-without-breaking-the-cache","t":"Compacting without breaking the cache"},{"id":"lessons-learned","t":"Lessons learned"}],"url":"https://claude.dev/blog/lessons-from-building-claude-code-prompt-caching-is-everything/"},{"slug":"seeing-like-an-agent","format":"essay","title":"Seeing like an agent: how we design tools in Claude Code","date":"2026-04-10","tag":"agents","author":"Thariq Shihipar","team":"Member of Technical Staff","summary":"Learn how the Claude Code team designs, tests, and evolves tools by thinking from the model's point of view.","draft":false,"words":1543,"mins":7,"tree":[{"id":"improving-elicitation-with-the-askuserquestion-tool","t":"Improving elicitation with the AskUserQuestion tool"},{"id":"designing-a-search-interface","t":"Designing a search interface"},{"id":"progressive-disclosure-the-claude-code-guide-agent","t":"Progressive disclosure: the Claude Code Guide agent"}],"url":"https://claude.dev/blog/seeing-like-an-agent/"}]}