10 Claude Code Concepts That Actually Matter
10 Claude Code Concepts That Actually Matter
You don't need to learn a million things to master Claude Code. You need to learn about ten. I narrowed the whole tool down to the concepts that actually change your output — starting with the foundations most people skip and ending with the heavy hitters like loop engineering and dynamic workflows. Here's the full breakdown, in the order that makes sense for a reader, not a viewer.
Which Model and Effort Level Should You Use in Claude Code?
Bigger isn't always better. It's just more expensive. Claude Code lets you pick both a model (Fable 5, Opus 5, Sonnet 5) and an effort level (low, medium, high, extra high, max), and most people crank everything to the top thinking they're getting a better result. They're not.
Look at how this plays out on a long-running agentic benchmark — the kind of task where Claude runs for hours to finish a complicated project. On Fable, low effort costs $3.76 and hits 60% completion. High effort costs $9.18 and hits 69%. That jump makes sense. But going from high to extra high buys you a single extra percent while the cost keeps climbing, and going from extra high to max adds another $9 for no improvement at all. The same flat curve shows up on Opus and Sonnet.
So should you just live on high? No — that benchmark is for genuinely hard, hours-long tasks. You're almost certainly not doing anything that complicated.
Rule of thumb: stay on Fable 5 Medium for most of your work. If you start hitting usage limits on Fable, switch to Opus 5 Medium — I've found Opus tends to be less verbose and less over-engineered at the medium setting anyway. When a task genuinely gets harder, you've got headroom to push either model up to high. Generally, I'd stay away from Sonnet 5 for this.
How Do You Prompt Claude Code Properly?
Everyone overcomplicates prompting. There are really only two things you need to do.
First, ask yourself: am I starting a new project? If you're beginning something brand new, go into plan mode. This alone fixes a huge number of problems because it forces you and Claude Code onto the same page before any code gets written.
Second, get two things into the actual prompt:
- The goal. What end state are you trying to reach? You don't need to tell Claude to "act as a senior software engineer." You don't need to spell out every step or every constraint. At minimum, give it the goal.
- Tell it to ask you questions. This is the part people skip. When you tell Claude Code to ask questions, it starts finding your blind spots — the missing constraints, the specific steps, the real end goal. Instead of Claude expecting you to show up with every answer, you have a back-and-forth that gets you both to a solid plan.
Skip the questions and Claude Code reverts to the mean. That's exactly how you get generic outputs. Throw it in plan mode, give it the goal, tell it to ask questions, and only start executing once you're happy with what it's laid out.
What Is the Context Window and Why Should You Care?
Run /context inside Claude Code (or hit the button in the desktop app) and you'll see something like "18% out of 1 million." That's your context window — the memory of that specific chat.
Here's the mental model: one word is roughly one token. It's not literally true, but it's close enough. Every word you send and every word Claude sends back accumulates against a budget of one million tokens. Hit the ceiling and its brain is full — it has to start over.
This matters for two reasons:
- Cost. The more the window fills, the more each turn in that session costs.
- Performance. The fuller the context window, the worse Claude Code performs. There's no exact number, but a good rule of thumb is that around 30% of your window, quality starts dropping off roughly linearly.
So anytime you're at 30-50%, ask whether it's time for a fresh chat. Your options:
/clearwipes everything and starts clean./compactsummarizes the conversation so far and starts a new session from that summary.- Or just open a new window.
And don't worry about "losing" your work — if Claude already generated a bunch of code, a fresh chat can just read it. You're never starting fully from scratch.
What Does CLAUDE.md Do?
CLAUDE.md is a markdown file Claude Code reads at the start of every single session. Whatever's in it gets treated like it's invisibly appended to every prompt you give. Tell it "make all your responses rhyme" and every response will rhyme. Stupid example — real concept: this is where your always-on instructions live.
Because it's injected into every session, whatever you put in there better be important. Less is more. Do you need the giant, robust CLAUDE.md that people have been hyping for months? No. Be careful about what earns a spot.
There are two levels:
- Global CLAUDE.md lives in your Claude Code folder and is read no matter what project or file you're in. This one is even more dangerous to bloat, because it follows you everywhere.
- Project CLAUDE.md lives inside an individual project folder — the right home for instructions specific to, say, your website build. Just remember the global file still applies on top of it.
Not sure if yours is bloated? Claude recently updated /doctor — run it and Claude will review your CLAUDE.md files and suggest what to trim.
What Are Claude Code Skills?
Skills are one of the most important concepts on this list. At their core, a skill is just a prompt — a reusable one you invoke instead of pasting.
There are two flavors:
- Capability skills make Claude Code better at something it's normally mediocre at. Anthropic's front-end design skill is a giant prompt telling Claude how to approach front-end work. Invoking
/frontend-designis identical to pasting that entire prompt in by hand — you've just saved yourself the copy-paste. - Automation skills tell Claude to do a series of steps in a specific order. My morning intel skill checks YouTube, Twitter, Reddit, and my Gmail for the last 24 hours of AI news, synthesizes it, and writes a report. Instead of spelling that out every time, I did it manually a few times, then told Claude Code to turn it into a skill. Because it's codified, I know it runs the exact sequence I want.
There are a million skills you can download, but the real power is building your own around how you actually work. The easiest way: invoke the skill-creator skill that ships with Claude Code (or ask Claude to download it), then tell it to look at what you've been doing over the last 30, 60, or 90 days and build skills from your real logs.
How Do Plugins, MCPs, and Connectors Work?
This is about giving Claude Code the ability to operate outside applications — Gmail, Notion, whatever — while you just sit there and watch it work.
The terminology gets confusing: connectors, plugins, MCPs, CLIs. Under the hood they're mostly the same thing — a connector or plugin is usually either an MCP or a CLI. Don't get spun up on the labels. What matters is that for nearly every major piece of software, there's a Claude Code connector that lets Claude actually use it.
Can't find it in the connectors directory? It's probably on GitHub — search the tool name plus "MCP" or "CLI." Installing is usually as simple as grabbing the URL, pasting it into Claude Code, and saying "install this CLI."
And you don't have to know which ones exist. When you're scoping a project, one of your prompt questions should be: are there MCPs, CLIs, or connectors that would make this easier? Claude will web-search, find them, and install them for you. At this point there's almost no reason to be copy-pasting Claude's output into some other app by hand — when in doubt, ask Claude if the integration exists.
What Are Hooks in Claude Code?
Hooks are simple rules: anytime X happens, Y happens. They lean into the automation side of Claude Code.
My favorite example: I have a hook that plays a sound every time Claude finishes a task. I'll kick off a job, tab out to do something else, and get an audible nudge the second it's done — my cue to get back to work.
Setting one up is just a prompt. Say something like "create a hook to play a noise every time a task is completed" and Claude wires it up. No idea what hooks you'd even want? Same trick as skills — have Claude review the last 30, 60, or 90 days of your work and suggest hooks that fit how you actually operate.
How Do You Automate Claude Code with Routines?
Hooks and automations pair naturally with skills. Take that morning intel skill — checking social, checking email, synthesizing a report. Do I want to invoke it by hand every day? Of course not. I want it running automatically.
In the desktop app, go to Routines → New Routine. You'll choose local or cloud, and you'll almost always want local — cloud routines run on Anthropic's servers, so anything that needs to touch files on your computer gets tricky.
The form is short: name it, describe it, and for instructions you barely need anything because the work is already codified in a skill — the instruction is just "run /morning-brief." That's the payoff of building skills first: once the task is proven, automating it is trivial. Pick your settings (auto mode, a model — Opus Medium is a solid middle ground), select the folder, set the schedule, hit create.
You can set up to 15 routines a day. And if you need more, you can have your actual computer kick Claude Code off via a script, so you're not truly capped at 15.
What Is Loop Engineering in Claude Code?
Loop engineering is how you set up autonomous loops that push toward a specific success criterion and improve over time. A good loop needs four parts:
- A trigger. Event-based or time-based. My morning report is time-based — it runs every morning at 8 a.m.
- A task. The actual work. For the report: scrape YouTube, Twitter, and Reddit, grab emails, synthesize, write the report.
- Success criteria. This is where it gets tricky. What makes the report "good"? Maybe a minimum number of YouTube sources and a specific set of Twitter insights — objective measures — plus a human review where I grade it 1 to 10. When success is subjective, loop engineering gets harder.
- A way to log the data. So you can keep improving.
The difference between subjective and objective success is everything. If you're building a Python app whose goal is to run in one second, grading each iteration is easy — 2 seconds, then 1.9 seconds, and you know you're moving the right direction. For a subjective report, you need that human-in-the-loop grade and a log, so the next morning's run can look back at what earned a 9 or a 10 and try to replicate it.
That's the whole picture: create it, give it a trigger, define the task, define what success looks like, and log every run. Do that and a loop that runs day after day — always checking the goal against past iterations — is genuinely self-improving. As simple or as complex as you want.
What Are Dynamic Workflows and Ultracode?
Ultracode is an effort setting. When it's on, you're giving Claude Code permission to turn whatever task you hand it into a dynamic workflow — a JavaScript script that orchestrates subagents at scale. Not five or ten subagents. Potentially hundreds, arranged in a pattern custom-built for your specific problem.
Six example architectures:
- Classify-and-act — a classifier subagent routes tasks to specialized agents.
- Fan-out-and-synthesize and adversarial verification — the built-in deep research skill is actually a dynamic workflow that combines both. Run
/deep-researchand it fans out 20-50 subagents to gather info from the web, then uses adversarial verification to check each claim before writing the final synthesized report. - Generate-and-filter, tournament style (repeated attempts judged down to a single winner), and loop-until-done (which looks a lot like loop engineering).
The catch: dynamic workflows are very expensive. Run deep research on Fable and it'll spawn all hundred subagents as Fable agents. But you're not stuck with defaults — you can tell it "only use Opus agents" or "use 20 agents max." Give it no parameters and you will burn through millions of tokens and crush your usage.
So use it sparingly. Deep research is a great tool — even on Fable it runs somewhere around 3-5% of your total weekly usage on the $200/month plan. And if you just want to let ultracode go wild on a custom workflow, do it near the end of the week when your usage is about to reset, so a single run doesn't torch everything.
Frequently Asked Questions
What model should I use in Claude Code by default?
Fable 5 Medium for most tasks. If you hit usage limits on Fable, switch to Opus 5 Medium — it tends to be less verbose at that setting. Push up to high only when a task is genuinely complex, and generally avoid Sonnet 5.
When should I start a new Claude Code chat?
Watch your context window with /context. Performance starts dropping off around 30% of the window, so anytime you're between 30% and 50%, consider /clear to wipe it, /compact to summarize and continue, or just opening a new window. Claude can re-read existing code, so you're not starting over.
Do I need a big, complicated CLAUDE.md file?
No. Less is more. CLAUDE.md is injected into every session, so bloat costs you every time. Keep it to instructions that are genuinely always relevant, and run /doctor to have Claude flag anything bloated.
What's the difference between a skill and a hook?
A skill is a reusable prompt you invoke to do a task — either making Claude better at something or running a fixed sequence of steps. A hook is an automatic rule that fires on an event: when X happens, Y happens (like playing a sound when a task finishes).
Is deep research a dynamic workflow?
Yes. The built-in deep research skill is a dynamic workflow that fans out across dozens of subagents to gather information, then runs adversarial verification on the findings before writing a synthesized report. You can cap the agent count or force a specific model to control cost.
If you want to go deeper into Claude Code, join the free Chase AI community for templates, prompts, and live breakdowns. And if you're serious about building with AI, check out the paid community, Chase AI+, for hands-on guidance on how to make money with AI.


