写作与公文
需要从 Claude Code 会话记录生成可探索…
用 ~/.claude/projects 的 Claude Code 会话记录生成自包含 HTML 报告,定位高消耗项目、技能、subagent 和 prompt,并给出优化建议。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要从 Claude Code 会话记录特定
解决思路
- 获取数据:运行随技能捆绑的分析器 analyze-sessions.mjs。默认窗口为最近 7 天;如果用户指定了其他范围(例如 `24h`、`30d`、`all`),则按用户范围执行。脚本与 SKILL.md 位于同一目录,使用其绝对路径: ```sh node <skill-dir>/analyze-sessions.mjs --json --since 7d > /tmp/session-report.json ``` 如果要统计全量数据,省略 `--since`。
- 读取 `/tmp/session-report.json`,浏览 `overall`、`by_project`、`by_subagent_type`、`by_skill`、`cache_breaks`、`top_prompts`。
- 复制模板:将同样与 SKILL.md 位于同一目录的 `template.html` 复制到当前工作目录中的输出路径: ```sh cp <skill-dir>/template.html ./session-report-$(date +%Y%m%d-%H%M).html ```
- 编辑输出文件:使用 Edit,而不是 Write,以保留模板的 JS/CSS。
- 将 `<script id="report-data" type="application/json">` 的内容替换为步骤 1 得到的完整 JSON。页面 JS 会自动根据这个数据块渲染 hero total、所有表格、柱状图和下钻内容。
- 填写 `<!-- AGENT: anomalies -->` 块,放入 3–5 条一行式发现。尽可能用占总 token 的百分比表示数字(total = `overall.input_tokens.total + overall.output_tokens`)。每条发现一行,使用精确标记: ```html <div class="take bad"><div class="fig">41.2%</div><div class="txt"><b>cc-monitor</b> consumed 41% of the week across just 3 sessions</div></div> ``` 类别:`.take bad` 用于浪费/异常(红色),`.take good` 用于健康信号(绿色),`.take info` 用于中性事实(蓝色)。`.fig` 是一个短数字(百分比、计数或倍数如 `12×`)。`.txt` 是一句平实英文,指出项目/技能/prompt;用 `<b>` 包裹主题。需要查找:某个项目或技能吃掉异常高的占比、cache-hit <85%、单个 prompt >总 token 的 2%、subagent 类型平均 >1M tokens/call、cache breaks 聚集。
- 填写 `<!-- AGENT: optimizations -->` 块(位于页面底部),放入 1–4 个 `<div class="callout">` 建议,并绑定到具体行,例如“`/weekly-status` spawned 7 subagents for 8.1% of total — scope it to fewer parallel agents”。
- 不要重构现有区块。
- 将保存后的文件路径报告给用户。不要打开它或渲染它。
- 模板负责交互性(排序、展开/折叠、块字符柱状图)。你的任务是提供数据和叙述,不是改标记。
- 评论保持简洁、具体——引用 JSON 中实际的项目名、数字、时间戳。
- `top_prompts` 已经包含 subagent tokens,并把 task-notification continuations 归入原始 prompt。
- 如果 JSON >2MB,在嵌入前将 `top_prompts` 裁剪到 100 条,将 `cache_breaks` 裁剪到 100 条(它们应已被限制)。
适用边界 · 注意事项
- 没有 `~/.claude/projects` 下的 Claude Code 会话记录时,无法生成报告。
- 缺少随技能捆绑的 `analyze-sessions.mjs` 或 `template.html` 时,无法按此流程执行。
- 用户只需要终端里的简要统计,不需要可探索 HTML 报告时,不适用。