mcpField
S
session-report

session-report

github.com/anthropicsAgent 工作流45.1k3.8k 次安装1 天前更新
代码仓库

关于 session-report

这是一个 Claude Code 技能,可将 Claude Code 会话用量数据整理为独立的 HTML 报告。报告依据分析结果展示用量细分,并附上简要发现和建议。

主要功能

  1. 01分析指定时间段的会话用量
  2. 02在 HTML 模板中呈现 JSON 指标
  3. 03结合数据简述发现
  4. 04添加与报告数据相关的建议

适用场景

  1. 01查看近期 Claude Code 令牌用量
  2. 02比较不同项目和技能的用量
  3. 03发现缓存中断或异常大的提示词
  4. 04保存便于分享的 HTML 用量报告

安装

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

$npx skills add https://github.com/anthropics/claude-plugins-official --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