openclaw - 💡(How to fix) Fix Feature Request: Config-based skill disabling (skills.disabled) [1 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
openclaw/openclaw#60152Fetched 2026-04-08 02:35:40
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0

Add support for disabling skills via configuration without manual filesystem changes.

Error Message

  • Should validate skill names against available skills (warn if unknown skill listed)

Root Cause

Add support for disabling skills via configuration without manual filesystem changes.

Code Example

{
  "skills": {
    "install": {
      "nodeManager": "npm"
    },
    "disabled": [
      "prose",
      "clawflow",
      "gh-issues",
      "tmux",
      "video-frames"
    ]
  }
}
RAW_BUFFERClick to expand / collapse

Feature Request: Config-Based Skill Disabling

Summary

Add support for disabling skills via configuration without manual filesystem changes.

Motivation

Currently, all skills in /usr/lib/node_modules/openclaw/skills/ are loaded into the system prompt context, consuming ~16k tokens per session regardless of whether they're actively used.

For users with specific workflows (e.g., primarily email/calendar management), many skills go unused but still contribute to token costs.

Proposed Solution

Add a skills.disabled array to openclaw.json:

{
  "skills": {
    "install": {
      "nodeManager": "npm"
    },
    "disabled": [
      "prose",
      "clawflow",
      "gh-issues",
      "tmux",
      "video-frames"
    ]
  }
}

When a skill is listed in disabled, OpenClaw should:

  1. Skip loading its SKILL.md into the system prompt
  2. Hide it from the <available_skills> context block
  3. Still allow re-enabling by removing it from the array

Benefits

  • Token savings: ~8-10k tokens/session for users who disable 50-60% of unused skills
  • User control: No need to manually delete/rename system directories
  • Update-safe: Changes persist across OpenClaw version updates
  • Reversible: Easy to re-enable skills as needed

Alternatives Considered

  1. Manual skill deletion — breaks updates, risky
  2. Custom skill directories only — loses access to built-in skills
  3. Accept current state — works, but wasteful for specialized workflows

Use Case

A user running primarily Gmail/Calendar automation doesn't need:

  • Video frame extraction
  • Tmux session control
  • Multi-agent workflow orchestration (ClawFlow)
  • GitHub issue auto-fixing

Disabling these would save ~10k tokens/session while keeping core functionality intact.

Implementation Notes

  • Should validate skill names against available skills (warn if unknown skill listed)
  • Consider adding openclaw config set skills.disabled --append <skill-name> CLI helper
  • Maybe support glob patterns: "disabled": ["*-triage", "video-*"]

Priority: Medium
Impact: Token cost reduction for power users
Complexity: Low (filter available skills during prompt assembly)

extent analysis

TL;DR

Implement a configuration-based skill disabling feature by adding a skills.disabled array to openclaw.json and modifying the skill loading logic to skip disabled skills.

Guidance

  • Validate the proposed solution by testing the skills.disabled array with different skill names and verifying that the corresponding skills are skipped during loading.
  • Consider adding input validation to warn users if an unknown skill is listed in the disabled array.
  • Evaluate the feasibility of implementing a CLI helper, such as openclaw config set skills.disabled --append <skill-name>, to simplify the process of disabling skills.
  • Assess the potential benefits and challenges of supporting glob patterns in the disabled array, such as "disabled": ["*-triage", "video-*"].

Example

{
  "skills": {
    "install": {
      "nodeManager": "npm"
    },
    "disabled": [
      "prose",
      "clawflow",
      "gh-issues",
      "tmux",
      "video-frames"
    ]
  }
}

This example demonstrates how to configure the skills.disabled array in openclaw.json to disable specific skills.

Notes

The implementation of this feature should ensure that the changes persist across OpenClaw version updates and that users can easily re-enable skills as needed.

Recommendation

Apply the proposed workaround by implementing the skills.disabled array and modifying the skill loading logic to skip disabled skills, as this approach offers a low-complexity solution with significant token cost reduction benefits for power users.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING