From claude-done
Save a session summary to ~/.claude-done/ when wrapping up. Use when the user says /done, 'wrap up', 'save session notes', 'summarize this session', or wants to record what was accomplished.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-done:doneThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Save a structured summary of the current session to `~/.claude-done/` for future reference.
Save a structured summary of the current session to ~/.claude-done/ for future reference.
Run these commands to collect metadata:
date +%Y-%m-%d
git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "no-branch"
The session ID is available from the current conversation context — use the full session ID. The current working directory is the project path — use it for the Project field.
Write the summary in the user's preferred language (match the language used in the system prompt or the language the user has been communicating in during this session).
Meticulously review the entire conversation, tracing the full arc of discussion, and identify:
Create a 3-5 word kebab-case title summarizing the session (e.g., fix-token-refresh-logic, add-user-auth-flow).
Create the output directory and write the file:
mkdir -p ~/.claude-done
Filename format: {YYYY-MM-DD}_{branch}_{sessionId-full}_{kebab-case-title}.md
/ in branch names with -2026-02-18_feat-auth_a1b2c3d4_fix-token-refresh.mdFile content template:
# {Natural Language Title}
**Date:** YYYY-MM-DD
**Branch:** branch-name
**Project:** /path/to/project
**Session:** full-session-id
## Summary
2-4 sentences describing the goal and outcome of this session.
## Key Decisions
- Decision and brief reasoning
- Alternatives considered and why they were rejected
## What Changed
- `file/path` — what changed and why
## Problems & Solutions
- Problem encountered — how it was resolved
## Questions Raised
- Important questions discussed, with answers if resolved
- Unresolved questions flagged for future sessions
## Next Steps
- [ ] Follow-up task
Omit any section that has no content. Do not include empty sections.
After saving the local file, attempt to sync the summary to Notion as a child page using the Python script bundled with this skill.
Check if ~/.claude-done/config.json exists:
cat ~/.claude-done/config.json 2>/dev/null
notion_token and notion_page_id → go to 5c"notion_sync": false → skip sync entirely, proceed to Step 6 silentlyAsk the user:
"Notion sync is not configured yet. Would you like to sync session summaries to Notion?
Option 1 (Setup):
Guide the user through these steps:
ntn_ or secret_).https://www.notion.so/My-Page-abc123def456...).Ask the user to provide:
Extract the page_id from the URL: it's the 32-character hex string at the end (after the last -, ignoring any ? query params). Format it with hyphens as xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Write the config:
cat > ~/.claude-done/config.json << 'EOF'
{
"notion_token": "<token>",
"notion_page_id": "<page-id>"
}
EOF
Option 2 (Skip):
Write config so future /done runs won't ask again:
cat > ~/.claude-done/config.json << 'EOF'
{
"notion_sync": false
}
EOF
Proceed to Step 6.
Determine the path to the sync script relative to this SKILL.md file. The script is at skills/done/scripts/sync_notion.py in the plugin directory.
python3 <plugin-dir>/skills/done/scripts/sync_notion.py --title "{YYYY-MM-DD} {Natural Language Title}" --file <path-to-saved-summary.md>
After writing the file, tell the user:
npx claudepluginhub genuifx/claude-done --plugin claude-doneGenerates 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.
Ends a work session by writing a concise HANDOFF.md snapshot summarizing progress, decisions, and next steps for the next session.
Saves session state and writes a handoff note so the next Claude Code session can continue cleanly. Read/writes a remember.md file at the project root.