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 skills add majiayu000/spellbook --skill recapgit clone --depth 1 https://github.com/majiayu000/spellbookWrote 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.
[](https://agentmods.dev/skills/majiayu000/spellbook/recap)<a href="https://agentmods.dev/skills/majiayu000/spellbook/recap"><img src="https://agentmods.dev/badge/skills/majiayu000/spellbook/recap/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/majiayu000/spellbook/recap"><img src="https://agentmods.dev/badge/skills/majiayu000/spellbook/recap.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 25 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.01710 |
| Opus 5 | $0.00050 | $0.00855 |
| Sonnet 5 | $0.00020 | $0.00342 |
| Haiku 4.5 | $0.00010 | $0.00171 |
Grade B, and why
recap scanned grade B with 1 finding 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 8d 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.
Enumerates other installed skillsmediumAgent snooping
Other skills' SKILL.md files reveal prompts, capabilities and secrets that should be invisible to peers.
SKILL_DIR=$(ls -d ~/.claude/skills/recap ~/.agents/skills/recap 2>/dev/null | head -1) How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Claude Recap — 近期活动回顾与操作系统审计
从原始行为数据(而非用户自述)回答三个问题:
- 我最近都在做什么?
- 里面有什么可复用的模式?
- 我的工作系统该加什么、该删什么?
与近亲 skill 的边界(不要重复造)
- 深度认知分析(Dreyfus/Bloom 五层画像)→ 转交
cognitive-portrait - 组合违规核验(冻结仓库、未推送工作)→ 转交
better-audit - Codex 历史自省 → 转交
codex-retrospective - 本 skill 只做:轻量、无依赖、直接读 jsonl 的活动回顾 + 系统级建议
Step 1: 提取数据(确定性部分,用脚本)
脚本随本 skill 分发(scripts/extract_sessions.py)。Claude 安装位于 ~/.claude/skills/recap,Codex 安装位于 ~/.agents/skills/recap,先解析实际位置再运行:
SKILL_DIR=$(ls -d ~/.claude/skills/recap ~/.agents/skills/recap 2>/dev/null | head -1)
python3 "$SKILL_DIR/scripts/extract_sessions.py" --days 2
--days N调整回看窗口(默认 2;周回顾用 7)--json输出结构化数据供进一步处理- 输出:每个主会话的机器、项目、窗口内起止时间、用户消息数、工具调用数、子 agent 数、体积、前 3 条用户消息
- 统计只计入窗口内的消息;跨窗口 resume 的老会话会标
resumed,其窗口前的历史不会混入本次回顾
跨机器汇聚(可选)
scripts/sync_remote_sessions.sh 把远程机器的 ~/.claude/projects rsync 到本机 ~/.claude/remote-sessions/<host>/projects,extract 脚本会自动发现这些目录并一并扫描(会话标 @<host>):
"$SKILL_DIR/scripts/sync_remote_sessions.sh" starlight # 或 RECAP_SYNC_HOSTS="host1 host2"
- 前提:目标机器已配置 SSH 免密(
~/.ssh/config里的 host 别名) - 建议挂 cron 每日同步;某台机器同步失败会返回失败状态,避免误以为数据完整
- 其他目录可用
--extra-root label=path显式加入扫描;显式路径不存在时应先修正路径再继续
如果用户提到 Codex,补充检查 ~/.codex/sessions(如存在)并说明覆盖范围。
Step 2: 主题分组(LLM 分析)
把会话按意图而非项目分组。常见类别:
- 库审计/改造("看看这个库有什么问题"类)
- 元层面审计(读自己的记录、设计管理系统)
- 方向/战略探索("我该做什么"、影响力)
- 内容生产
- 日常运维(诊断、清理)
每组列出:涉及项目、会话数、代表性原话(引用用户消息,不要改写)。
Step 3: 操作系统覆盖映射(固定维度,每次必做)
把 Step 2 的分组映射到六大个人操作系统,输出覆盖表。判定只依据本窗口内的会话证据,没有证据就标"未运转",不推测。
| 操作系统 | 判定信号(会话中出现即计入) |
|---|---|
| 编码生产 | 库审计、spec/issue 生成、实现 PR、代码 review、构建修复、验证动作 |
| 本地/混合 AI 实验室 | GPU/推理调度、模型路由、gateway/proxy 运营、成本或质量监控 |
| 内容与知识合成 | 信息源调研、深度阅读、文章/线程/脚本产出、素材整理 |
| Agentic 编排与记忆 | 多 agent 协调、workflow/harness 设计、memory 系统操作 |
| 成长与基础设施 | portfolio/goals 管理、billing/proxy 优化、工具链演进、机器运维 |
| 分发与影响力 | 发布动作、仓库门面整改、增长实验、发布后数据回收 |
覆盖表格式(每行必须附会话 ID 证据或标注缺失):
| 操作系统 | 覆盖度 | 证据(会话ID)| 缺失环节 |
- 覆盖度分四档:重度运转 / 有活动 / 未运转 / 有活动但闭环缺失(要指明缺上游还是下游)
- 特别检查闭环完整性:内容系统看有无"发布后数据回流",编码系统看有无"验证收尾",实验室系统看有无"成本/质量监控"
- 连续多次 recap 中"未运转"的系统 → 在建议区提示:是主动挂起(合理)还是资产闲置(该处置)
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 8d ago First seen · 120 lines · 100 tokens per session scan B 5556f9dc070a
recap is a skill published in the GitHub repository majiayu000/spellbook (278 stars, last pushed today), licensed MIT. It adds 100 tokens to every session and 1,710 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 1 finding (enumerates other installed skills). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
pneuma-session
Instructions for renaming an active Pneuma session and replacing its default preview with a useful title and summary. A Pneuma session is one work area inside a larger project.
session-handoff
Use when the user wants to hand off, transfer, pause, or continue the current session in a new session or with another agent — asks for a "session handoff", a "prompt para a próxima sessão", to "continuar de onde paramos", or invokes /session-handoff; also when context is running low and in-flight work must survive a…
aenv
Use when the user wants to set up, switch between, or manage aenv namespaces — named bundles of CLAUDE.md, skills, MCP entries, and other AI-coding-harness config — in a project OR globally across $HOME. Triggers include aenv … mentioned directly, "switch namespace/profile", "activate/deactivate", "create/snapshot a…
cao-session-management
Interact with CAO (CLI Agent Orchestrator) — launch multi-agent sessions, check status, send follow-up instructions, unblock stuck terminals, or shut down sessions. Use when working with CAO sessions in any capacity.
mulmoterminal-keys
Bind keyboard shortcuts and fix keyboard/clipboard behaviour in MulmoTerminal. Writes keymap, which Settings cannot set at all — its Keyboard shortcuts section is read-only, listing every action bound or not plus a send row. Explains copyOnSelect, questionPaneEnabled and terminalSubmit, which have their own Settings…
tokf-discover
Find missed token savings by scanning AI coding session files for commands that ran without tokf filtering.