Context
Menu item #4 of the Boris-talk digest: every always-loaded skill description is a per-turn tax, so the marketplace's full-install listing surface is itself an unhobbling concern. This is the report-only analysis; the target decision (digest questions.md #4) is the operator's and gates any remediation.
Current numbers, measured on main (19a3f7b3) with skill-quality's check-listing-budget.sh pooled over plugins/*/skills:
- 134 listing-eligible skills across 61 plugin roots (skills with
disable-model-invocation: true excluded — they spend no budget).
- Aggregate: 86,499 chars ≈ 10.8x the 8,000-char documented default budget (
SLASH_COMMAND_TOOL_CHAR_BUDGET fallback, ~1% of context window). Live, Claude Code drops the least-invoked skills' descriptions to name-only when this overflows — silently degrading auto-invocation for the tail.
- Advisory only: the live figure depends on the consumer's model window,
skillListingBudgetFraction, and skillOverrides; /doctor in a live session is the authority. The estimate is an upper bound for full-install consumers.
Top contributors (entry chars):
| chars |
skill |
root |
| 1468 |
babysit-loop |
plugins/source-control/skills |
| 1197 |
audit-instructions |
plugins/claude-config/skills |
| 1161 |
audit-derivability |
plugins/docs-hygiene/skills |
| 1116 |
running-retro |
plugins/session-flow/skills |
| 1072 |
reconcile |
plugins/session-flow/skills |
| 1058 |
clarify |
plugins/adhd/skills |
| 1057 |
improve |
plugins/architecture/skills |
| 1054 |
script-the-deterministic-work |
plugins/discipline/skills |
| 1028 |
audit-answers |
plugins/planning/skills |
| 1022 |
reuse-or-replace |
plugins/discipline/skills |
Context for the decision: a full install is ~86k chars ≈ 21–22k tokens of always-loaded listing text before any work starts. But installs are per-plugin selective — no consumer is forced to take all 61 roots — and per-skill entries are already capped at 1,536 chars by the skill-quality per-skill gate (none currently exceed it).
Proposed work — the operator picks one (questions.md #4)
- Accept-as-is with rationale: installs are selective; the per-skill 1,536 cap plus the advisory aggregate report is enough. Record the rationale here and close.
- Tighten the worst descriptions: mechanical pass over the top-N contributors (e.g. everything >1,000 chars — 10 skills) trimming toward the trigger phrases that earn their keep. No structural change.
- Curated starter bundles / per-plugin caps: define install sets or a hard per-plugin budget in doctrine. Structural; needs its own design pass.
A quarterly report-only "listing-budget watch" recurring routine is being wired separately (self-maintenance pilot) so drift is observed regardless of which option is chosen.
Acceptance criteria
References
Context
Menu item #4 of the Boris-talk digest: every always-loaded skill description is a per-turn tax, so the marketplace's full-install listing surface is itself an unhobbling concern. This is the report-only analysis; the target decision (digest
questions.md#4) is the operator's and gates any remediation.Current numbers, measured on main (
19a3f7b3) withskill-quality'scheck-listing-budget.shpooled overplugins/*/skills:disable-model-invocation: trueexcluded — they spend no budget).SLASH_COMMAND_TOOL_CHAR_BUDGETfallback, ~1% of context window). Live, Claude Code drops the least-invoked skills' descriptions to name-only when this overflows — silently degrading auto-invocation for the tail.skillListingBudgetFraction, andskillOverrides;/doctorin a live session is the authority. The estimate is an upper bound for full-install consumers.Top contributors (entry chars):
Context for the decision: a full install is ~86k chars ≈ 21–22k tokens of always-loaded listing text before any work starts. But installs are per-plugin selective — no consumer is forced to take all 61 roots — and per-skill entries are already capped at 1,536 chars by the skill-quality per-skill gate (none currently exceed it).
Proposed work — the operator picks one (questions.md #4)
A quarterly report-only "listing-budget watch" recurring routine is being wired separately (self-maintenance pilot) so drift is observed regardless of which option is chosen.
Acceptance criteria
References
boris-cherny-we-cut-80-of-claude-code-s-qyPCVqFUyDo—recommendations/menu.mdci: onboard to the CI platform (ci-workflows + standards) #4,recommendations/questions.mdci: onboard to the CI platform (ci-workflows + standards) #4,research/findings/repo-instruction-surface.md(baseline: 184 skills / ~28k tokens; live count now 134 listing-eligible afterdisable-model-invocationexclusions)listing-budgetaction (the measurement tool; advisory by design)