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
This repository-local package is adapted from
cyberalchemy-orchestrator/.codex/skills/close-session. Its frontmatter guide is
packaged at references/frontmatter.md so the skill
does not depend on another runtime tree.
Step 0 — Triage
Create a node if any is true: repository documentation changed, domain code changed, an architectural decision was made, verification artifacts changed, or a contradiction was found or resolved.
Skip if: no documentation or code changed and the exchange was purely Q&A with no decisions. Say “Q&A-only session. No session node created.” and stop.
Step 1 — Write the summary and forward registers
The closing agent authors the node itself. First read
references/frontmatter.md completely, then choose concrete topical tags,
exactly one primary layer, and meaningful typed Connections. Do not delegate
these judgments.
Write up to 10 sentences covering what the session set out to do, what was decided and why, and what was done. Use no subheadings or per-file detail in the summary. A reader should grasp the arc without access to the conversation. Draft the forward registers in Step 2 yourself.
Step 2 — Assemble the node
File: sessions/YYYY-MM-DD-HHMM-{short-slug}.md
Every new node emitted by this workflow has artifact_kind: session.
---
tags: [{tag1}, {tag2}]
artifact_kind: session
layer: {project | domain | capability | feature | task | others}
version: 0.1.0
created_at: YYYY-MM-DDTHH:MM:SS±HH:MM
updated_at: YYYY-MM-DDTHH:MM:SS±HH:MM
expires: {calendar date of created_at + 60 days}
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
{Maximum 10 sentences from Step 1.}
## Connections
| Document | Type | Description |
|----------|------|-------------|
| [real context or artifact](path) | `is-part-of` | Why this session belongs structurally to that context. |
## Open questions
{Undecided claim or conjecture. Omit if none.}
## Next steps
{Decided action, method known — imperative and priority-ordered. Omit if the arc is closed.}
## Recommendation
{The keystone among the items above and how to attack it. Omit on routine sessions; never use a placeholder.}
## Files touched
{Flat bullet list of paths. No table and no descriptions.}
## Extra section
{Include only when the user asked to register something specific from this session.}
## Connections is mandatory. Use the three-column table only for supported
relationships with real targets. If no real relationship is known, replace the
table with:
No real connection was identified in this session.
A session may use is-part-of toward its actual enclosing project, domain,
capability, feature, or task context. It may use validates, contradicts,
contextualizes, derives-from, or other only when evidence supports that
relationship. contains is the inverse of is-part-of; add the inverse to a
governed target only when that target is in scope for the same change. Do not
infer Connections from directory placement or from files merely read,
mentioned, or touched.
Contradictions belong in ## Connections when a typed target relationship
exists. Add separate contradiction prose only when it contributes useful
narrative that is not duplicated by the edge row.
## Files touched is an operational record only and never generates
Connections.
Forward registers
- The three registers are distinct. Open questions are undecided and become resolved, not “done”; Next steps are decided labor; Recommendation ranks across them and asserts nothing new. If a line seems to fit two, ask whether it can be done or claims a truth, then move it to the matching register.
- Open questions name an epistemic gap the session opened but did not close. If the method is already known and only labor remains, use Next steps. A question may remain here even when it mentions an existing artifact. File-path existence does not establish an edge; add a Connection only when a real typed relationship can be asserted.
- Next steps defer to the backlog. This repository has no
backlog/yet, so keep them body-only withpromoted_candidates: []until one exists. - Recommendation obeys the subset rule. Recommend a direction, never assert the outcome; name the licensing fact or self-label a hunch. Reference only items in the sections above.
- Omit, do not pad. No open business means omitting the empty forward sections. Absence is the signal.
Hard cap: The body below frontmatter must not exceed 200 lines. The forward sections count toward the cap and have the lowest priority: trim them first, then omit them.
Step 3 — Final checks
Before finishing, the creating agent checks directly that:
- the frontmatter is valid and follows
references/frontmatter.md; artifact_kindissession, tags are topical, and exactly one layer is selected;## Connectionshas supported typed edges with real targets or the explicit no-connection statement;- files touched have not been converted mechanically into edges;
- the forward registers obey their distinct roles; and
- the body stays within the 200-line cap.
There is no automatic review in this workflow for now. Any future review must use the repository's governed subagent workflow.
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 | 3mo | No flags | Intermediate |
| notion-knowledge-capture | 10 | 11mo | No flags | Intermediate |
| apple-reminders | 25 | 4mo | Review | Beginner |
| braindump | 7 | 7mo | 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.