Skip to content

Skills silently truncated - user-created skills invisible with no warning or prioritization #50677

Description

@barronlroth

Problem

When the number of eligible skills exceeds the prompt token budget, OpenClaw truncates the skills list injected into the system prompt. Currently this happens silently from the users perspective:

  • A note ("Skills truncated: included 68 of 90") appears in the system prompt, but the agent sees it, not the user. In practice, even the agent ignores it. With skills spread across ~/.agents/skills/ and ~/.openclaw/skills/, there is no easy way to tell which skills got cut without running openclaw skills check and cross-referencing the agents available_skills list.
  • User-created skills can be dropped entirely. I had a custom skill in ~/.openclaw/skills/ that was eligible (openclaw skills check confirmed it), but it never appeared in the agents available_skills list. I had to manually inspect the filesystem to confirm the skill existed and was properly formatted.
  • The agent behaved as if the skill did not exist. It confidently told me no such skill was found, because from its perspective, it was not there.
  • There is no documentation about the skills list having a token limit or what happens when it is exceeded.

This is particularly bad for skills containing critical operational rules. If the agent cannot see the skill, it cannot follow the rules.

Expected behavior

  • User-created skills should not be silently dropped from the prompt without the user knowing.
  • Users should have a way to ensure specific skills are always loaded.

Proposed solutions (any/all)

  1. Skill pinning / priority - Allow skills.entries.<name>.priority: "high" or skills.entries.<name>.pinned: true in config so critical skills survive truncation.

  2. Per-topic required skills - Config like channels.telegram.groups.<id>.topics.<id>.skills: ["maitre-d"] that force-loads specific skills for a given conversation context, regardless of the global truncation budget.

  3. Context-aware truncation - Instead of a static cutoff, prioritize skills that match the active channel/topic/conversation context before truncating less relevant ones.

  4. Surface truncation to the user - If skills are dropped, warn the user (e.g., a one-time message or log entry listing which skills were excluded), not just the agent.

  5. Document the limit - The Skills docs describe token impact per-skill but do not mention that the list is truncated at a budget ceiling, or what that ceiling is. This should be documented so users can plan accordingly.

Environment

  • OpenClaw 2026.2.22-2
  • 90 eligible skills, 68 included in prompt
  • Skills spread across multiple valid locations (~/.agents/skills/, ~/.openclaw/skills/, <workspace>/skills/) - all confirmed eligible via openclaw skills check, but only a subset visible to the agent at runtime due to truncation

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions