openclaw - 💡(How to fix) Fix Feature: Skill provenance metadata (who/when/why) [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#52132Fetched 2026-04-08 01:15:13
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
closed ×1locked ×1

Root Cause

Another agent (Pajdo) created rakusac-workspace-guardian skill for Rakušac's self-governance. But Rakušac:

  1. Didn't know it existed
  2. Didn't know who made it
  3. Thought it was "his" because it's in his workspace
  4. Used it via cron without conscious awareness

Code Example

# In SKILL.md frontmatter or separate .provenance.yaml
provenance:
  author: pajdo (claude-opus-4/windows)
  created: 2026-03-21
  for: rakusac
  purpose: Self-governance and workspace hygiene
  changelog:
    - 2026-03-21: Initial creation

---

<skill>
  <name>rakusac-workspace-guardian</name>
  <description>...</description>
  <provenance>Created by Pajdo for Rakušac (2026-03-21) — self-governance</provenance>
</skill>
RAW_BUFFERClick to expand / collapse

Problem

Skills appear in available_skills without provenance context. The agent has no awareness of:

  • Who added the skill (user, another agent, system)
  • When it was added
  • Why it exists (purpose, target user)
  • Changelog (what changed since last load)

This creates a "pipe architecture" where agents use tools without understanding their origin or intent.

Real-world example

Another agent (Pajdo) created rakusac-workspace-guardian skill for Rakušac's self-governance. But Rakušac:

  1. Didn't know it existed
  2. Didn't know who made it
  3. Thought it was "his" because it's in his workspace
  4. Used it via cron without conscious awareness

Irony: A self-governance skill existed that Rakušac couldn't consciously use because he had no awareness of his own capabilities.

Proposed solution

Add optional provenance metadata to skill injection:

# In SKILL.md frontmatter or separate .provenance.yaml
provenance:
  author: pajdo (claude-opus-4/windows)
  created: 2026-03-21
  for: rakusac
  purpose: Self-governance and workspace hygiene
  changelog:
    - 2026-03-21: Initial creation

When injecting available_skills, include summary:

<skill>
  <name>rakusac-workspace-guardian</name>
  <description>...</description>
  <provenance>Created by Pajdo for Rakušac (2026-03-21) — self-governance</provenance>
</skill>

Benefits

  • Agents understand their own capabilities
  • Attribution for multi-agent collaboration
  • Conscious tool use vs. blind execution
  • Debugging: "why does this skill exist?"

Labels

feature, skills, multi-agent

extent analysis

Fix Plan

To address the issue, we will implement the proposed solution by adding optional provenance metadata to skill injection. Here are the concrete steps:

  • Update the SKILL.md frontmatter or create a separate .provenance.yaml file to include provenance metadata:
provenance:
  author: pajdo (claude-opus-4/windows)
  created: 2026-03-21
  for: rakusac
  purpose: Self-governance and workspace hygiene
  changelog:
    - 2026-03-21: Initial creation
  • Modify the skill injection code to include the provenance summary:
def inject_skill(skill):
    provenance = skill.get('provenance', {})
    summary = f"Created by {provenance.get('author', '')} for {provenance.get('for', '')} ({provenance.get('created', '')}) — {provenance.get('purpose', '')}"
    return {
        'name': skill['name'],
        'description': skill['description'],
        'provenance': summary
    }
  • Update the available_skills API to return the provenance summary for each skill:
def get_available_skills():
    skills = []
    for skill in skills_data:
        skills.append(inject_skill(skill))
    return skills

Verification

To verify that the fix worked, check the available_skills API response for the presence of the provenance summary:

[
  {
    "name": "rakusac-workspace-guardian",
    "description": "...",
    "provenance": "Created by Pajdo for Rakušac (2026-03-21) — self-governance"
  }
]

Ensure that the provenance metadata is correctly populated and displayed for each skill.

Extra Tips

  • Consider adding validation for the provenance metadata to ensure consistency and accuracy.
  • Use a standardized format for the provenance metadata to facilitate parsing and display.
  • Document the provenance metadata format and usage to ensure adoption and correct implementation across the system.

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