-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
skill_workshop MCP action=create makes a sibling skill when the proposal is clearly meant to patch existing skills #94947
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Summary
The
skill_workshopMCP tool'saction=createalways materializes a new sibling skill even when the proposal is clearly intended to patch one or more existing skills. There is no MCP action that maps to "improve / patch existing skill(s)" the way the CLI'sopenclaw skills workshop propose-update <skill>does, and the existingaction=updateonly handles a single target skill.This leads to silent wrong-target landings: a proposal whose content describes patches to skills A, B, C plus new helper scripts in skill D lands as a brand-new sibling skill containing all of that content, leaving A/B/C/D untouched.
Environment
2026.6.8 (844f405)v24.16.0skill_workshoptool exposed by the standard OpenClaw runtimeReproduction
skills/foo/,skills/bar/).skills/foo-hardening/is created as a new sibling skill containingSKILL.md,scripts/new-helper.js,references/extra.csv.skills/foo/andskills/bar/are untouched.Expected behaviour
One of:
propose-updateorpatchaction that accepts one or more target skill names and a structured set of patches (markdown sections to insert, files to add/replace within an existing skill tree).action=createrejects (or at least warns about) proposals whoseproposal_contentclearly references existing skill directories (skills/<name>/...paths in the scope table or support_files), and prompts for explicit per-skillpropose-updatecalls.action=createalways creates a sibling skill, and tells the agent to enumerate multi-skill changes as separatepropose-updatecalls.Actual behaviour
The MCP tool silently treats the whole multi-skill proposal as a single new skill. The user then has to manually re-apply the proposal's intended patches against the right existing skills, then delete the unintended sibling.
Workaround
After applying:
support_fileslisted underscripts/into the intended existing skill'sscripts/directory.references/additions (CSVs, glossaries) to the intended existing files, deduping.SKILL.mdand insert it into the right anchor in the intended existing skills'SKILL.mdfiles.Suggested fixes
skill_workshop action="propose-patch"(or rename and extendaction="update") that takes a list oftargets: [{ skill: "<existing-skill>", edits: [...] }]. Eachedits[]entry would be an anchored append or insert, mirroring theedittool's semantics.action="create": when the proposal_content referencesskills/<existing-skill-name>/paths, return a structured warning that lists the affected existing skills and asks the agent to convert the call into Npropose-updatecalls.skill_workshopMCP tool description that proposals always create new sibling skills and that the agent must split multi-skill changes itself.Impact
When this misfires, the new rules and new scripts the user wanted on their existing pipeline silently land in an unused sibling skill. The user keeps hitting the original gap in production until the agent (or the user) realizes the proposal didn't land where they thought it would. In the session that surfaced this issue, the misfire was caught the same day, but a less attentive review cycle would leave the workspace in a quietly broken state.
Happy to test a fix or share a redacted before/after of the workspace if useful.