Skip to content

[Feature]: Slim the Skill Workshop system-prompt section; move mechanics into the tool schema #100449

Description

@steipete

Summary

Slim the Skill Workshop system-prompt section to the routing contract and move per-action mechanics into the skill_workshop tool schema; soften the wording so the section states one rule once.

Problem to solve

Whenever the skill_workshop tool is available, every conversation carries a 13-line system-prompt section (src/agents/skill-workshop-prompt.ts, injected at src/agents/system-prompt.ts:970). Three problems:

  1. Cost: it is paid on every API call for every session with the tool, but most of it is per-action mechanics (create vs update vs revise selection, proposal_id resolution, the 160-byte description limit, list/inspect discovery rules) that only matter mid-tool-use — exactly what parameter descriptions in the tool schema are for.
  2. Tone/complexity: the section restates "do not do this manually / must go through skill_workshop" three separate times (lines 13, 21, 22). Community feedback is blunt — users describe the wording as heavy-handed, and the documented workaround making the rounds is to disable the skill_workshop tool entirely so agents can write skills again, which throws away the whole review pipeline to escape one prompt section (Discord #clawtributors, 2026-06-08: "this wording is horrific imho, as it explicitly forbids any skill creation outside of the workshop" → "just disable the skill_workshop tool in your config").
  3. Perception: the workshop reads as a gate rather than a helper. The routing rule is legitimate (durable skill writes go through the reviewable proposal flow); it just doesn't need a page of prohibitions to say so.

Proposed solution

  • Reduce the system-prompt section to ~3-4 lines: when to route to skill_workshop (durable skill/playbook/workflow requests), that proposal writes and lifecycle changes go through the tool rather than manual file edits, and that proposals stay pending unless the user explicitly asks to apply/reject/quarantine.
  • Move action-selection guidance (create/update/revise semantics, proposal_id/name resolution, description byte limit, list/inspect for discovery) into the skill_workshop tool's action/parameter descriptions in src/agents/tools/skill-workshop-tool.ts, compressing overall so combined bytes go down, not sideways.
  • Keep the injection gate as-is (section only present when the tool is available).
  • Regenerate prompt snapshots; adjust src/agents/system-prompt.test.ts and workshop tool tests.

Alternatives considered

  • Move the whole section into an opt-in skill (community suggestion): loses the routing contract for everyone who does want reviewable proposals; the objection is verbosity/tone, not the existence of routing.
  • Leave as-is: the escape hatch users share (disable the tool) silently kills proposal review — worse than the problem.
  • Delete the routing rule entirely: direct skill writes bypass review/quarantine and the approval policy; the rule is the workshop's contract.

Impact

  • Affected: every session on every agent where skill_workshop is exposed (host agents by default).
  • Severity: medium — recurring token cost plus a documented user pattern of disabling the review pipeline.
  • Frequency: every API call in affected sessions.
  • Consequence today: prompt bloat, and users opting out of the workshop wholesale.

Evidence

This issue is deliberately scoped to the prompt/schema split; the linked issues own the other workshop friction.

Metadata

Metadata

Assignees

Labels

P2Normal backlog priority with limited blast radius.clawsweeper:needs-product-decisionClawSweeper 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:source-reproClawSweeper found a high-confidence source-level issue reproduction.enhancementNew feature or requestimpact:ux-frictionUser-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.maintainerMaintainer-authored PR

Type

No type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions