openclaw - 💡(How to fix) Fix Custom skills are not visible in private chats [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#54335Fetched 2026-04-08 01:28:50
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Participants
Timeline (top)
closed ×1locked ×1
RAW_BUFFERClick to expand / collapse

I've encountered an issue where custom skills I've installed are not being recognized or loaded in private (DM) chats, whereas they function correctly and are discoverable in group chat contexts.

Steps to Reproduce

  1. Install a custom skill.
  2. Attempt to invoke/query available skills in a private chat (DM).
  3. Observe that the skill is not listed or accessible.
  4. Compare with group chat where the skill is correctly identified and accessible.

Expected Behavior

Installed skills should be globally available across both private chats and group chats.

Additional Info

Observed in current version on local setup.

extent analysis

Fix Plan

The fix involves modifying the skill loading mechanism to include custom skills in private chats.

Steps to Fix

  • Update the skill loader to check for custom skills in private chats:
    • Modify the loadSkills function to include a check for private chats.
    • Use a flag to indicate whether the chat is private or not.
  • Example code snippet:
def loadSkills(chat_type):
    # Load default skills
    skills = loadDefaultSkills()
    
    # Check if chat is private
    if chat_type == 'private':
        # Load custom skills for private chats
        custom_skills = loadCustomSkills('private')
        skills.extend(custom_skills)
    else:
        # Load custom skills for group chats
        custom_skills = loadCustomSkills('group')
        skills.extend(custom_skills)
    
    return skills
  • Update the loadCustomSkills function to handle private chats:
def loadCustomSkills(chat_type):
    # Load custom skills from database or storage
    custom_skills = []
    # ... (database query or file loading code)
    return custom_skills

Verification

  • Test the skill loading in private chats by invoking the loadSkills function with chat_type set to 'private'.
  • Verify that the custom skills are listed and accessible in private chats.

Extra Tips

  • Ensure that the loadCustomSkills function is properly handling errors and exceptions.
  • Consider adding logging to track skill loading issues in private chats.

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