mcpField
S
session-report

session-report

github.com/clineAgent 工作流391.5k 次安装15 周前更新
代码仓库

关于 session-report

用于生成 Claude Code 使用情况 HTML 报告的 skill,并将文件保存到当前工作目录。它把会话分析数据与内置模板、发现和建议组合成独立报告。

主要功能

  1. 01按时间范围分析会话数据
  2. 02汇总项目与 skill 使用情况
  3. 03将数据嵌入 HTML 模板
  4. 04添加发现与建议

适用场景

  1. 01回顾一周的 Claude Code 使用情况
  2. 02找出 Token 消耗较高的项目或提示词
  3. 03检查缓存表现和子 Agent 活动

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cline/skills --skill session-report

安装后在 Claude Code 中输入/session-report确认已加载。

附带文件analyze-sessions.mjstemplate.html

详细介绍

会话报告

生成一份自包含的 Claude Code 使用情况 HTML 报告,并保存到当前工作目录。

步骤

  1. 获取数据。 运行捆绑的分析器(默认窗口:最近 7 天;如果用户传入了其他范围,如 24h、30d 或 all,则以该范围为准)。脚本 analyze-sessions.mjs 与本 SKILL.md 位于同一目录 —— 请使用其绝对路径:

    node <skill-dir>/analyze-sessions.mjs --json --since 7d > /tmp/session-report.json
    

    若要统计全部时间,请省略 --since。

  2. 读取 /tmp/session-report.json。浏览 overall、by_project、by_subagent_type、by_skill、cache_breaks、top_prompts。

  3. 复制模板(同样与本 SKILL.md 捆绑在一起)到当前工作目录中的输出路径:

    cp <skill-dir>/template.html ./session-report-$(date +%Y%m%d-%H%M).html
    
  4. 编辑输出文件(使用 Edit,而非 Write —— 保留模板的 JS/CSS):

    • 将 <script id="report-data" type="application/json"> 的内容替换为第 1 步得到的完整 JSON。页面的 JS 会根据这个数据块自动渲染主统计数字、所有表格、条形图和下钻明细。
    • 用 3–5 条单行发现填充 `` 块。尽可能将数字表示为占总 token 的百分比(总数 = overall.input_tokens.total + overall.output_tokens)。每条发现一行,使用精确标记:
      <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 是一句平实的英文句子,指明项目/技能/提示词;用 <b> 包裹主体。关注:某个项目或技能占据不成比例的份额、缓存命中率 <85%、单个提示词 >2% 总计、子代理类型平均 >1M token/次调用、缓存中断聚集。
    • 用 1–4 条 <div class="callout"> 建议填充 `` 块(位于页面底部),建议需与具体行相关(例如“/weekly-status 为占总计 8.1% 的任务生成了 7 个子代理 —— 将其范围缩小到更少的并行代理”)。
    • 不要重构现有区块。
  5. 向用户报告保存的文件路径。不要打开或渲染它。

备注

  • 模板是交互功能(排序、展开/折叠、块字符条形图)的来源。你的工作是数据 + 叙述,而非标记。
  • 保持评论简洁且具体 —— 引用 JSON 中实际的项目名称、数字、时间戳。
  • top_prompts 已包含子代理 token,并将任务通知的后续内容归并到原始提示词中。
  • 如果 JSON 大于 2MB,请在嵌入前将 top_prompts 裁剪到 100 条、cache_breaks 裁剪到 100 条(它们本应已被限制)。

评论

支持 Markdown