Run the analyzer. Do NOT read transcripts or config yourself, and do NOT pass --full — the default output is a small, pre-digested summary on purpose (reading raw data would bloat the very context you're auditing). The script crunches and judges; you reason and present.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/analyze.py"
${CLAUDE_PLUGIN_ROOT} is set when this runs from an installed plugin. If it's unset (e.g. running from the repo, un-installed), the script is at the plugin/repo root's scripts/analyze.py — i.e. two directories up from this SKILL.md.
It prints a compact digest:
{
"totals": { "context_tax_est", "reclaimable_est", "unused_mcp_count", "history_horizon_days", "parse_warnings", "note" },
"cut": [ { "type", "name", "scope", "tokens", "calls_all", "last_used" } ],
"cut_truncated": 0,
"review": [ { "type", "name", "tokens" } ],
"review_truncated": 0,
"kept": { "count", "tokens" }
}
Optional — measure exact MCP cost (opt-in; launches servers). When the user wants the real per-turn cost of their MCP servers — the heaviest items, and null in the digest — run:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/analyze.py" measure-mcp
It briefly launches each stdio server, performs the MCP handshake, counts its tool schemas, and prints { "measured": [ {name, tokens, tool_count} ], "skipped": [ {name, reason} ], "total_measured_tokens", "measured_count" }. Remote (http/sse) servers can't be measured this way and appear in skipped. Present the measured tokens per server — this is usually what dominates the context tax.