5 Real Lessons from 2 Months with Claude Code

EDIBLOG · 2-MONTH RETRO

5 Real Lessons from 2 Months with Claude Code

Bottom line. Used well, the amount of work humans don’t have to do really does grow. After 2 months of daily use, here are the 5 things that actually paid off. The key: you don’t need to nail it on day one.

CLAUDE.md Slash commands Skills Harness engineering 3-file pattern

TIP 01 · CONTEXTCLAUDE.md — the file that stops you saying the same thing twice

Every new Claude Code session is a stranger, not the colleague you’ve been working with. All the rules and preferences you agreed on are gone.

But drop a CLAUDE.md in the folder and every new session reads it automatically. Context bridges across sessions.

RULE

One context = one folder = its own CLAUDE.md

I keep a separate folder per project and a separate CLAUDE.md per folder. Same Claude, different folder, completely different behavior.

Don’t try to make it perfect on day one. Run the cycle — ship, retro, patch — enough times and the CLAUDE.md grows itself.

TIP 02 · SHORTCUTSlash commands — pasted the same prompt 3 times? Extract it now

Before slash commands, I was copy-pasting the same prompt every time. Beyond the time cost, miss one line and the output goes sideways.

Now it lives in .claude/commands/run-daily.md and I invoke it with /run-daily. If I’ve typed the same prompt 3 times, I extract it on the spot.

  • Folder = context. Each project keeps its own commands folder. 12 projects × 3–7 each = ~30 commands running
  • Naming convention: run-daily / run-weekly / run-market-daily — unified prefix makes them scannable
  • Meta description: a description: line at the top of the .md shows up in the catalog when you type / — you can’t forget what they do
  • Master index: a one-line table of every command in CLAUDE.md — even if you forget, the Claude you’re working with won’t

TIP 03 · OFFLOADSkills — a heavy CLAUDE.md explodes your token bill

CLAUDE.md is powerful but it has a trap. The whole file gets read on every new session, burning tokens each time. The more rules accumulate, the more the cost compounds.

So anything that doesn’t need to be read every time goes into Skills. Claude fetches them only when they’re actually needed.

SKILL EXAMPLES (live setup)

3 Skills putting CLAUDE.md on a diet

add-launch-job — checklist for adding a new launchd job. Only needed when I’m creating one, so no reason to load it every session.

blog-style-guide — 8 patterns for blog writing. Only invoked when I’m actually drafting.

captcha-recovery — recovery steps for captcha and corrupted sessions. Active only when something breaks.

The split: needed every session → CLAUDE.md. Needed sometimes → Skills.

TIP 04 · SAFETYHarness engineering — hand over all the keys, but hard-code the bright lines

If you’re going to give Claude Code full permissions and still sleep at night, you need to hard-code the “never do this” rules in code. I call this harness engineering.

▮ DESTRUCTIVE GATE PreToolUse hook

Blocked: folder deletion · git force-push · disabling jobs · force-killing processes · docker removal · DB table drops

The point: it’s not always on. The gate only blocks when the Telegram bot is driving Claude unattended while I’m out. When I’m sitting next to it reviewing, everything passes. The trick isn’t blanket safety mode — it’s “guard the moments I can’t review.”

The more authority you delegate, the more explicit the bright lines have to be. If you want to expand the automation surface, grow the safety net alongside it. That’s the actual sequence.

TIP 05 · IDENTITY3-file pattern — give Claude your alter ego

In claude.ai’s Projects feature, register 3 files as system prompt attachments and every conversation auto-loads your identity, voice, and don’ts. Once I wired this up, it really did feel like a second me showed up.

identity.md

Who you are. “Solo operator running an IT blog in Korea.”

voice.md

How you talk. 3–5 paragraphs you wrote that sound most like you.

anti-ai.md

What to avoid. AI-flavored phrasing, formulaic structures, marketing puffery.

On the Claude Code side, CLAUDE.md and Skills play the same role. Wire both surfaces and the output matches what I’d do by hand — sometimes better.

“Your CLAUDE.md doesn’t need to be perfect on day one. Run the loop — ask, ship, retro, patch — a lot of times. One day you look up and your CLAUDE.md has grown itself.”

— Eddie · after 2 months with Claude Code

Used well, the work humans don’t have to do really does grow. Don’t try to perfect it on day one — grow with the AI.

Disclaimer: Personal 2-month operating notes. No ads, no affiliates.


This post is part of an English mirror of a Korean dev experiments blog. Cross-posted for the global developer audience.




Leave a Comment