Loading learning content…
Loading learning content…
The synthesis lesson: the one constraint everything follows from, the six prompt patterns that transfer to any task, and the five failure patterns to avoid.
Read through the lesson, mark it complete when the concept is clear, then move to the next lesson in the sequence or jump back to the module map.
Almost every Claude Code best practice is downstream of a single constraint: the context window fills fast, and performance degrades as it fills. Claude's context holds your whole conversation — every message, every file it reads, every command output — and as it gets full, Claude starts "forgetting" earlier instructions and making more mistakes.
The second constraint: Claude stops when the work looks done. Without a check it can run, "looks done" is the only signal available — and you become the verification loop, noticing every mistake by hand.
So the whole craft reduces to two habits: keep context clean, and give Claude a way to close its own loop.
The single highest-leverage habit. A "check" is anything that returns a pass/fail Claude can read: a test suite, a build exit code, a linter, a script that diffs output against a fixture, or a screenshot compared to a design.
If you can't verify it, don't ship it.
These transfer to any task. Recognizing them lets you adapt any prompt or write your own:
For anything non-trivial, separate research from execution. Explore (read the relevant code), plan (get a file-list and approach before any edits), implement (code against the plan, verifying as you go), commit. Skip planning only when you could describe the diff in one sentence — a typo, a log line, a rename.
A prompt that works once is worth more if it's repeatable. Turn a good prompt into a skill (a reusable /command), record a convention you keep correcting into CLAUDE.md so every session starts with it, or enforce a must-happen step with a hook. That is how a single prompt compounds into a workflow.
| Pattern | Fix |
|---|---|
| Kitchen-sink session — unrelated tasks pile up and pollute context | clear context between unrelated tasks |
| Correcting over and over — context fills with failed approaches | after two failed corrections, reset and write a better prompt |
| Over-stuffed CLAUDE.md — rules get lost in the noise and ignored | prune ruthlessly; for each line ask "would removing this cause a mistake?" |
| Trust-then-verify gap — plausible code that misses edge cases | always provide a check; if you can't verify it, don't ship it |
| Infinite exploration — "investigate X" reads hundreds of files | scope it narrowly, or delegate to a subagent so it doesn't fill your context |
Master these and you're not just using Claude Code — you're getting the most out of it.