-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Feature]: Skill lifecycle management — auto-optimization on failure + usage-based retirement #95516
Copy link
Copy link
Open
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.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.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.staleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Metadata
Metadata
Assignees
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.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.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.staleMarked as stale due to inactivityMarked as stale due to inactivity
Type
Fields
Priority
None yet
Summary
Introduce a skill lifecycle management system with two complementary capabilities: (1) automatic skill optimization when execution fails or underperforms, and (2) a usage-based retirement mechanism that archives and eventually removes inactive skills.
Problem to solve
OpenClaw skills are treated as static artifacts. Once created, they never evolve in response to real-world execution results. This creates two pain points:
No feedback loop on failure. When a skill execution fails, produces incorrect output, or underperforms, the user must manually diagnose the issue and edit the skill definition. The system has all the information needed (error traces, user corrections, task outcome) but discards it. Over time, skills drift out of sync with the tools, APIs, or workflows they target.
Skill bloat with no cleanup path. Users accumulate skills over months. Active skills get buried under hundreds of rarely-used ones, inflating skill search noise and context overhead. There is no built-in mechanism to identify, archive, or retire stale skills. The existing
skills.workshop.autonomous.enabledcan create proposals but has no corresponding retirement pathway.Proposed solution
A. Auto-optimization on failure
After a skill execution, detect signals of poor performance:
When detected, automatically generate a Skill Workshop proposal (not a direct edit — safety first) that:
auto-optimizationwith the failure signal as provenanceThis is distinct from #95477's "post-task self-reflection" (which focuses on discovering new skills from successful tasks). This proposal focuses on repairing existing skills from failure signals. Both are valuable and complementary.
B. Usage-based retirement mechanism
Track per-skill usage metrics:
Apply a tiered retirement policy:
skills.retirement.autoDeleteArchived skills should remain readable and restorable. The archive is a visibility filter, not a data deletion.
Integration with existing systems
skills.workshop.autonomous.enabledproposals)openclaw skills lifecyclecommand showing active / archived / retiring skills with their metricsAlternatives considered
Impact
Evidence/examples
Additional information
The auto-optimization and retirement features should be independently toggleable:
This ensures users who want only one feature (e.g., retirement without auto-optimization) can configure it independently.