end-session

end-session is a skill for Claude Code, Codex from andrewcigan/vibe-dev-plugin. It costs 76 tokens per session (1,498 once invoked), scanned A, original, MIT.

A session-closing command that records project state, synchronizes notes, commits changes, and prepares a restart command.

In plain words
What is it for?
Use it to close a coding session, update handoff information, record lessons and decisions, commit the current work, and continue later in a fresh session.
Why use it?
It reduces the chance of losing context or leaving unfinished work unclear when an agent session ends. It also blocks last-minute feature changes during shutdown.

Skill for Claude CodeCodex

Installs and runs on its own, but its text points at files inside its plugin — anything it tells you to read at a ${CLAUDE_PLUGIN_ROOT} path is only there once the plugin is installed. Installing the plugin gets both.

Part of the vibe-dev plugin — 29 skills, 24 agents, 7 hooks shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/andrewcigan/vibe-dev-plugin/end-session
Any agent
npx skills add andrewcigan/vibe-dev-plugin --skill end-session
Clone the repo
git clone --depth 1 https://github.com/andrewcigan/vibe-dev-plugin

Made for: Claude Code, Codex.

Or install vibe-dev, the plugin that ships this one along with the rest of its 29 skills, 24 agents, 7 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for end-session

README.md
[![agentmods](https://agentmods.dev/badge/skills/andrewcigan/vibe-dev-plugin/end-session.svg)](https://agentmods.dev/skills/andrewcigan/vibe-dev-plugin/end-session)
Your own site
<a href="https://agentmods.dev/skills/andrewcigan/vibe-dev-plugin/end-session"><img src="https://agentmods.dev/badge/skills/andrewcigan/vibe-dev-plugin/end-session.svg" alt="Measured on agentmods" height="20"></a>
Per session 76 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,498 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00076 $0.01498
Opus 5 $0.00038 $0.00749
Sonnet 5 $0.00015 $0.00300
Haiku 4.5 $0.00008 $0.00150

Measured 4d ago against content hash 2ec81340ee96, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

end-session scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/end-session/SKILL.md · 137 lines

How it starts

The opening of the file, as written. The whole thing — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/end-session

Однокомандное закрытие сессии. Обёртка над /handoff + auto-commit + restart helper.

🔒 Режим закрытия (v6.2 F7). Фраза закрытия уже включила closing-mode (хук поставил .harness/locks/closing-mode): запись возможна ТОЛЬКО в state-файлы (SESSION.md, feature_list.json, memory/, error-journal, .session-state/, docs/retrospectives|decisions), Bash — только git/read-only/скрипты плагина. Любая «дописать фичу напоследок» — BLOCK: новую работу фиксируй строкой в backlog. Режим снимет следующее сообщение пользователя без слов закрытия.

Что происходит

Шаг 1: Memory sync (E6 — критичный)

Перед запуском скрипта обязательно:

  1. Открой ~/.claude/projects/<dashed-path>/memory/project_*.md (если есть)
  2. Обнови поля:
    • Pipeline stage (актуальная фаза)
    • Активные фичи (PASSING / active / blocked / paused)
    • Next command
    • MVP path
    • Архитектурные решения за сессию
  3. Проверочный вопрос: «Если сейчас новая сессия сделает /resume — увидит cold-start то же что я вижу в SESSION.md?»

Если нет — обнови ДО продолжения. См. rules/memory-stays-in-sync.md (по правилу E6).

Шаг 2: Промоушн уроков из error-journal

Прочитай error-journal.md (если есть). Группируй похожие записи. Для каждой группы:

  • Класс ошибки
  • Lesson scope (project / user / system)
  • Предложи пользователю promotion одной строкой:
3 ошибки → 2 урока на promotion:
- "concurrent_writes_to_same_file" (project) — запишу в feedback_concurrent_writes.md
- "execute_dont_ask" (user) — confirm? (д/н)

При confirm — создай feedback_*.md в ~/.claude/projects/.../memory/.

Шаг 3: TTL cleanup в SESSION.md

Удалить из SESSION.md → Implementation Notes:

  • Open Questions старше 5 рабочих дней (эскалировать как блокеры)
  • Design Decisions старше 5 рабочих дней (продвинуть в docs/decisions/ или удалить если неактуально)

Шаг 4: Запуск bash скрипта

bash "${CLAUDE_PLUGIN_ROOT}/scripts/end-session.sh"

(скрипт автоматически возьмёт pwd как project path)

Read the full file on GitHub · 137 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 137 lines · 76 tokens per session scan A 2ec81340ee96

Subscribe to this mod's changes

end-session is a skill published in the GitHub repository andrewcigan/vibe-dev-plugin (5 stars, last pushed 1mo ago), licensed MIT. It adds 76 tokens to every session and 1,498 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

event-review

周审/记忆提炼。用干净的上下文读取事件日志与任务残留,提炼候选条目进 inbox,按阈值提议 memory/knowledge/skill 升级,并陪同用户逐条分流。当用户说"review events"、"整理记忆"、"周审"、"提炼事件"或距离上次审阅超过一周时使用。.

reatcat/l123-harness · 92 tokens

init-harness

在当前项目初始化 L1-L2-L3 三级记忆骨架(CLAUDE.md 常驻层、.agents/INDEX.md 索引、.agents/ 详情目录、门禁清单、模板)。当用户说"初始化 harness"、"装上三级记忆"、"init harness"、"给这个项目上记忆系统",或新项目希望启用本插件方法论时使用。.

reatcat/l123-harness · 95 tokens

vibe-session-context-flush

Performs smart context summarization when the context window is approaching capacity. Identifies what to keep, what to summarize, and creates a compact resume state.

ash1794/vibe-engineering · 38 tokens

vibe-reflect-and-compound

Extracts learnings from completed work, feedback, or failures. Updates a persistent learnings file with capped entries. Use after receiving feedback, fixing bugs, or completing complex tasks.

ash1794/vibe-engineering · 44 tokens

memory-recall

Search and recall relevant memories from past sessions via memsearch. Use when the user's question could benefit from historical context, past decisions, debugging notes, previous conversations, or project knowledge -- especially questions like 'what did I decide about X', 'why did we do Y', or 'have I seen this…

zilliztech/memsearch · 149 tokens

alive:session-history

Revive sessions (quick or heavy), browse, and search — 'what happened recently?', 'find the session where we discussed X', 'revive yesterday's session'. For single-session recall and multi-session browsing. If the human needs to merge multiple sessions into one working context or detect conflicts between parallel…

alivecontext/alive · 76 tokens