Claude is stateless. Every session starts from zero.
This is not changing. It is an architectural fact of how large language models work, and no amount of prompt crafting changes it. What you can change is what Claude knows before you type your first word.
The solution is context engineering — building a structured, persistent representation of your professional world that Claude can read at the start of every session. This guide covers four techniques that work today, with a template for each. Then it explains where the ceiling is, and what a fully automatic version looks like.
The Memory Problem
Every AI conversation begins the same way: the model knows nothing about you.
Not your name. Not your clients. Not the decision you made in January that every subsequent decision should be consistent with. Not the client who tends to go quiet before they say yes. Not the project that is three weeks behind and needs a careful hand.
You compensate by pasting in background. You re-explain. You rebuild the context that was there last time.
This is the manual version of what should be automatic. These four techniques make it systematic.
Technique 1: CLAUDE.md — The Identity Layer
What It Does
Claude Code reads a file called CLAUDE.md at the start of every session. Every word in that file is in Claude's context before you type anything.
This is the fastest fix. It costs nothing. It takes 20 minutes to set up and saves that time on every session thereafter.
What to Put In It
CLAUDE.md should answer the questions Claude would otherwise have to ask:
- Who are you and what do you do?
- Who are your primary clients or collaborators?
- What are your active projects?
- What are your working preferences?
- What conventions should Claude always follow?
Keep it compressed. The file is loaded in full every session — long files slow down session start and use context window space that should go to your actual work. Aim for 500–800 words.
The Template
# Identity
Name: [Your name]
Role: [What you do — 1-2 sentences]
Location: [City, timezone]
# Active Clients
- **[Client A]** — [What they do, what you're doing for them, status]
- **[Client B]** — [What they do, what you're doing for them, status]
- **[Client C]** — [What they do, what you're doing for them, status]
# Active Projects
- **[Project A]** — [Client, goal, current status, deadline if relevant]
- **[Project B]** — [Client, goal, current status]
# Working Preferences
- Communication style: [How you prefer Claude to communicate]
- Output format: [Default format for responses]
- What to skip: [Things Claude should not do by default]
# Conventions
- [Any tool preferences, naming conventions, or standing rules]
- [Any ongoing constraints — budget, timeline, audience]
The Rule
Update CLAUDE.md whenever a client changes status. When a project ships, remove it. When a new engagement starts, add it. A stale CLAUDE.md is worse than none — Claude will operate on false premises.
CLAUDE.md is the floor. Every other technique builds on top of it.
Technique 2: Contact Files
What They Do
For any relationship that matters — clients, partners, investors, key collaborators — maintain a dedicated contact file. Load the relevant file at the start of any session involving that person.
Contact files solve a problem CLAUDE.md cannot: depth. Your five-line client summary in CLAUDE.md gives Claude a starting point. A full contact file gives Claude the texture of who that person is, what you have built together, and what a smart interaction looks like.
What to Put In Them
- Name, role, company
- Relationship status (active client / warm prospect / dormant / etc.)
- How you met and when the relationship started
- Recent interactions — last 2–3 significant touchpoints
- Active projects together
- Communication preferences (responsive vs. slow, formal vs. casual, etc.)
- Outstanding commitments — yours and theirs
- Relevant background that shapes how you interact
Keep files in a contacts/ directory. One file per person. File name: firstname-lastname.md.
The Template
# [Full Name]
**Role:** [Title, Company]
**Status:** [Active client / Prospect / Dormant / etc.]
**Relationship start:** [Month Year]
**How we met:** [1 sentence]
## Recent Interactions
- **[Date]** — [What happened, what was discussed, what was decided]
- **[Date]** — [What happened]
- **[Date]** — [What happened]
## Active Work Together
- [Project A] — [Status, next step]
- [Project B] — [Status]
## Communication Profile
- Responsiveness: [Fast / Slow / Variable]
- Preferred channel: [Email / Slack / Phone]
- Style: [Formal / Casual / Direct / etc.]
- Notes: [Anything that shapes how you communicate]
## Outstanding Commitments
- **Mine:** [What you owe them, by when]
- **Theirs:** [What they owe you, by when]
## Background
[2-5 sentences of relevant context — business situation, goals, constraints, things they care about]
How to Use Them
When you open a session about Marcus, load his file: Please read contacts/marcus-chen.md before we start. Claude reads the file, has full context, and every answer that session draws on that history.
Contact files turn generic AI answers into answers that know who you're dealing with.
Technique 3: The Decision Log
What It Does
Decisions compound. The strategy you chose in January should shape the opportunity you evaluate in April. The vendor you passed on should be accessible when someone asks for a recommendation. The commitment you made should surface when a conflicting one appears.
A decision log gives Claude access to your reasoning history — not just the decisions, but why you made them.
What to Put In It
One entry per significant decision. Decisions about strategy, vendors, clients, pricing, hiring, positioning. Not every micro-decision — the ones that have downstream consequences worth tracking.
Store entries in a single file: decisions.md.
The Template
## [Decision Title]
**Date:** [YYYY-MM-DD]
**Status:** [Active / Superseded / Reviewing outcome]
**Decision:** [What was decided — 1-2 sentences]
**Options considered:**
1. [Option A] — [Brief description]
2. [Option B] — [Brief description]
3. [Option C] if applicable
**Why this path:**
[2-4 sentences. The actual reasoning — not the post-hoc justification.
What did you know, what did you prioritize, what did you trade off?]
**Who was involved:** [Names if relevant]
**Evidence that informed it:** [Data, conversations, observations]
**Outcome:** [Fill in later — what actually happened]
---
How to Use It
Load decisions.md at the start of any strategy session. Ask Claude to cross-reference a new decision against the log. Review it quarterly — fill in the Outcome fields, look for patterns.
The Outcome field is where the compounding begins. Decisions with outcomes turn a log into a learning system.
A decision log is institutional memory that travels with you.
Technique 4: Meeting Debriefs
What They Do
Meetings produce decisions, commitments, relationship signals, and context — and then disappear into a Zoom recording nobody re-watches.
A meeting debrief is a structured 5-minute writeup you create immediately after any significant conversation. It captures what actually happened, not just a summary.
Over time, these debriefs become the relationship history your contact files reference. They are the source material for everything else.
What to Put In Them
Store debriefs in a meetings/ directory. File name: YYYY-MM-DD-client-name.md.
The Template
# Meeting Debrief — [Person/Group] — [Date]
**Duration:** [X minutes]
**Attendees:** [Names]
**Context:** [1 sentence — what was the purpose of this meeting?]
## What Was Discussed
[3-5 bullet points. The actual content — not "we discussed strategy"
but "they said they want to move to paid by Q3 but the board
hasn't approved budget yet"]
## Decisions Made
- [Decision A]
- [Decision B]
## Commitments
**I committed to:**
- [Action, by when]
**They committed to:**
- [Action, by when]
## Relationship Signals
[1-3 sentences. Tone, energy, what was left unsaid, how engaged
they seemed. This is the texture that contact files need.]
## Next Steps
- [Who does what, by when]
## Cross-references
- Updates to: [Contact file name]
- Related decision: [Decision title if applicable]
- Related project: [Project name if applicable]
The Rule
Write the debrief the same day. Memory degrades fast. A debrief written three days later misses the relationship signals entirely.
Meeting debriefs are where context enters the system. Everything else is organization.
How These Compound
The four techniques reinforce each other.
CLAUDE.md gives Claude your baseline identity. Contact files give Claude depth on specific relationships. The decision log gives Claude your reasoning history. Meeting debriefs feed fresh context into both contact files and the decision log.
When all four are in place, a session about Marcus starts with: who he is, what you have built together, the decision you made last quarter that affects this conversation, and the debrief from your last meeting two weeks ago.
Claude does not answer as if it is hearing about Marcus for the first time. It answers as if it has been in the room for the last year.
Each new piece of context makes every future interaction smarter. Not because the model improved. Because the context did.
Gmail sync, Calendar sync, transcript processing, and cross-referencing happen automatically. You stop maintaining the system. The system maintains itself.
See Software of YouThe Maintenance Ceiling
These four techniques work. They also all require manual maintenance.
You write the debrief. You update the contact file. You add the decision log entry. You keep CLAUDE.md current.
At 5 active clients and 10 active projects, this is manageable. Probably 30–45 minutes per week.
At 20 clients, 40 contacts, and two years of decisions, the maintenance overhead becomes the job. Files go stale. Debriefs get skipped. The contact file for your most important client is six months out of date because there was always something more urgent.
Manual context systems also have a cross-referencing problem. Your contact file for Sarah does not automatically update when you log a decision that affects her project. Your decision log does not surface when you are writing an email to the person who was in the room when the decision was made.
The cross-references are the most valuable part — and they are the hardest to maintain by hand.
The Automatic Version
Software of You is a $149 one-time Claude Code plugin that automates the context engineering layer entirely.
It builds and maintains all four layers automatically:
- Gmail sync — last 50 emails, linked to contacts by address, available in every session
- Calendar sync — next 14 days plus last 7 days, with attendees cross-referenced to contacts
- Conversation intelligence — import a meeting transcript and it extracts commitments, talk ratios, relationship signals, and updates the contact record automatically
- Decision log — structured entries with options, reasoning, and outcome tracking, built into the interface
- CRM — contacts with full interaction history, relationship scores, and follow-up nudges
- Journal and Notes — daily context that cross-references to contacts and projects
All data lives in a local SQLite database at ~/.local/share/software-of-you/soy.db. No cloud. No subscription. No lock-in.
Every session starts with full context. The system surfaces what is relevant — a contact going cold, a commitment overdue, a decision that applies to what you are working on today.
You do not maintain it. It maintains itself.
Get Software of You at softwareof.you — $149 one-time →
Frequently Asked Questions
Can Claude remember things between sessions?
Not by default. Claude is stateless — every session starts from zero. But you can build systems that give Claude persistent context: a CLAUDE.md identity file, contact files for key relationships, a decision log, and meeting debrief notes. These files load at the start of each session, giving Claude access to your history before you ask your first question.
What is CLAUDE.md and how does it give Claude memory?
CLAUDE.md is a markdown file that Claude Code reads automatically at the start of every session. It functions as a persistent identity layer — you write your name, role, active clients, preferences, and working context into it, and Claude has that baseline available before you type anything. It is the fastest and most accessible way to give Claude persistent context.
How should I structure contact files for Claude?
Each contact file should include: name and role, relationship status, how you met, last interaction date and summary, active projects together, communication preferences, commitments outstanding, and relevant background. Store files in a contacts/ directory and load the relevant file at the start of any session involving that person. Keep entries short — Claude needs the essence, not the full history.
What should a decision log include?
A decision log entry should capture: the decision made, the date, the options considered, the reasoning for choosing this path, who was involved, what evidence informed it, and a field for tracking the actual outcome later. The outcome field is critical — it closes the loop and lets Claude surface pattern-level insights when you review past decisions.
What is the maintenance ceiling for manual context systems?
Manual context systems — CLAUDE.md, contact files, decision logs, meeting debriefs — work well up to a threshold of roughly 10–15 active relationships and 5–10 active projects. Beyond that, maintaining the files manually starts costing more time than the system saves. Files go stale, entries get skipped, and cross-referencing breaks down. Software of You ($149 one-time) automates this layer — Gmail sync, calendar sync, transcript processing, and cross-referencing happen automatically.
Free during early access. Eight modules. All four context layers, maintained automatically. Your data on your machine.
Get Software of You