# Session Review

> Wraps up a session with two outputs — a sweep into the auto-memory system to preserve reusable insights for future Claude sessions, and a human-readable recap saved to the Obsidian notes vault. Use for retrospectives, debriefs, post-mortems, or end-of-session reflection.

- **Type:** Skill
- **Install:** `agentstack add skill-philoserf-claude-code-config-session-review`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [philoserf](https://agentstack.voostack.com/s/philoserf)
- **Installs:** 0
- **Category:** [Productivity](https://agentstack.voostack.com/c/productivity)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [philoserf](https://github.com/philoserf)
- **Source:** https://github.com/philoserf/claude-code-config/tree/main/skills/session-review

## Install

```sh
agentstack add skill-philoserf-claude-code-config-session-review
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Session Review

End-of-session wrap-up that produces two distinct outputs:

1. **Memory sweep** — write reusable session insights into the auto-memory system (`~/.claude/projects//memory/`) so future Claude sessions in this project carry the context forward.
2. **Human recap** — a readable summary saved to the Obsidian `notes` vault for the user to skim later.

These outputs serve different audiences: auto-memory is for future Claude; the Obsidian recap is for the user.

## Autonomy

Exercise judgment during analysis and drafting. Once the recap is drafted and shown to the user, proceed with all writes (memory files and Obsidian save) without requesting further confirmation.

## When to Use

- After significant debugging, problem-solving, or design work
- When user preferences or project facts emerged that weren't already captured
- At the natural end of a working session worth reflecting on

## Process

### 1. Walk the session

Reread all human and assistant turns in the current session, including tool call results, from the first message to the most recent. Use the 5-dimension framework in [analysis-dimensions.md](references/analysis-dimensions.md) to structure the walkthrough, watching for:

- The user correcting an approach (feedback)
- A user preference, role, or workflow detail surfacing (user)
- A project goal, deadline, decision, or motivation coming up (project)
- An external system, dashboard, or doc being referenced (reference)
- A technical insight that was non-obvious at session start and would change how a future session approaches this codebase or problem domain

### 2. Memory sweep

Apply the criteria from `~/.claude/CLAUDE.md` ("auto memory" section):

- **Keep:** durable facts about the user, persistent feedback rules, ongoing project context, pointers to external systems.
- **Skip:** code patterns derivable from current state, git-tracked history, ephemeral task details, anything already covered in CLAUDE.md, **and any item containing credentials, API keys, passwords, or PII** — if such content surfaced, record only the category (e.g., "API key rotation discussed") without the value.

**Cap:** at most 5 new memory files per session. If more qualify, prioritize by durability (user preferences > project facts > technical insights) and note the rest in the recap under "Suggested CLAUDE.md updates."

Then execute these sub-steps in order:

**2a.** Run `mkdir -p ~/.claude/projects//memory/` and read `MEMORY.md` (treat as empty if it does not yet exist).

**2b.** For each kept item:

- If a matching entry exists in `MEMORY.md`: read the linked file, update changed fields, rewrite the file.
- If no match: write a new `.md` with frontmatter per `~/.claude/CLAUDE.md`, then append a one-line index entry to `MEMORY.md`.

**2c.** Verify `MEMORY.md` has no duplicate slugs after all writes.

If no items qualify, say so in the recap and skip 2a–2c.

### 3. Human recap

Draft a narrative recap covering:

- **What we worked on** — goal and final state
- **Decisions & rationale** — choices made and why
- **Surprises & dead ends** — what didn't work or wasn't expected
- **Open threads** — anything left unfinished or worth revisiting
- **Suggested CLAUDE.md updates** — guidance that belongs in a tracked instructions file rather than auto-memory (if any)

**Format:** use the full template by default. Use the compact template only when the session is short (≲15 turns) or fewer than 3 notable events occurred. See [output-templates.md](assets/output-templates.md).

Present the recap to the user before the save step. Do not pause for confirmation — see Autonomy above.

### 4. Save to Obsidian

Save the recap to the `notes` vault via `obsidian-cli`. Always pass `vault=notes` explicitly — the implicit default vault is unreliable on machines with multiple registered vaults.

Before running, verify the composed content:

- YAML frontmatter block present at top with `created: YYYY-MM-DD`
- No body line begins with `# ` (no H1 headings)
- No standalone `---` lines outside the frontmatter fences

```bash
obsidian create vault=notes path="Session Reviews/YYYY-MM-DD .md" content="" silent
```

**On failure:** if `obsidian create` exits non-zero or the subsequent `obsidian read` returns no content, surface the error verbatim and emit the full recap inline as a fenced markdown block so the user can save it manually.

**Empty session:** if no memory items qualified and fewer than 3 notable events occurred, still save a minimal compact recap noting "No memory updates warranted" so the user has a dated session record.

## Verification

- All 5 analysis dimensions were considered (mark "N/A" for any with no findings)
- Each memory written cites a specific session moment, not a hypothetical
- The Obsidian save succeeded (confirm via `obsidian read vault=notes path="..."`)

## Reference Files

- [analysis-dimensions.md](references/analysis-dimensions.md) — 5-dimension framework with questions, formats, and examples
- [output-templates.md](assets/output-templates.md) — Full and compact recap formats

## Do not use when

- Reviewing code changes for bugs — use `diff-review`
- Auditing an existing CLAUDE.md against a template — use `claudemd-audit`
- Short, straightforward sessions with no corrections or surprises
- The user just wants a quick task done, not a retrospective

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [philoserf](https://github.com/philoserf)
- **Source:** [philoserf/claude-code-config](https://github.com/philoserf/claude-code-config)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-philoserf-claude-code-config-session-review
- Seller: https://agentstack.voostack.com/s/philoserf
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
