# Save Session

> Save current session state to project memory (session_state_[topic].md), discoverable via /catch-up and /resume. Archives stale states; keeps MEMORY.md uncluttered.

- **Type:** Skill
- **Install:** `agentstack add skill-david-vrba-claude-power-skills-save-session`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [david-vrba](https://agentstack.voostack.com/s/david-vrba)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [david-vrba](https://github.com/david-vrba)
- **Source:** https://github.com/david-vrba/claude-power-skills/tree/master/skills/save-session

## Install

```sh
agentstack add skill-david-vrba-claude-power-skills-save-session
```

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

## About

# Save session

Save the current session state to the project's memory folder so a future
session — or `/catch-up` / `/resume` — can pick the work back up with zero
context loss. Follow these steps exactly.

## Step 1 — Locate the memory folder

Claude Code stores per-project memory under:

`~/.claude/projects/[encoded-path]/memory/`

Derive `[encoded-path]` from the current working directory by replacing every
`\`, `:`, and `_` character with `-`.

Example: `C:\Users\you\projects\my_app` → `C--Users-you-projects-my-app`

If memory files were already loaded this session, their paths in the
system-reminders reveal the folder directly — use that instead of recomputing.

## Step 2 — Run cleanup (archive stale session states)

Scan all `session_state_*.md` files currently in the memory folder (not in
`archive/`).

For each file found:
1. Read the `created:` field from its frontmatter.
2. Calculate calendar days since `created`.
3. If the adjusted age is greater than 7 days → move the file to
   `memory/archive/` (create the folder if needed with `mkdir -p`), then remove
   its line from `MEMORY.md`.

## Step 3 — Determine the session state filename

Check if a `session_state_[topic].md` already exists in the memory folder for the
same project or topic as this session.

- If yes → **overwrite it** (do not create a new file alongside it).
- If no → create `session_state_[topic].md` where `[topic]` is either the project
  name or a short slug that distinguishes this session's focus
  (e.g., `api_refactor`, `auth_bugfix`, `db_migration`).

## Step 4 — Write the session state file

Use this exact template:

```
---
name: Session State — [Topic] ([today's date])
description: [One sentence: what was worked on and current status]
type: project
created: [today's date as YYYY-MM-DD]
---

# Session State — [Topic] — [today's date]

## What We Were Working On
[2-4 sentences: the specific task, why it was being done, where things stood when the session ended]

## What's Done
[Bullet list of completed items. Include filenames and specifics. If nothing was coded, say "Design only" or "Planning only".]

## What Still Needs to Be Done

### Immediate (start here next session)
- [ ] [Max 5 items — specific enough to act on without rereading anything]

### Short-term
- [ ] [Items for this week]

### Longer-term / Backlog
- [ ] [Real but not urgent]

## Current Status
[2-3 sentences. Assume the reader has zero context. End with the single most important next action.]

## Key File Locations (if relevant)
| What | Path |
|---|---|
| [component] | [path] |
```

## Step 5 — Keep MEMORY.md clean (do NOT index session states)

Do **not** add a pointer line for this session state. `MEMORY.md` is auto-loaded
into every session in this folder; indexing parked task-state there bleeds
unrelated work into new sessions and invites hallucination. Session states are
pull-on-demand — `/catch-up` Globs the folders directly and `/resume` uses the
session-resume system; neither needs `MEMORY.md`.

- Remove any existing `session_state_*` lines from `MEMORY.md` (this supersedes
  any old "add a pointer" behavior).
- Also remove lines for any files you archived in Step 2.
- Leave durable memories (user / feedback / reference / active-checkpoint
  entries) untouched.

## Step 6 — Confirm

Say: "Session state saved: `session_state_[topic].md` — [one-line summary of what
was captured]. [N] file(s) archived."

## Source & license

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

- **Author:** [david-vrba](https://github.com/david-vrba)
- **Source:** [david-vrba/claude-power-skills](https://github.com/david-vrba/claude-power-skills)
- **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-david-vrba-claude-power-skills-save-session
- Seller: https://agentstack.voostack.com/s/david-vrba
- 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%.
