Most people think using Claude Code is about writing better prompts.
It’s not.
The real unlock is structuring your repository so Claude can think like an engineer.
If your repo is messy, Claude behaves like a chatbot.
If your repo is structured, Claude behaves like a developer living inside your codebase.
Your project only needs 4 things:
• the why → what the system does
• the map → where things live
• the rules → what’s allowed / forbidden
• the workflows → how work gets done
I call this:
The Anatomy of a Claude Code Project 👇
━━━━━━━━━━━━━━━
1️⃣ CLAUDE.md = Repo Memory (Keep it Short)
This file is the north star for Claude.
Not a massive document.
Just three things:
• Purpose → why the system exists
• Repo map → how the project is structured
• Rules + commands → how Claude should operate
If CLAUDE.md becomes too long, the model starts missing critical signals.
Clarity beats size.
━━━━━━━━━━━━━━━
2️⃣ .claude/skills/ = Reusable Expert Modes
Stop repeating instructions in prompts.
Turn common workflows into reusable skills.
Examples:
• code review checklist
• refactoring playbook
• debugging workflow
• release procedures
Now Claude can switch into specialized modes instantly.
Result:
More consistent outputs across sessions and teammates.
━━━━━━━━━━━━━━━
3️⃣ .claude/hooks/ = Guardrails
Models forget.
Hooks don’t.
Use hooks for things that must always happen automatically.
Examples:
• run formatters after edits
• trigger tests after core changes
• block sensitive directories (auth, billing, migrations)
Hooks turn AI workflows into reliable engineering systems.
━━━━━━━━━━━━━━━
4️⃣ docs/ = Progressive Context
Don’t overload prompts with information.
Instead, let Claude navigate your documentation.
Examples:
• architecture overview
• ADRs (engineering decisions)
• operational runbooks
Claude doesn’t need everything in memory.
It just needs to know where truth lives.
━━━━━━━━━━━━━━━
5️⃣ Local CLAUDE.md for Critical Modules
Some areas of your system have hidden complexity.
Add local context files there.
Example:
src/auth/CLAUDE.md
src/persistence/CLAUDE.md
infra/CLAUDE.md
Now Claude understands the danger zones exactly when it works in them.
This dramatically reduces mistakes.
━━━━━━━━━━━━━━━
Here’s the shift most people miss:
Prompting is temporary.
Structure is permanent.
Once your repository is designed for AI:
Claude stops acting like a chatbot...
…and starts behaving like a project-native engineer. 🚀
@DaveMilbo I note there's been a massive shift in the government's stance. They've gone from saying nothing and doing nothing to... saying something and doing nothing.
@blakandblack As an Aussie that lived for a time in America, I can’t imagine Australians will be lining up for American beef. Personally when I lived in the states I would buy imported beef and cheese from Europe because I found it so difficult to find the quality of produce I was used to.
"The biggest problem with this isn’t the hyper-realistic video (there are still some telltale signs that the video isn’t real, if you know what to look for); the problem is more insidious: we’ve created plausible deniability for reality."
#veo3#ai
https://t.co/Xzr0mPOaNT
First Strike: Coalition Nukes Itself
"So, the Nationals wanted to vote with the Liberal party only when they felt like it, which is less a ‘Coalition’ and more of a ‘seats-with-benefits’ type situation."
#lnp#coalition#auspol
https://t.co/6fQYNxyzyQ
“Something that the ensuing flood of think pieces claim boldly is that ‘Australia rejected the Dutton-Murdoch agenda’ and Australia ‘rejects division’ by choosing Albanese. I don’t know…have you met Australians?”
#auspol#AusVotes2025#lnp#dutton
https://t.co/9o0C4dJCgJ