Make your AI remember, and brief you every morning
Two free tools from the course. Ten minutes to set up. They work with Claude Code, and the ideas work with any AI assistant.
Your AI forgets everything between sessions. Every morning you spend the first half hour working out where you are. These two fix that.
1. A memory file that actually changes behaviour
Memory files only work if each one carries its reason. A rule without its reason gets misapplied: the AI follows it where it doesn't fit, or drops it where it does.
One fact per file. Rule, Why, How to apply:
---
name: <short-kebab-case-name>
description: <one line: when this memory matters; used to decide relevance>
type: <user | feedback | project | reference>
---
Rule: <the rule or fact, in one or two sentences>
Why: <the incident or reason behind it. A rule without its reason gets misapplied.>
How to apply: <what to do differently, concretely>
Related: [[<other-memory-name>]]
<!-- One fact per file. Never secrets. Keep an index file (one line per memory) that's loaded every session. -->
Here are three written from real mistakes, plus the index file your AI reads every session:
---
name: discuss-before-acting
description: Agree the plan in words before changing anything; act only on an explicit "go"
type: feedback
---
Rule: Before any change to code, config or a live system, describe the problem, the fix and its effect in plain words, then wait for an explicit "go".
Why: I gave feedback on a report and the AI went straight to editing code and opening a pull request on a system executives read every morning.
How to apply: When I say "fix this" or forward someone's feedback, reply with problem → proposed fix → effect, then ask. An opinion request is not a go.
Related: [[preview-means-local]]
---
name: preview-means-local
description: Preview side-effecting jobs from local code, never via a runtime "preview" flag
type: feedback
---
Rule: To preview a job that posts, sends or writes, run it locally from the repo with output to the terminal. Don't trust a PREVIEW setting passed when the deployed job is run.
Why: A "preview" run of a morning digest posted to the real executive channel. The setting never reached the job itself, and the AI had called it safe without checking.
How to apply: Before any run that could post or write, say plainly that it could. Confirm the mode in the job's own logs before trusting it.
Related: [[discuss-before-acting]]
---
name: which-github-account
description: Which GitHub account owns which repos; a 404 usually means the wrong account
type: reference
---
Rule: Work repos need the work GitHub account (check with `gh auth status`; switch with `gh auth switch`). Personal repos use the personal account.
Why: A "repository not found" error looked like the repo had been deleted. It was the wrong account signed in.
How to apply: When something "doesn't exist", check which account is active before anything else. Don't work around it with one-off tokens.
# Memory index
One line per memory. Your AI reads this every session and opens a file when it's relevant.
- [Discuss before acting](discuss-before-acting.md): agree the plan in words first; act only on "go".
- [Preview means local](preview-means-local.md): never trust a "preview" flag on a job that posts; preview from local code.
- [Which account](which-github-account.md): work repos need the work GitHub account; a 404 usually means the wrong one.
How to use it: every time you correct your AI, ask yourself "should this be a memory?" If yes, write one file, add one line to the index, and point your AI at the index (for example from your CLAUDE.md).
2. A start-of-day brief
A skill that reads yesterday's notes and today's inputs, then gives you Waiting on you · Still blocked · Today (numbered, each with "why now") · Follow-ups · Worth raising.
---
name: start-of-day
description: My start-of-day brief. Reads yesterday's notes and today's inputs, then lists what's waiting on me, what's blocked, and a numbered plan for today. Use when I say "start of day", "SOD" or "morning brief".
---
# Start-of-day brief
Build my brief for today. **Never send anything.** Output the brief in chat only.
## Read (in this order)
1. Yesterday's end-of-day notes: `notes/eod/` (latest file). Take its "Next steps" as the starting list.
2. My memory and the daily checklist (if there is one).
3. New messages since yesterday's EOD: <where: Slack DMs, email, tickets>.
4. Today's calendar.
5. For every item marked blocked yesterday: **check whether it's cleared** (PR status, a reply, a file's modified time). Say what you checked.
## Write (exactly these sections)
**Waiting on you:** things only I can do (approve, reply, decide). Numbered.
**Still blocked:** waiting on someone else. Who, since when, and what would unblock it.
**Today:** numbered, most important first. Each line ends with "why now: …".
**Follow-ups:** messages to send (draft them, don't send).
**Worth raising:** anything odd you noticed (one line each), or "nothing".
## Rules
- Action points, not topics ("Approve the backfill note", not "backfill").
- "Waiting on someone" is not "blocked". Keep them apart.
- Every line says what it's based on, or is marked (unverified).
- Short. If it doesn't fit on one screen, cut.
Install it (Claude Code): save it as ~/.claude/skills/start-of-day/SKILL.md. Edit the "Read" section so it points at where your notes and messages live. Then say "start of day".
Schedule it for your morning if you like. It drafts; it never sends.
Your turn
Write your first memory file today, from a real correction you gave your AI this week.