if tool_call: msgs.append(exc(res))

An opinionated guide to Claude Code/Cursor

in London, UK

Warning: Things change so quickly that most of the stuff here is likely outdated. Reach out to me if you want an up-to-date version. That is if I’m still doing code by that time :)

1. Be skeptical and critical

Be skeptical of any agentic development guide or tips you read on the internet — including this one. We’re in a hype cycle and there is a lot of irrelevant noise.

It’s important to experiment and test things yourself. What works for other people might not work for you, and vice versa.

2. Beware of what goes into your global context

One line of bad global instructions => one thousand lines of bad code you have to review.

3. Have 0 MCP

My stance on MCP is similar to Tools: Code Is All You Need. MCP pollutes the context with tool descriptions that you rarely use.

Instead, instruct the agent to use the equivalent CLI when interacting with your external sources. A simple line such as When interacting with GitHub, use "gh" CLI. It's installed. in the instructions suffices and only takes 14 tokens instead of 62.1k.

I treat agents calling “web search” as a sign that I haven’t loaded them with proper context.

5. Context engineering

This is a big topic on its own, but the goal is to pre-populate your agent with relevant context before it starts writing code.

6. Close the feedback loop

If the agent can compile and verify your changes by running your program or unit tests, it will be able to correct its errors.

For instance, if you have a unit test in the main app for the feature you’re working on, let the agent know about it. Example prompt:

 1Update FlowchartConverter to add edges' labels using a ShapeNotesItem to the middle point of the arrow.
 2
 3Verify the change by running this snapshot test
 4
 5 xcodebuild \
 6        -scheme "GoodNotes" \
 7        -workspace "./GoodNotes.xcworkspace" \
 8        -destination "platform=iOS Simulator,name=iPad Pro 11-inch (M4)" test \
 9        -testPlan UnitTests \
10        -only-testing:MermaidToNoteItemsSnapshotTests \
11        SWIFT_TREAT_WARNINGS_AS_ERRORS=NO \
12        GCC_TREAT_WARNINGS_AS_ERRORS=NO | xcpretty

7. Have a Makefile

Related to 6, put your common scripts like building, running tests, and code formatting in a Makefile. Most agents will know to read and use it.

8. Build a small playground app to iterate faster

If possible, build a small “example/playground” app to iterate on your code faster. Integrate it into the main codebase once you’re happy with the result.

9. Some Claude Code-specific tips

Here are some tips specific to Claude Code: