close-session
Summarizes sessions and categorizes outcomes into vault nodes for long-term project knowledge.
Install
mkdir -p .claude/skills/close-session && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14433" && unzip -o skill.zip -d .claude/skills/close-session && rm skill.zipInstalls to .claude/skills/close-session
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Close a session and create a vault conversation nodeKey capabilities
- →Triage sessions to determine if a vault node is needed
- →Write a concise summary of the session's purpose, decisions, and outcomes
- →Delegate classification of the node to a Sonnet agent
- →Assemble the vault node with frontmatter and structured sections
- →Review the assembled node for classification, frontmatter, and body discipline
How it works
This skill triages a session to decide if a vault node is required, then generates a summary and delegates classification to a Sonnet agent. It assembles and reviews the final markdown node.
Inputs & outputs
When to use close-session
- →Archiving session decisions
- →Documenting architectural changes
- →Saving project discovery notes
About this skill
Close Session Workflow
Classification source of truth:
docs/vault/ontology-conventions.md.
Step 0 — Triage
Create a node if any is true: vault doc changed/created/deleted, domain code changed, architectural decision made, tests added/modified, contradiction found/resolved.
Skip if: no vault/code changes AND purely Q&A with no decisions. Say "Q&A-only session. No vault node created." and stop.
Scratchpad: Check claude/current_conversations/ for a session file. If found, use it as primary input and delete it after saving the node.
Step 1 — Write Summary (do this yourself)
Write up to 10 sentences: what the session set out to do, what was decided (and why), what was done. No sub-headings, no per-file detail. A reader should grasp the arc without access to the conversation. Also draft the Forward lines yourself (Step 3). The discriminating test is a judgment — never delegated to Sonnet.
Step 2 — Delegate classification to Sonnet
Spawn an Agent (model: sonnet) with your summary + list of files touched. It returns:
- node_type (first match wins): constitution → premise → conceptual → test → discovery → implementation-plan → audit → spec (fallback).
- tags, layer, nature per
ontology-conventions.md. - expected_importance (0–10) + importance_rationale (one sentence).
- Contradictions — only if a vault node was validated, contradicted, or questioned. One bullet per edge. Omit section if none.
- Files touched — flat list of paths, no descriptions. Git has the detail.
Sonnet returns the above only — it never writes the ## Forward block (that block is yours, Step 1).
Step 3 — Assemble the node
File: docs/vault/conversations/YYYY-MM-DD-HHMM-{short-slug}.md
---
tags: [{tag1}, {tag2}]
node_type: {type}
is_session: true
layer: {layer}
nature: {nature}
status: active
created: YYYY-MM-DD
timestamp: YYYY-MM-DDTHH:MM:SS±HH:MM
expires: {created + 60 days}
conversation_id: {id}
decisions_made: true | false
contradictions_found: true | false
specs_updated: [paths or []]
promoted_candidates: [nodes or []]
expected_importance: {0-10}
importance_rationale: "{sentence}"
---
# {Title}
## Summary
{max 10 sentences from Step 1}
## Contradictions
{Omit if none. One bullet per edge: "validates/contradicts/questions {node} — reason."}
## Open questions
{A claim the session did NOT decide — a question or conjecture, never a task. Node-less only: a question naming a vault/spec node is a `questions {node}` Contradictions edge, not an Open question. Omit if nothing is genuinely undecided.}
## Next steps
{A decided action, method known — only labor remains. Imperative, priority-ordered, what+where. A step worth standing tracking is promoted to the backlog and linked via `promoted_candidates`; the line here is then a pointer. Omit if the arc is closed.}
## Recommendation
{Your call: of the items above, the keystone and how the next session should attack it. Recommend a direction, never assert the outcome; name the licensing fact — a validated node, a landed test, a resolved contradiction — or self-label a hunch. References only items above. Omit on routine sessions; never a placeholder.}
## Files touched
{Flat bullet list of paths. No table, no descriptions.}
Forward registers
Apply these while drafting (Step 1) and assembling (Step 3) the three forward sections.
- Three distinct registers, written by you. Open questions are undecided (resolved, never "done"); Next steps are decided labor; Recommendation ranks across them and asserts nothing new. If a line fits two, apply the discriminating test — can it be done? does it claim a truth? — and move it.
- Open questions are node-less only. A question naming a vault/spec node is a
questions {node}edge →## Contradictions, not Open questions (else the two double-record). Mechanical test: if the target can be written as an existing file path, it is a Contradictions edge; otherwise an Open question. - Next steps defer to the backlog. A step worth standing tracking is promoted to the backlog and linked via
promoted_candidates; the Next-steps line is then only a pointer. To promote: append it todocs/vault/backlog/{topic}.mdper.claude/skills/custom/backlog-pattern.md, then list that path. Not promoting? Keep it body-only and leavepromoted_candidates: []. - Recommendation obeys the subset rule. Recommend a direction, never assert the outcome; name the licensing fact (validated node, landed test, resolved contradiction) or self-label a hunch. It references only items in the sections above.
- Omit, don't pad. No open business → omit the empty sections entirely. Absence is the signal.
Hard cap: The body (below frontmatter) must not exceed 200 lines. If it does, you are writing too much — cut. The three forward sections count inside the 200 and are the lowest-priority — if over cap, trim them first, then omit them.
Step 4 — Review (two Sonnet agents)
Before the node is final, spawn two Agents (model: sonnet) in parallel, each given the assembled node + the list of files touched. They review independently:
- Classification & frontmatter — node_type, tags, layer, nature, importance, and any edges match
ontology-conventions.md; frontmatter is well-formed; the body is within the 200-line cap. - Body discipline — the three forward registers obey the discriminating test and subset rule; Open questions are node-less; Next steps defer to the backlog; Recommendation references only items above and names a license or self-labels a hunch; no narration.
Each returns PASS or a list of concrete problems. If either returns problems, send the node back to the writing agent (the one that wrote it, Steps 1/3) to fix, then re-review. Only a clean PASS from both finalizes the node.
When not to use it
- →When the session involved purely Q&A with no vault or code changes
- →When the user wants to manually create a vault node without automated classification
- →When the session summary exceeds 200 lines for the body
Limitations
- →The body of the node must not exceed 200 lines
- →Open questions must be node-less, not referencing existing vault/spec nodes
- →Recommendation section must only reference items within the node
How it compares
This skill automates the structured creation and classification of vault nodes, including a two-agent review process, which is more rigorous than manual node creation.
Compared to similar skills
close-session side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| close-session (this skill) | 0 | 1mo | No flags | Intermediate |
| notion-knowledge-capture | 10 | 9mo | No flags | Intermediate |
| apple-reminders | 25 | 2mo | Review | Beginner |
| braindump | 7 | 5mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by cyberAlchemyAI
View all by cyberAlchemyAI →You might also like
notion-knowledge-capture
makenotion
Transforms conversations and discussions into structured documentation pages in Notion. Captures insights, decisions, and knowledge from chat context, formats appropriately, and saves to wikis or databases with proper organization and linking for easy discovery.
apple-reminders
openclaw
Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
braindump
huytieu
Quick capture of raw thoughts with intelligent domain classification and competitive intelligence extraction
memory-keeper-proactive-context-maintenance
b4CU-R4U
Automatically detect and maintain memory freshness by monitoring context staleness, significant code changes, task completions, and phase transitions. Proactively suggests and executes memory sync operations with user confirmation. Use when the user says "sync memory", "update context", or when the Skill detects that context is stale (>2 hours), significant changes have occurred (new commits), tasks completed, or major milestones reached. Replaces passive "context is stale" warnings with active maintenance.
obsidian-canvas-creator
axtonliu
Create Obsidian Canvas files from text content, supporting both MindMap and freeform layouts. Use this skill when users want to visualize content as an interactive canvas, create mind maps, or organize information spatially in Obsidian format.
memory-management
anthropics
Two-tier memory system that makes Claude a true workplace collaborator. Decodes shorthand, acronyms, nicknames, and internal language so Claude understands requests like a colleague would. CLAUDE.md for working memory, memory/ directory for the full knowledge base.