Introduction to Claude Code

Model Selection
Opus
Sonnet
Haiku
Which model to use?
Plugins and Skills


Published: Mar 23, 2026 10:44 PM
8 min read


So for anyone who's missed it, Claude Code has shaped up to be one of the biggest industry challengers to our engineering ways of working. You simply tell it what you want, and it does it - kinda.
Not only is it fast, it's pretty good... if you prompt well!
It's a fairly simple process too, you open up your Terminal app, run claude and very quickly you're in the wonderful land of TUI (Terminal User Interface, not to be mistaken for the travel agents).
Before long, Claude starts asking you for permission to edit files and run commands, which leaves you two options:
You start curating a list of safe commands for Claude to run
You quit and run claude --dangerously-skip-permissions, which is what most people I've met do.
There are a number of models which Anthropic publish, each has different training, reasoning and capabilities.
Anthropic describe Opus as their most intelligent model, and they're right to do so. It's great at reasoning, not too slow, and has a huge 1m token context window, with adaptive thinking capabilities.
However, at the time of writing, it's also their most expensive model charged at $5/million input tokens, and $25/million output tokens. Be under no illusion otherwise, this is a premium model.
Sonnet is a bit of a half-way house model, but don't let that put you off - it's good at reasoning, pretty fast, and boasts the same 1m token context window as Opus, with the same adaptive thinking capabilities.
It's charged at a semi reasonable $3/million input tokens, and $15/million output tokens. I'd still class this as a premium model due to how good it is at coding.
Now Haiku is Anthropics "budget" model, if you can call it that. It's their cheapest, and for good reason.
It has extended thinking capabilities, not adaptive thinking capabilities (we'll talk about the differences there in another article). It's also got a smaller token context window maxing out at 200k tokens... but i'd say that's still fairly industry standard if you're not used to Gemini. However what Haiku gives you is speed, it's their fastest model.
It's charged at a much more affordable $1/million input tokens, and $5/million output tokens, putting it at 20% of the cost of Opus.
Now that's a lot of information, and which model to use is a good question.
When I'm working on smaller tasks what I usually do is flip Claude Code into /plan mode and use Opus to reason about my ask, and then once we've got a solid plan, flip over to Sonnet to execute the plan as I don't need as much reasoning.
Ultimately model choice comes down to the task you're doing, and a lot of people neglect the smaller models in favour of picking the biggest baddest model because it might be smarter.
One of my favourite Claude Code plugin types is Personas, in reality these are just skills, but they're used when creating Subagents / Team Members with specific skill sets.
It's not that Claude needs any extra knowledge here, but it's helpful to tell an LLM what job it's doing so it can rule out all that extra knowledge it's learned and doesn't need to know.
Occasionally Claude Code will decide to spin up a sub-agent to complete a task, this is an agent in its own right which Claude Code prompts, the benefit of which is that a Subagent runs within its own token context window keeping all that minutia of how to do a task was achieved out of your main context window.
The downside of Subagents is that they're lone wolves, this is where Teams come into play.
As the name suggests, Teams is where the Claude Code instance you're interacting with (the Team Lead) decides it needs to create a number of highly specialised Claude Code instances to complete a task.
I absolutely LOVE LOVE LOVE Teams, each agent is an expert at what they do and the Team Lead keeps them on-task. What I love the most however is their ability to communicate between themselves, and that both you the user, or the Team Lead can steer them at any time.
Now putting these features together we can start thinking about how we can model engineering team behaviours where you need multiple people ... in my innovation world, I need different Personas... To quote my colleague Paul "It takes a village".
By using Personas we can ensure that we're getting exactly the output we want from each individual member, by modelling an Agile Squad.
We can get high quality documentation in the form of Jira, and Solution Architecture. Supported by design artefacts for high quality.
Below is a somewhat token expensive prompt which should illustrate the model:
A neobrutalist tech blog with a projects section and a general blog.
Modern but techie design, WCAG 2.2 AA accessibility, and strong SEO focus (JSON-LD, Microdata, great Core Web Vitals).
- 1x Product Owner (Jira MCP)
- 2x Business Analysts (Jira MCP)
- 2x UI Designers (Pencil MCP + Jira MCP)
- 1x Solutions Architect (markdown + Mermaid diagrams)
- 3x Senior Next.js Developers
- 1x SEO Expert
- 1x Manual QA (Playwright MCP)
- 1x Automation QA (Playwright tests)
Product Owner creates Epics and User Stories -> Business Analysts refine them -> UI Designers produce designs -> Developers build iteratively, committing per ticket -> Manual QA verifies -> Automation QA writes tests.
Check in with me between each phase.
You MUST use Agent Teams and their unique skills.
- Page load < 200ms, page weight < 500kb
- 100% functional journey Playwright coverage
- 80% unit test coverage via Vitest
Whilst in reality, I'm not going to run that prompt, that would simply burn a vast number of tokens and yield a moderate yet uninspiring blog... that wasn't the point of this prompt.
This was designed to share how we can communicate with an Agent Team Lead who can delegate tasks to autonomous Agents in somewhat of a familiar setting.
The last time I ran a prompt like this, I spent $500 or so on Claude and got something that needed a further day of fine tuning through Cursor to get a somewhat shippable MVP... which may sounds expensive, but if you compare that to the human cost to get that outcome, we start seeing the efficiencies.
Through the 2025 Festive Period, my Twitter X feed was taken up with posts about how to get the most out of Claude Code, whether it's BMAD Spec Driven Design, Ralph Wiggum, or a plethora of other techniques which pop up and very quickly drop off.
To support this, the team at Anthropic have built the ability to install plugins into Claude Code, so after a quick command such as /plugin install ralph-loop@claude-plugins-official you can get started using these powerful capabilities.
In the Ralph Wiggum example, there are a load of skills presented backed by shell commands to help get Claude in a task list completion loop.
You can also install Skills, which you can then execute using /skill-name. I find it easiest to think of skills as template prompts explaining to LLMs specifically how to do things.
AI has come a VERY long way in the past few years, with not just LLMs improving in quality, but how we help to steer them. Claude Code is a strong contender for best-in-class, with Skills, MCP, Subagents and Teams.
If you've not had chance to use it yet, I highly suggest you give it a go!