session-digest

A session-summary tool that records what changed during a coding session in a Markdown file for the next session to read.

In plain words
What is it for?
It rebuilds a summary from session events, activity records, and recent changelog entries, then saves the latest version.
Why use it?
It prevents important work, decisions, and unfinished tasks from being lost between sessions.

Skill for Claude CodeCodex

Part of the core plugin — 37 skills, 4 agents, 11 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/ryanzhao1011/workframe/session-digest
Any agent
npx skills add ryanzhao1011/workframe --skill session-digest
Clone the repo
git clone --depth 1 https://github.com/ryanzhao1011/workframe

Made for: Claude Code, Codex.

Or install core, the plugin that ships this one along with the rest of its 37 skills, 4 agents, 11 hooks.

Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 791 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.00031 $0.00791
Opus 5 $0.00015 $0.00396
Sonnet 5 $0.00006 $0.00158
Haiku 4.5 $0.00003 $0.00079

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

Security

Grade A, and why

session-digest 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 3d 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.

plugins/core/skills/session-digest/SKILL.md · 66 lines

What it actually says

Session Digest Skill

用途

⚠️ 重要——执行模型说明:SessionEnd hook 由 Python 脚本独立运行(见 session-end-flush.py)。两个关键事实:

  1. hook 结束后 Claude Code runtime 不会再调度任何 skill 执行
  2. hook 在 SessionEnd 时无条件覆盖 .claude/workframe-state/session-digest-latest.md(见 session-end-flush.pywrite_digest_skeleton()DIGEST_FILE.write_text(content) 不做任何"是否已富填充"的检查)

因此本 skill 的唯一有效触发路径是:

  • 下次 SessionStart 二次填充:Claude 看到 hook 写的骨架内容简陋时主动调用本 skill,从 events.jsonl / activity-state.json / changelog.md 中重建本次会话摘要,覆写 session-digest-latest.md

不存在"会话末尾 best-effort 预写覆盖 hook 骨架"的有效路径——hook 总是后写,任何会话末尾的 skill 预写都会被 hook 骨架覆盖。富内容只能在下次 SessionStart 重建。

输入

无参数。读取以下文件:

  • .claude/workframe-state/events.jsonl(本 session 内的事件,按 ts 范围过滤)
  • .claude/workframe-state/activity-state.json(last_session_at / pending_maintenance)
  • .claude/workframe-state/session-digest-latest.md(骨架或上次内容)
  • projects/changelog.md(如有)近期条目

输出

覆盖写入 .claude/workframe-state/session-digest-latest.md

# Session Digest (latest)

- session_ended_at: <ISO-8601>
- session_counter: <N>
- exit_reason: <clear|resume|logout|prompt_input_exit|bypass_permissions_disabled|other>

## Auto changes (T1/T2)
- <T1 静默:events append / metrics 重算次数>
- <T2 摘要:Librarian 自动提升 ×N;memory decay 提案 ×M>

## Pending maintenance (T3/T4)
- <T3 eval 等待执行>
- <T4 需用户确认:如 core 文件变更提案、MEMORY 冲突>

## Flags
- dormant_profile: <profile>

何时调用

  • 下次 SessionStart 二次填充(唯一有效写入路径):SessionStart hook 打印 [last-session-digest] 时若内容仍是骨架占位,Claude 在响应中主动调用本 skill,从 events.jsonl 中重建摘要并覆写 digest 文件
  • /core:audit 间接读取:audit 只读 digest 文件做汇总,不重写本文件本身

不要在会话末尾调用本 skill:SessionEnd hook 会在你写入后无条件覆盖 digest 文件(见上文执行模型说明),任何会话末尾的预写都是沉没成本。

约束

  • digest 必须人类可读,不放 raw JSON
  • 不改动 events.jsonl / activity-state.json,只读 + 写 digest
  • 若 events.jsonl 近期无新事件,digest 写 "No auto changes this session."
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. 3d ago First seen · 66 lines · 31 tokens per session scan A b4d7d2a9a2fb

Subscribe to this mod's changes

session-digest is a skill published in the GitHub repository ryanzhao1011/workframe (4 stars, last pushed 16d ago), licensed MIT. It adds 31 tokens to every session and 791 once invoked, about $0.0002 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

check-understanding

Phase quiz for AI Engineering from Scratch. Trigger with "quiz me", "test phase", "check my understanding", "do I know phase 3", or /check-understanding .

fancyboi999/ai-engineering-from-scratch-zh · 44 tokens

find-your-level

Interactive quiz that maps your AI/ML knowledge to a starting point in the 260-lesson, 20-phase AI Engineering from Scratch curriculum. Trigger phrases: "where should I start", "find my level", "what do I know", "which phase", "assess my knowledge", "placement test", "skip ahead".

fancyboi999/ai-engineering-from-scratch-zh · 71 tokens

audit-agents-skills

Audit Claude Code agents, skills, and commands for quality and production readiness. Use when evaluating skill quality, checking production readiness scores, or comparing agents against best-practice templates.

FlorianBruniaux/claude-code-plugins · 41 tokens

eval-agents

Audit Claude Code agents defined in .claude/agents/ for description specificity, model tier appropriateness, tools scoping, and system prompt quality. Detects dispatch ambiguity between agents, flags over-permissive tool grants, and checks for human-in-the-loop patterns that break programmatic orchestration. Use when…

FlorianBruniaux/claude-code-plugins · 93 tokens

eval-hooks

Audit Claude Code hooks defined in settings.json files for validity, performance safety, and correctness. Resolves each command against the filesystem, checks exit-code strategy for blocking hooks, flags missing timeouts, and reviews interactive vs async patterns. Use when setting up hooks for the first time…

FlorianBruniaux/claude-code-plugins · 78 tokens

check-cache-bugs

Audit Claude Code setup for cache bugs (CC#40524): sentinel, --resume/--continue, attribution header + ArkNill B3/B4/B5.

FlorianBruniaux/claude-code-plugins · 38 tokens