codewithmukesh/dotnet-claude-kit

token-report

Report how many tokens the Roslyn Navigator MCP server has saved, across one repository or all of them, with a per-tool leaderboard, adoption rate, and the methodology behind the number.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/codewithmukesh/dotnet-claude-kit --skill token-report

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

/token-report — Roslyn Navigator token savings

What

Reports what the Roslyn MCP server has actually saved, measured rather than asserted. Two surfaces:

ScopeSurfaceUse when
This repository, mid-sessionget_token_savings MCP tool"how are we doing here?"
All repositories, aggregateCWM.RoslynNavigator.Stats CLIproducing a public number

When

  • Deciding whether the MCP server earns its context cost
  • Finding tools nobody calls — a description problem, or a tool that should not exist
  • Backing a claim about token efficiency with something checkable

Prerequisite

Collection is opt-in and off by default. Nothing was recorded unless the server was started with it enabled:

bash
CWM_ROSLYN_TELEMETRY=on cwm-roslyn-navigator --solution MySolution.sln

Nothing is transmitted. Records are written under %LOCALAPPDATA%/cwm-roslyn-navigator/ (or the XDG equivalent), outside the repository. Delete that directory to erase everything.

Adoption rate is read from Claude Code transcripts and needs no opt-in, so it is available even when telemetry was never enabled.

How

1 — This repository, mid-session. Call the get_token_savings MCP tool. Returns totals, a per-tool leaderboard, separate zero-result / not-ready / error counts, and the methodology. If it reports Enabled: false, telemetry was never turned on — say so rather than reporting zero as if it were a measurement.

2 — All repositories.

bash
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 — Interpret it honestly. Three things must be said whenever a number is quoted:

  • The divisor is uncalibrated. 3.5 bytes/token is an estimate, and it scales every

figure linearly. If DivisorCalibrated is false, the number is indicative, not precise.

  • The baseline understates. It counts only the files an answer came from, ignoring the

wrong files a text search would have opened first.

  • Adoption is biased upward. Its denominator counts only Read/Grep/Glob calls that

demonstrably targeted C#; ambiguous searches are excluded.

4 — Act on the leaderboard. A tool with no calls is the actionable finding. Low adoption in a configured repository usually means a tool description is not attracting the work it should — more useful than the savings figure itself.

Calibrating the divisor

Turns the one estimated input into a measurement. Free, manual, and never run by the server:

bash
dotnet run --project stats/CWM.RoslynNavigator.Stats.csproj -- calibrate \
  --api-key $ANTHROPIC_API_KEY --path /path/to/dotnet/repo --sample 200

Samples C# files, gets exact counts from the Anthropic count_tokens endpoint, and regresses bytes against tokens. Apply the result to TokenEstimator in the server and record the sample size and R² next to the constant so the figure stays checkable.

Example

  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.

When the server was never invoked, the report says so plainly instead of printing zeros — "no calls" and "no savings" are different findings.

Related

  • /verify — quality gates before a PR
  • /health-check — codebase health grades
aus demselben Repository

Weitere Skills

Alle Skills
codewithmukesh
Community

avalonia

Avalonia UI 12 for cross-platform .NET desktop apps: compiled bindings (x:DataType, on by default in 12), StyledProperty/DirectProperty, custom and templated controls, ControlThemes, DataTemplates/ViewLocator, Generic Host + DI, StorageProvider/Clipboard, Native AOT/trimming, and packaging. Load when the user mentions "Avalonia", "AXAML", "x:DataType", "compiled binding", "StyledProperty", "TemplatedControl", "ViewLocator", or "cross-platform desktop".

Installationen / 1h
3
GitHub Stars
804
Aktualisiert
4. Nov.
codewithmukesh
Community

console-cli

Console apps and CLI tools on .NET 10: System.CommandLine 2.x (RootCommand, Option , SetAction, InvokeAsync), Generic Host + DI in console apps, exit codes, stdout/stderr discipline, Ctrl+C cancellation, interactive vs piped use, dotnet tool packaging, and dotnet run app.cs file-based apps. Load when the user mentions "console app", "CLI", "command line", "System.CommandLine", "dotnet tool", "exit code", "stdin", "args parsing", or "file-based app".

Installationen / 1h
3
GitHub Stars
804
Aktualisiert
4. Nov.
codewithmukesh
Community

desktop-mvvm

MVVM for .NET desktop apps (WPF, Avalonia, WinForms, MAUI) with CommunityToolkit.Mvvm 8.4+ source generators: [ObservableProperty] partial properties, [RelayCommand] async commands, Generic Host + DI, UI-thread dispatching, navigation, messaging, and testable view models. Load when the user mentions "MVVM", "ViewModel", "WPF", "desktop app", "ObservableProperty", "RelayCommand", "ICommand", "INotifyPropertyChanged", "Dispatcher", or "UI thread".

Installationen / 1h
3
GitHub Stars
804
Aktualisiert
4. Nov.
codewithmukesh
Community

native-aot

Native AOT, trimming, and single-file publishing for .NET 10: PublishAot, IsAotCompatible analyzers, source-generated JSON/regex/logging/config binding, fixing IL2xxx/IL3xxx trim and AOT warnings, per-RID publishing, and when NOT to use AOT. Load when the user mentions "Native AOT", "PublishAot", "trimming", "PublishTrimmed", "single-file", "IL2026", "IL3050", "trim warning", "startup time", "self-contained", or "JsonSerializerContext".

Installationen / 1h
3
GitHub Stars
804
Aktualisiert
4. Nov.