# Init Memory

> Scaffold the per-repo session-memory structure (docs/NOW.md, docs/log/ daily journals, CLAUDE.md protocol section). Use when the user says "init memory", "onboard this project", or accepts the new-project memory offer. Also handles "no memory" opt-out.

- Skill: `martimramos/init-memory` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add martimramos/init-memory`
- Raw SKILL.md: https://api.skillmd.com/api/skills/martimramos/init-memory/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: martimramos (https://skillmd.com/u/martimramos)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/martimramos/init-memory

---


# init-memory: scaffold per-repo session memory

Scaffold the Cairn session-memory methodology in the current repo. The design principle is **files are earned, not scaffolded**: only Tier 0 is created here, and everything else appears on first genuine need.

## If the user is ACCEPTING (default path)

1. **Guard:** if `docs/NOW.md` already exists, say the repo already has the structure and stop.
2. **Ask exactly one question:** "What is this project, in one sentence?" Use it to seed NOW.md. Do not ask anything else.
3. **Create Tier 0:**
   - `docs/NOW.md` from `templates/NOW.md` (in this skill's directory), seeded with the user's answer and today's real date.
   - `docs/log/YYYY-MM-DD.md`. Get the date from `date +%F`, never from memory. First content: `## Session HH:MM - goal: scaffold session memory` (time from `date +%H:%M`).
4. **Wire CLAUDE.md:** append the full content of `templates/protocol.md` to the repo's `CLAUDE.md`. Create `CLAUDE.md` if missing. If it exists, append after existing content with a blank line. Skip entirely if it already contains `## Session Memory Protocol` (never duplicate).
5. **Do NOT create** `GOTCHAS.md`, `REFERENCE.md`, or `ARCHITECTURE.md`. They are created on first genuine need, per the protocol. Do not mention them as "missing".
6. If `.claude/.no-memory` exists in the repo, delete it (the user changed their mind).
7. Report what was created and suggest committing the new files. Do not commit unless asked.

## If the user is DECLINING ("no memory", "don't ask again")

Create an empty marker file `.claude/.no-memory` in the repo root (create the `.claude/` dir if needed) and confirm: the memory offer will never appear again in this repo. They can run `/init-memory` later to opt back in.

