openclaw - 💡(How to fix) Fix Feature Request: User-Level Skill Preferences/Conventions Support [2 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#48918Fetched 2026-04-08 00:51:04
View on GitHub
Comments
2
Participants
2
Timeline
2
Reactions
0
Timeline (top)
commented ×2

Fix Action

Fix / Workaround

Current workarounds:

  • ❌ Edit ~/clawd/skills/accli/SKILL.md → Overwrites system skill, maintenance burden
  • ❌ Add to ~/clawd/SOUL.md → Loaded on every session, wastes tokens
  • ❌ Add to ~/clawd/TOOLS.md → Global pollution, not skill-scoped
  • ✅ Create ~/clawd/skills/accli/conventions.md → Works, but not officially supported

Current Workaround (For Reference)

Code Example

~/clawd/skills/accli/
├── SKILL.md              # Optional: Only if overriding system skill
├── preferences.md        # ✅ User preferences (auto-loaded when skill triggers)
├── scripts/              # User scripts
└── ...

---

# ~/.openclaw/skills/accli/config.yaml
calendar_defaults:
  title_prefix: "🐱"
  priority:
    - Family
    - Work
    - Home

---

# SKILL.md

## User Conventions
<!-- This section is auto-extracted and loaded when skill triggers -->
- Calendar titles must start with 🐱
- Prefer Family calendar for school events
RAW_BUFFERClick to expand / collapse

Feature Request: User-Level Skill Preferences/Conventions Support

Problem Statement

Currently, OpenClaw lacks a standardized mechanism for users to define personal preferences or conventions for specific skills without:

  1. Overriding the entire SKILL.md (which requires copying system skill content)
  2. Polluting global context files (SOUL.md/TOOLS.md/MEMORY.md) with skill-specific details
  3. Wasting tokens by loading preferences on every session rather than when the skill is triggered

Use Case Example

Scenario: User wants all calendar events created via accli skill to have a specific prefix (e.g., 🐱) and follow a preferred calendar selection priority (Family > Work > Home).

Current workarounds:

  • ❌ Edit ~/clawd/skills/accli/SKILL.md → Overwrites system skill, maintenance burden
  • ❌ Add to ~/clawd/SOUL.md → Loaded on every session, wastes tokens
  • ❌ Add to ~/clawd/TOOLS.md → Global pollution, not skill-scoped
  • ✅ Create ~/clawd/skills/accli/conventions.md → Works, but not officially supported

Proposed Solution

Option A: preferences.md Convention (Recommended)

Standardize a preferences.md (or conventions.md) file within the user skill directory:

~/clawd/skills/accli/
├── SKILL.md              # Optional: Only if overriding system skill
├── preferences.md        # ✅ User preferences (auto-loaded when skill triggers)
├── scripts/              # User scripts
└── ...

Loading behavior:

  1. Skill triggers → Load system SKILL.md
  2. Check for ~/clawd/skills/{skill}/preferences.md
  3. If exists, append/merge with skill context (lower precedence than SKILL.md)

Option B: .openclaw/skills/{skill}/config.yaml

Structured configuration separate from skill directory:

# ~/.openclaw/skills/accli/config.yaml
calendar_defaults:
  title_prefix: "🐱"
  priority:
    - Family
    - Work
    - Home

Option C: In-SKILL.md Convention Section

Allow a reserved section in user SKILL.md:

# SKILL.md

## User Conventions
<!-- This section is auto-extracted and loaded when skill triggers -->
- Calendar titles must start with 🐱
- Prefer Family calendar for school events

Benefits

  1. Token Efficiency: Only loaded when skill is triggered
  2. Clean Separation: User preferences don't mix with skill implementation
  3. Maintainability: System skill updates don't break user customizations
  4. Discoverability: Standard location for skill-specific user settings

Current Workaround (For Reference)

We currently use ~/clawd/skills/{skill}/conventions.md and manually read it when the skill is triggered, but this relies on agent behavior rather than framework support.

Related Discussions

  • Skill loading order: System → User override (current)
  • Context window optimization: Avoid loading unused skill preferences
  • User customization vs. skill encapsulation balance

Would love to hear thoughts on which approach aligns best with OpenClaw's architecture philosophy.

extent analysis

Fix Plan

To implement user-level skill preferences/conventions support, we will use Option A: preferences.md Convention. Here are the steps:

  • Create a preferences.md file in the user skill directory: ~/clawd/skills/{skill}/preferences.md
  • Update the skill loading behavior to check for the preferences.md file and append/merge its content with the skill context
  • Use a lower precedence for preferences.md than SKILL.md to avoid overriding system skill settings

Example preferences.md file:

# Calendar settings
- title_prefix: "🐱"
- priority:
  - Family
  - Work
  - Home

Example code to load preferences.md file:

import os

def load_skill_preferences(skill_dir):
    preferences_file = os.path.join(skill_dir, 'preferences.md')
    if os.path.exists(preferences_file):
        with open(preferences_file, 'r') as f:
            preferences = f.read()
        # Append/merge preferences with skill context
        return preferences
    return None

Verification

To verify that the fix worked, create a preferences.md file in a user skill directory and trigger the skill. The preferences should be loaded and applied correctly.

Extra Tips

  • Use a consistent naming convention for the preferences.md file across all skills
  • Consider adding validation for the preferences.md file content to ensure it is in the correct format
  • Document the preferences.md file format and usage in the OpenClaw documentation to help users understand how to use it.

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: User-Level Skill Preferences/Conventions Support [2 comments, 2 participants]