-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
skill-creator bypasses skill_workshop proposal workflow, violating its own policy #96054
Copy link
Copy link
Closed
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:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.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:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.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:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.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:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.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 built-in
skill-creator(skills/skill-creator/) directly writesSKILL.mdviainit_skill.py, bypassing theskill_workshopproposal workflow that the same system explicitly requires. This creates a self-contradiction within the repository.The problem
1. Policy layer: the rule-maker breaks its own rule
skill_workshopinjects a hard constraint into every Agent's system prompt:This mandates that all skill creation and modification go through the controlled
skill_workshopproposal pipeline. Yetinit_skill.pyin the built-inskill-creatordoes exactly what this rule forbids — it callswrite_text()directly to createSKILL.md, with no proposal step whatsoever. When an Agent is routed toskill-creatorto create a skill, it is executing a code path that the same system declares prohibited.2. Tool layer: two parallel write paths with no awareness of each other
skill_workshopis designed as the single controlled entry point for writing skill files. Every write must pass through:But
init_skill.pyis a second, completely unregulated path. Creating a skill through this path:The two paths operate independently with no mutual exclusion, cross-checking, or integration logic. Which path an Agent takes depends on which tool's triggering keywords match the prompt, not on a deliberate architectural decision.
Expected behavior
skill-creatorshould delegate file writes toskill_workshop(create/update/apply), so that all skill file modifications go through the unified proposal workflow. Theinit_skill.pydirect-write path should be either removed or relegated to a documented fallback that only activates whenskill_workshopis unavailable.Current impact
Within the same repository, one system (
skill_workshop, ~979 lines of service code) is dedicated to "safe, controlled writing", while another system (init_skill.py, one line ofwrite_text()) bypasses all of it.