关于 token-report
用于评估 Roslyn MCP server token 节省效果的技能,提供会话内工具和跨仓库统计 CLI。它强调数据采集需显式启用,并要求在引用结果时说明估算局限。
主要功能
- 01汇总 MCP 工具的 token 节省数据
- 02按工具展示调用与节省情况
- 03统计跨仓库数据并导出多种格式
- 04校准 token 估算系数
- 05说明采集状态与统计局限
适用场景
- 01判断 MCP server 是否值得其上下文开销
- 02找出未被调用的工具
- 03为 token 效率声明提供可核查数据
- 04比较不同仓库的工具采用情况
MCP 相关
可在 Roslyn MCP server 会话中调用 get_token_savings 查看当前仓库统计;CLI 汇总多个仓库的数据。遥测默认关闭,启用后记录保存在本地。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ codewithmukesh/ dotnet-claude-kit --skill token-report安装后在 Claude Code 中输入/token-report确认已加载。
详细介绍
/token-report — Roslyn Navigator 令牌节省情况
内容
报告 Roslyn MCP 服务实际节省的令牌量,基于测量而非声称。 提供两个界面:
| 范围 | 界面 | 适用场景 |
|---|---|---|
| 当前仓库,会话期间 | get_token_savings MCP 工具 | “我们这里表现如何?” |
| 所有仓库,汇总 | CWM.RoslynNavigator.Stats CLI | 生成公开数据 |
适用场景
- 判断 MCP 服务是否值得消耗上下文
- 找出无人调用的工具——是描述有问题,还是工具本就不该存在
- 用可核查的数据支撑有关令牌效率的说法
前提条件
数据收集需主动启用,默认关闭。 除非启动服务时启用了数据收集,否则不会记录任何内容:
CWM_ROSLYN_TELEMETRY=on cwm-roslyn-navigator --solution MySolution.sln
不会传输任何数据。记录写入 %LOCALAPPDATA%/cwm-roslyn-navigator/(或对应的 XDG 目录),位于仓库之外。删除该目录即可清除所有内容。
采用率从 Claude Code 转录记录中读取,无需主动启用,因此即使从未启用遥测,也可以获取。
使用方法
1 — 当前仓库,会话期间。 调用 get_token_savings MCP 工具。返回总计、按工具排名的列表、零结果/未就绪/错误的单独计数,以及计算方法。如果报告显示 Enabled: false,说明从未启用遥测——应如实说明,而不是把零报告成测量结果。
2 — 所有仓库。
cd mcp/CWM.RoslynNavigator
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj # table
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- --markdown
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- --json
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- --repo myapp
3 — 诚实解读。 引用任何数字时,都必须说明以下三点:
- 除数未经校准。 每个令牌按 3.5 字节估算,并会按比例影响所有数据。如果
DivisorCalibrated为 false,该数字仅供参考,并不精确。 - 基准值偏低。 它只统计答案所依据的文件,忽略文本搜索最初可能打开的错误文件。
- 采用率偏高。 其分母仅统计可明确判定目标为 C# 的 Read/Grep/Glob 调用;含糊的搜索不计入。
4 — 根据排名采取行动。 没有调用记录的工具才是值得采取行动的发现。在已配置的仓库中,采用率低通常意味着工具描述未能吸引本应使用该工具的工作——这比节省量本身更有参考价值。
校准除数
将单一估算输入转化为测量结果。免费、手动执行,服务本身绝不会运行:
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- calibrate \
--api-key $ANTHROPIC_API_KEY --path /path/to/dotnet/repo --sample 200
对 C# 文件进行抽样,通过 Anthropic count_tokens 端点获取精确计数,并对字节数与令牌数进行回归分析。将结果应用于服务中的 TokenEstimator,并在常量旁记录样本量和 R²,以便核查该数据。
示例
Repositories 3 (1 with telemetry)
Tool calls 412
Tokens saved 1,284,000
Adoption 68%
Tool leaderboard
tool calls saved p50 ms 0-result
find_references 180 612,000 84 4%
find_symbol 150 431,000 22 2%
Never called (2): get_nuget_packages, resolve_stack_trace
Divisor: 3.5 bytes/token — UNCALIBRATED estimate.
如果从未调用过服务,报告会明确说明,而不是打印零——“没有调用”和“没有节省”是两种不同的发现。
相关内容
/verify— PR 合并前的质量门禁/health-check— 代码库健康度评级