claude-code - 💡(How to fix) Fix `Skill` tool returns include full available-skills catalog (~150 entries) as system-reminder on every invocation, polluting context with duplicate information [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#56382Fetched 2026-05-06 06:29:35
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
labeled ×2commented ×1
RAW_BUFFERClick to expand / collapse

Description

Each invocation of the Skill tool (e.g., Skill(skill: "skill-creator", ...), Skill(skill: "kk-coding", ...), etc.) returns a tool result that includes a <system-reminder> block at the bottom containing the COMPLETE list of available skills installed on the user's system (~150 entries with one-line descriptions for each).

This information is already loaded at session start and visible to the model. Re-emitting it on every skill invocation is duplicate noise.

Expected behavior

The Skill tool result should NOT re-emit the full available-skills list. Acceptable patterns:

  • Emit nothing about skills (the list is already in context).
  • Emit a short "delta" only if new skills became available since session start.
  • Emit a single-line summary like "(N skills available)" rather than the full catalog.

Actual behavior

Every Skill tool invocation returns the full catalog as a system-reminder. On a long session with multiple skill invocations, this adds ~5,000-10,000 tokens of duplicate noise per invocation, totaling tens of thousands of tokens of context pollution.

Impact

  • Token cost: Significant on Opus and on Sonnet 1M-context. A 4-invocation session can waste ~30-40K tokens on duplicates.
  • Cache efficiency: Cache misses likely after each duplicate emission since system-reminder content varies slightly.
  • Context capacity: On long-running sessions (hours, dozens of skill invocations), this can meaningfully eat into available context.

Reproduction steps

  1. In a Claude Code session, invoke any Skill tool, e.g., Skill(skill: "any-installed-skill").
  2. Observe the tool result — at the bottom is a <system-reminder> block listing all installed skills.
  3. Invoke a different skill — same block re-appears.
  4. Sample the response sizes: each block adds ~5-10K tokens depending on how many skills are installed.

Environment

  • Claude Code CLI (any version) with skills installed.
  • User had ~150 skills installed across ~/.claude/skills/, superpowers:*, compound-engineering:*, plugin namespaces. Severity scales with skill count.

Severity

Medium. Not a correctness bug; a performance/cost bug. But meaningful for users running long agent sessions or paying-by-token workflows.

Suggested fix scope

Three options ordered by simplicity:

  1. Suppress entirely. Don't re-emit the skill list on Skill tool results. The model already has it from session start.
  2. Delta only. Emit only newly-installed skills since session start (likely empty in most sessions).
  3. Token-aware suppression. Suppress when context utilization exceeds a threshold; emit when low.

Option 1 is cleanest. Option 2 preserves "you can install skills mid-session" UX but is more complex.

Real-world severity evidence

In RISM Session 89 (2026-05-05), the user invoked 4 skills during a single workflow (/kk-coding, /skill-creator, plus side-effect invocations from skill expansions). Each invocation re-emitted the full ~150-entry catalog. Estimated duplicate token cost: ~30-40K tokens out of ~1M context. On a typical 5-7-day weekly cycle of heavy use, this multiplies into hundreds of thousands of duplicate tokens.

extent analysis

TL;DR

Suppressing the skill list re-emission on Skill tool results is the most likely fix to reduce duplicate noise and token cost.

Guidance

  • Verify the issue by invoking multiple Skill tools in a Claude Code session and observing the repeated <system-reminder> blocks.
  • Consider implementing the suggested fix scope options, starting with the simplest: suppressing the skill list entirely.
  • To mitigate the issue, developers could explore conditional logic to only emit the skill list when necessary, such as when new skills are installed since session start.
  • Evaluate the impact of the fix on different scenarios, including long-running sessions and various skill invocation patterns.

Example

No code snippet is provided as the issue does not include specific code references.

Notes

The suggested fix scope options have varying levels of complexity, and the chosen solution should balance simplicity with the need to preserve the "you can install skills mid-session" user experience.

Recommendation

Apply the workaround by suppressing the skill list re-emission on Skill tool results, as it is the cleanest and most straightforward solution, addressing the performance and cost issues without introducing significant complexity.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The Skill tool result should NOT re-emit the full available-skills list. Acceptable patterns:

  • Emit nothing about skills (the list is already in context).
  • Emit a short "delta" only if new skills became available since session start.
  • Emit a single-line summary like "(N skills available)" rather than the full catalog.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix `Skill` tool returns include full available-skills catalog (~150 entries) as system-reminder on every invocation, polluting context with duplicate information [1 comments, 2 participants]