Help us improve
Share bugs, ideas, or general feedback.
From session-saver
Generates and saves Markdown session logs capturing objectives, file changes, referenced materials, technical notes, future plans, open items, and metrics to resume project work across conversations.
npx claudepluginhub animalzinc/claude-plugins --plugin session-saverHow this skill is triggered — by the user, by Claude, or both
Slash command
/session-saver:session-saverThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- SYNC: Personal version at ~/.claude/commands/save-session.md -->
Logs session diaries with summaries, git commits, decisions, and handoff notes for future recall. Invoked by 'save diary' or at session end.
Saves current work session to persistent memory by summarizing accomplishments, tracking modified files, and storing learnings for cross-session continuity. Invoke via /remember after activity.
Saves session state into a handoff note for clean continuation across sessions. Useful for pausing and resuming complex work.
Share bugs, ideas, or general feedback.
name: Session Saver description: Save a structured session log so the next session can pick up where you left off triggers:
You are going to produce a concise session log and SAVE IT TO A FILE in the project repository.
Remember: This session log and the codebase are the ONLY things that persist between sessions. The current conversation will be LOST. Capture any planned but unimplemented work in detail.
## Session Log: [YYYY-MM-DD]
**Project**: [project-name or path]
**Duration**: [if available]
**Type**: [feature/bugfix/refactor/docs/config/testing]
### Objectives
- [Primary goal]
- [Secondary goals if any]
### Summary
[2-3 sentences describing what was accomplished]
### Files Changed
- `path/to/file1.ext` - Brief description of change
- `path/to/file2.ext` - Brief description of change
### Referenced Materials
*(Paths, directories, links, or resources shared/referenced this session — not modified, but important for context)*
- `path/to/workflow/directory/` - Description of what this is
- `path/to/reference/file.md` - Why it was referenced
- https://example.com/resource - External resource consulted
### Technical Notes
- [Key learning or pattern discovered]
- [Important decision made and why]
### Future Plans & Unimplemented Phases
*(Include this section only if there ARE unimplemented phases)*
#### Phase [X]: [Name]
**Status**: Not started / Partially complete
**Planned Steps**:
1. [Specific step with implementation details]
2. [Specific step with implementation details]
### Next Actions
- [ ] Todo item 1
- [ ] Todo item 2
- [ ] Question or investigation needed
### Metrics
- Files modified: X
- Files created: Y
- Tests added: Z
### Continuation Prompt
Project: [project-name]
Session log: docs/SESSION_LOG.md
Section: "## Session Log: [YYYY-MM-DD]" ([project/type] entry)
Context: [1-2 sentence summary of what we were working on]
Key points:
- [Key point 1]
- [Key point 2]
- [Key point 3 if applicable]
Referenced paths:
- [Only paths relevant to continuing this work]
Read the session log section above, familiarize yourself with the context, and let me know when ready to continue.
*(Leave sections empty if nothing to report. Delete empty sections before saving.)*
Steps are ordered for low-context resilience — the session log is written to disk as early as possible. If context compaction happens during later steps, the core log is already saved.
Check for existing session logs (quick):
ls docs/ to check if directory existsls docs/SESSION_LOG.md to check if file existsCheck file size and auto-split if needed (quick):
docs/SESSION_LOG.md exists, count its lines: wc -l docs/SESSION_LOG.mdtotal=$(wc -l < docs/SESSION_LOG.md) && \
keep=1760 && \
archive_lines=$((total - keep)) && \
archive_date=$(head -n $archive_lines docs/SESSION_LOG.md | grep "## Session Log:" | tail -1 | sed 's/.*Session Log: //') && \
mkdir -p docs/logs && \
head -n $archive_lines docs/SESSION_LOG.md > "docs/logs/SESSION_LOG_ARCHIVE_${archive_date}.md" && \
tail -n $keep docs/SESSION_LOG.md > docs/SESSION_LOG.md.tmp && \
mv docs/SESSION_LOG.md.tmp docs/SESSION_LOG.md && \
echo "Archived $archive_lines lines to docs/logs/SESSION_LOG_ARCHIVE_${archive_date}.md"
Generate the session log content following the output structure above
Write to disk immediately:
docs/SESSION_LOG.md exists: Use the Edit tool to APPEND the new session log to the existing file---)Verify the save:
docs/SESSION_LOG.mdOutput confirmation to the user:
Display the continuation prompt to the user as a copyable block:
---
**Next Session Prompt** (copy this to start your next session):
[Contents of the Continuation Prompt section]
---