openclaw - 💡(How to fix) Fix Feature Request: Per-binding skill filtering [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
openclaw/openclaw#59590Fetched 2026-04-08 02:42:48
View on GitHub
Comments
1
Participants
2
Timeline
1
Reactions
0
Author
Participants
Timeline (top)
commented ×1

Add a skills field to bindings, allowing the same agent to load different skill sets depending on which channel/binding is active.

Root Cause

Add a skills field to bindings, allowing the same agent to load different skill sets depending on which channel/binding is active.

Fix Action

Fix / Workaround

Current Workaround

Code Example

{
  "bindings": [
    {
      "channel": "discord:123456",
      "agent": "shrimp-cracker",
      "skills": ["archive-reader-v2", "translate", "content-fetcher"]
    },
    {
      "channel": "discord:789012",
      "agent": "shrimp-cracker",
      "skills": ["image-generator", "openai-image-gen"]
    }
  ]
}
RAW_BUFFERClick to expand / collapse

Summary

Add a skills field to bindings, allowing the same agent to load different skill sets depending on which channel/binding is active.

Motivation

Currently, skill filtering is only available at the agent level (agents.list[].skills). This means if you want different skills in different channels, you need separate agents — each requiring its own bot token, session management, and config overhead.

A per-binding skills field would allow a single agent to adapt its capabilities based on context:

  • Archive channel → loads archive/translate skills
  • Art channel → loads image-generation skills
  • Code review channel → loads GitHub/coding skills
  • General channel → loads all skills

This is especially useful for setups with many specialized channels but limited agent slots (e.g., Discord bot token limits).

Proposed Config

{
  "bindings": [
    {
      "channel": "discord:123456",
      "agent": "shrimp-cracker",
      "skills": ["archive-reader-v2", "translate", "content-fetcher"]
    },
    {
      "channel": "discord:789012",
      "agent": "shrimp-cracker",
      "skills": ["image-generator", "openai-image-gen"]
    }
  ]
}

Behavior

  • When skills is set on a binding, it overrides the agent-level skills for that session
  • When skills is null or absent, falls back to the agent-level skills setting
  • The agent-level skills remains as the default/fallback

Benefits

  • Reduced agent overhead — one agent, many roles
  • Context savings — only relevant skill descriptions are injected into the system prompt
  • Cleaner architecture — no need to create dummy agents just for skill routing
  • Familiar pattern — similar to how Claude Code filters tools per sub-agent

Current Workaround

Create separate agents per skill-set, each bound to specific channels. Works but does not scale well.

extent analysis

TL;DR

Implement a skills field at the binding level to allow an agent to load different skill sets based on the active channel.

Guidance

  • Review the proposed config format to understand how to specify skills per binding, using the bindings array with channel, agent, and skills fields.
  • Verify that the agent-level skills setting is correctly overridden by the binding-level skills when set, and that the fallback to agent-level skills works when skills is null or absent at the binding level.
  • Test the behavior with different channel and skill combinations to ensure the desired context-based skill loading is achieved.
  • Consider the benefits of reduced agent overhead, context savings, and cleaner architecture when implementing this feature.

Example

{
  "bindings": [
    {
      "channel": "discord:123456",
      "agent": "example-agent",
      "skills": ["skill1", "skill2"]
    }
  ]
}

Notes

The implementation details of the skills field and its interaction with the agent-level settings are crucial for correct functionality. Ensure that the override and fallback behaviors are properly handled.

Recommendation

Apply the proposed config format with the skills field at the binding level, as it provides a scalable solution for loading different skill sets based on the active channel, reducing agent overhead and improving architecture cleanliness.

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

openclaw - 💡(How to fix) Fix Feature Request: Per-binding skill filtering [1 comments, 2 participants]