Series: Weekend at Claude's — misadventures in building a production app with an AI anyone could mistake for the person who's going to make the whole thing happen
I was waiting on an APK build. Killing time. I asked Claude Code a question I'd been half-thinking about for a while:
"Am I using Claude Code wrong? Are these long continuous sessions the right way to use Claude Code for projects like this? Any recommendations to improve?"
The answer surprised me — not because it was critical, but because it was so practical:
"Long continuous sessions like this one are actually the right call for Aphilaty specifically, because the changes span multiple layers that share context — knowing that Firestore rules silently reject queries with per-document get() calls shaped every subsequent fix. That's not the kind of thing you want to re-derive each session."
Then it gave me four specific recommendations. The first one stopped me:
"Put the hard-won patterns in CLAUDE.md — the 'never compound-filter with in + other filters unless you've created a composite index' lesson should be there so the next session starts knowing it, not rediscovering it on the third broken query."
Yes. Obviously. Why wasn't I doing this?
The Follow-Up Question
I asked how to do it:
"Is 'save the key item summary for this session to CLAUDE.md' the right command at the end of a session? Any way to make that a standard action I can't forget?"
Claude Code's response:
"There's no built-in command for this, but you can create a custom slash command — a markdown file in
.claude/commands/whose name becomes the slash command. One-time setup, then/session-wrapat the end of any session handles it automatically."
And then — without further prompting — it created both commands.
What It Built
| Command | What it does |
|---|---|
/session-wrap | Reviews the conversation for hard-won patterns → appends them to CLAUDE.md, updates feature-status memory, prints a git status with a reminder to commit before closing |
/session-start | Wipes Firestore, re-seeds test accounts, prints credentials and pipeline timing reminder, shows uncommitted changes |
Two custom slash commands. One-time setup. Now part of every Claude Code session.
The flow:
1. End of session: /session-wrap → learnings written to CLAUDE.md → commit reminder printed 2. Commit (so the file is saved to git) 3. Next day: open Claude Code → CLAUDE.md loads automatically into context 4. /session-start → database wiped, test data seeded, git status shown, ready to work
I asked about CLAUDE.md loading — whether /session-start needed to explicitly read it. The answer:
"It happens automatically — you don't need to do anything.
CLAUDE.mdis loaded into every session's context window at startup, before you type a single message. Claude Code reads it from the repo root automatically. The/session-startcommand just runs on top of that already-loaded context."
What This Is and Why It Matters
Compare this to the Claude AI approach in Vol. 11: I maintain context files manually, upload them at the start of each session, and update them at the end. Deliberate, reliable, mine to maintain.
The Claude Code approach is different in kind. I asked a general question — "am I using this right?" — and the answer included Claude Code building tooling to solve a problem I'd identified. The commands are stored in the repo. They run in every future session. They get smarter as CLAUDE.md grows.
I didn't ask for /session-wrap. I asked how to save session learnings. Claude Code heard the underlying need and built the right solution — custom slash commands in .claude/commands/ — rather than just answering the surface question.
Human-to-Claude calibration setting #11: Ask Claude Code how it wants to work, not just what you want it to build.
The open question — "am I using this right?" — unlocked more value than any specific feature request I'd made in that session. Claude Code understands its own operating constraints. It knows what degrades across sessions, what needs to be persisted, what a clean re-entry point looks like. Asking it to reflect on the workflow is a legitimate and productive use of the tool.
I added the commit reminder. Claude Code updated /session-wrap to include it. One more thing I can't forget.
Aphilaty is a privacy-first community coordination app. aphilaty.com