Releases: wan-huiyan/context-police
v2.0.0 — harness-agnostic reframe
The native skill-listing budget (Claude Code v2.1.105, Codex) made ~half of the original 'measure & trim the cost' value the platform's job. So v2.0.0 reframes the skill around what's durable and portable.
- Portable core first — the problem + curation methodology (curate by INTENT not name, conservative asymmetry, blind re-rate, deterministic-over-LLM) are harness-agnostic.
- Researched cross-harness landscape (Cursor / Codex / Copilot CLI / Gemini CLI): all adopt the Agent Skills standard; a native listing budget exists only on Claude Code + Codex — on Cursor, Copilot CLI, Gemini CLI manual curation is still the live answer.
disable-model-invocationis part of the standard, so it works verbatim on Cursor + Copilot CLI. - 'Porting to another harness' recipe added.
- Claude Code levers demoted to a labeled implementation section; the retrieval-hook / 122k / forward-sweep work folded into a compact History footnote.
- Frontmatter description tightened under the 1536 per-entry cap (no self-truncation).
v1.10.0 — disable-model-invocation dual-role + reverse-audit lesson
The disable-model-invocation flag is ALSO the correct config for a user slash-command (it stops the model auto-firing /changelog, /lfg, /setup… while keeping /name), not just a trap-hide. So a reverse audit using a name-invoked → restore lens is a false-positive machine: a full body-read audit of all 487 hidden skills flagged 17 'wrongly hidden', but on a deterministic argument-hint/allowed-tools check ~16 were correctly-configured commands. Restoring a command would let the model auto-fire it and re-bloat the catalog. Genuine restores ≈ 1. A conservative re-rated forward extension also confirmed 0 new safe traps — post-budget the hide-sweep is largely played out. Added classification-rigor rules.
v1.9.0 — native catalog budget (skillListingBudgetFraction / /doctor)
Claude Code v2.1.105 (2026-04-13) shipped a native version of this skill's core thesis: a ~1% skill-listing budget that collapses the least-used skills' descriptions to bare names, plus a per-skill description cap — both surfaced by claude doctor.
What changed in v1.9.0
- New "native catalog budget" section documenting
skillListingBudgetFraction(default0.01) andmaxSkillDescriptionChars(default1536);/doctoris now the canonical readout. - Flagged raising the budget fraction as the anti-pattern (~111k tokens/session — in the same ballpark as the skill's earlier ~122k full-description estimate; measured on the current already-trimmed catalog, so consistent rather than an exact match).
- Corrected two now-false claims — "standalone skills inject as bare names" and "
name-onlyis a blanket no-op" — which only held before the budget made description-dropping usage-ranked. - README + both plugin manifests updated; version 1.8.0 → 1.9.0.
v1.7.0
The root-cause work resolved: curation works, the retrieval-hook replacement doesn't.
- Separated the two strategies (curation vs retrieval-hook-replacement) and fixed the trap/procedure classifier to triage by description intent, not hyphen count (171/886 mislabeled).
- Proved the keyword hook can't replace force-load across five gate families — a base-rate wall (genuine-trap moments ~0.1% of triggers), precision-when-firing <0.3%. Embeddings then tested and fail identically (~23% recall @ ~99% firing). Shadow hook removed.
- Curation flip executed — 404 traps
disable-model-invocationd after a blind second-rater + 2-of-3 tie-break rescued 33 mislabeled procedures; claudeception mint-default flipped so new traps mint hidden. - README rewritten to match;
plugin.json+marketplace.jsonbumped to 1.7.0.
Full changelog: v1.5.0...v1.7.0
v1.5.0
Initial public release of context-police — measure, trim, and report the runaway Claude Code skills-catalog token tax. Verified skillOverrides (per-project) + disable-model-invocation (global) levers, an interactive HTML recap, and the recall-gated retrieval-hook root-cause plan.