How to actually get the most out of Claude Code

Better results. Fewer things to keep up with.

Claude Code moves quickly. There are LOTS of features — and you can safely ignore most of them until you need them. Here's what I'd focus on.

I cover all these concepts in my course, Claude Code — The Practical Guide. Here's the short version.

1. Write precise prompts and let the agent loop

Describe the outcome and constraints precisely. Bring in your knowledge to nudge Claude in the right direction. Give it clear validation tasks, too:

Add search by article title. Reuse our form styles. No external service. Check typing, clearing, and no matches — including on a phone.

Let it implement, check, fix, and repeat. Specify what makes sense: run tests, deploy and check the result, or use a browser. Put mandatory tasks and checks in CLAUDE.md. For bigger changes, ask for a plan first. Inspect the result yourself!

2. Give it the right context

Don't let Claude guess or struggle with something you already know. Share what matters: relevant files, existing patterns, the exact URL to visit, or a pitfall to avoid. Don't assume it knows your project!

3. Give it proper agent skills

This is worth spending time on. Use skills as an on-demand knowledge base and to encode capabilities: how to research, implement, test, or review. Each has a SKILL.md file, plus any supporting material.

Start with a few that match your work. Read their instructions and try them on real tasks. If Claude consistently gets something wrong, add or improve a skill that explains that task better, including how to check the result.

Claude can load relevant skills automatically; use /skill-name to request one. The skills docs explain setup. Better skills beat a bigger collection.

4. Connect useful tools

MCP servers expose specific services to Claude: reading and writing emails, working with Linear, or accessing design files. Add one when it saves work. Check what it can read or change.

For a familiar CLI like GitHub's gh, I'd often let Claude use that directly. It likely already knows the commands well; an MCP connection isn't automatically better.

5. Pick the model for the job

  • Fable: planning, difficult decisions, and complex tasks.
  • Opus: implementing a clear plan and simpler tasks.

That's my starting point. Switch with /model; check availability and usage costs in the picker or model docs.