-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
No guard against skill repos created outside canonical paths #46690
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:data-lossCan lose, corrupt, or silently drop user/session/config data.Can lose, corrupt, or silently drop user/session/config data.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.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.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.staleMarked as stale due to inactivityMarked as stale due to inactivity
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:data-lossCan lose, corrupt, or silently drop user/session/config data.Can lose, corrupt, or silently drop user/session/config data.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.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.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.staleMarked as stale due to inactivityMarked as stale due to inactivity
Type
Fields
Priority
None yet
Bug Summary
When creating or scaffolding skills (via
package_skill.py, manual creation, or skill-creator workflows), nothing prevents the skill directory from being created outside the canonicalworkspace/skills/path. This leads to orphaned skill directories in locations like~/trigger-trap-skill/or~/my-skill/that:workspace/skills/)workspace/skills/Steps to Reproduce
workspace/skills/(e.g.,~/my-new-skill/with a validSKILL.md)workspace/skills/my-new-skill/, there is no detection of the duplicateExpected Behavior
workspace/skills/<name>/and warn if the user specifies a non-canonical pathopenclaw skills listor a diagnostic command should detect skill-like directories (SKILL.mdpresent) outside canonical paths and flag them as orphansopenclaw statusor a startup diagnostic could warn:"Found SKILL.md at ~/trigger-trap-skill/ — this is outside the workspace skills path and will not be loaded"Actual Behavior
No detection, no warning, no cleanup. The orphaned directory sits indefinitely. In our case,
~/trigger-trap-skill/existed for days before being noticed during a manual audit.Environment
Suggested Fix
openclaw skills list --checkoropenclaw statusthat scans~/(depth 1-2) for directories containingSKILL.mdoutside known skill pathsworkspace/skills/<name>/and require an explicit flag to override