Apr 20, 2025
This is really good, well worth the investment of your time. There is a lot of novel insight here that will shortly become de rigueur. There’s a few bits worth calling out.
The models are now heavily tuned for too use as we all know. gh
cli use is baked in:
Claude knows how to use the gh CLI to interact with GitHub for creating issues, opening pull requests, reading comments, and more. Without gh installed, Claude can still use the GitHub API or MCP server if you have those installed.
You can use the terms “think”, “deep think” and “ultra think” as short hand with Claude Code to adjust the thinking time:
We recommend using the word “think” to trigger extended thinking mode, which gives Claude additional computation time to evaluate alternatives more thoroughly. These specific phrases are mapped directly to increasing levels of thinking budget in the system: “think” < “think hard” < “think harder” < “ultrathink.” Each level allocates progressively more thinking budget for Claude to use.
A suggested workflow is to use visual targeting, providing browser control to the model via MCP:
Similar to the testing workflow, you can provide Claude with visual targets: Give Claude a way to take browser screenshots (e.g., with the Puppeteer MCP server, an iOS simulator MCP server, or manually copy / paste screenshots into Claude). Give Claude a visual mock by copying / pasting or drag-dropping an image, or giving Claude the image file path. Ask Claude to implement the design in code, take screenshots of the result, and iterate until its result matches the mock. Ask Claude to commit when you’re satisfied.
Aggressively manage context:
Use /clear to keep context focused During long sessions, Claude’s context window can fill with irrelevant conversation, file contents, and commands. This can reduce performance and sometimes distract Claude. Use the /clear command frequently between tasks to reset the context window.
There’s a lot here as well that is well known already - use of scratchpads, blueprints, todo lists or using TDD loops. Heavy use of CLAUDE.md/cursor rules. Having it re-iterated here helps though as it feels a bit more official (you know the model is likely tuned to reinforce these workflows). I’ll close on one last excerpt, I wonder how soon this will be the de facto development mode for a lot of us?
Rather than waiting for Claude to complete each step, something many engineers at Anthropic do is:
Claude Code: Best practices for agentic codingCreate 3-4 git checkouts in separate folders Open each folder in separate terminal tabs Start Claude in each folder with different tasks Cycle through to check progress and approve/deny permission requests