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.
npx agentmods add skills/ryanzhao1011/workframe/session-digestnpx skills add ryanzhao1011/workframe --skill session-digestgit clone --depth 1 https://github.com/ryanzhao1011/workframeWhat 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.
| Model | Per session | Once 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 |
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.
What it actually says
Session Digest Skill
用途
⚠️ 重要——执行模型说明:SessionEnd hook 由 Python 脚本独立运行(见 session-end-flush.py)。两个关键事实:
- hook 结束后 Claude Code runtime 不会再调度任何 skill 执行
- hook 在 SessionEnd 时无条件覆盖
.claude/workframe-state/session-digest-latest.md(见session-end-flush.py的write_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."
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.
- 3d ago First seen · 66 lines · 31 tokens per session scan A b4d7d2a9a2fb
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.
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 .
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".
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.
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…
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…
check-cache-bugs
Audit Claude Code setup for cache bugs (CC#40524): sentinel, --resume/--continue, attribution header + ArkNill B3/B4/B5.