refactor: replace fetch_instructions with skill tool and built-in skills#10913
Conversation
Re-review: 1 new issue found.
Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
d876abc to
99b424c
Compare
|
|
||
| // Build approval message | ||
| const toolMessage = JSON.stringify({ | ||
| tool: "skill", |
There was a problem hiding this comment.
SkillTool sends the approval payload as { "tool": "skill", ... }, but ClineSayTool in @roo-code/types does not include a "skill" variant and the webview ChatRow renderer has no case for it. In practice this can render as an unknown tool request (or fail type-safely elsewhere) when the UI tries to parse/display the approval.
Fix it with Roo Code or mention @roomote and request a fix.
b6f7fe0 to
a0d5728
Compare
d83a9c5 to
57f977f
Compare
- Add built-in skills (create-mcp-server, create-mode) following slash commands pattern - Update SkillsManager to merge built-in skills with user skills - Remove FetchInstructionsTool and related infrastructure - Remove enableMcpServerCreation setting and UI checkbox - Remove auto-approval logic for fetchInstructions - Update system prompt sections to remove fetch_instructions references Built-in skills are now available through the skills system with override precedence: project > global > built-in
- Remove <location> from built-in skills in prompt (only show for file-based skills) - Add 'skill' case to ChatRow.tsx for tool approval UI rendering - Add 'skill' to ClineSayTool union type and interface - Update i18n keys from 'instructions' to 'skill'
…L.md files - Add generate-built-in-skills.ts script to parse SKILL.md files and generate TypeScript - Add prebundle npm script to auto-generate before builds - Create built-in/create-mode/SKILL.md for mode creation instructions - Create built-in/mcp-builder/ with comprehensive MCP server development guide - Add project-level .roo/skills/mcp-builder/ skill - Add tests for the generation script - Update built-in-skills.ts to be auto-generated (DO NOT EDIT DIRECTLY) The source of truth is now the SKILL.md files. Run 'pnpm generate:skills' to regenerate.
The generator now runs prettier on the output file after generation. This ensures the generated file is already formatted and won't change when the pre-commit hook runs prettier via lint-staged.
|
@roomote please resolve the merge conflicts with origin/main |
Resolved merge conflicts with origin/main. All local checks passed. |
|
🚀 Preview deployed! Your changes have been deployed to Vercel: This preview will be updated automatically when you push new commits to this PR. |
| description: ARGS_PARAMETER_DESCRIPTION, | ||
| }, | ||
| }, | ||
| required: ["skill", "args"], |
There was a problem hiding this comment.
In the OpenAI tool schema, args is documented as optional but is currently included in required, which forces callers to always provide it (usually as null). Making args truly optional avoids schema/documentation mismatch and reduces invalid tool payload risk if other tool-callers omit it.
Fix it with Roo Code or mention @roomote and request a fix.
Closes #11062
Summary
This PR replaces the
fetch_instructionstool with a new unified skill tool system, making it easier for Roo to load specialized instructions for common tasks.What Changed
New Skill Tool
skilltool to load instructions for tasks like creating MCP servers or custom modesBuilt-in Skills
Two built-in skills are now included:
Removed Settings
New Diff Toggle Setting
diffEnabledsetting to control whether diff-based editing tools are availableHow This Affects You
For most users: No action required. Roo will automatically use the new skill system when you ask it to create MCP servers or custom modes.
For users with custom skills: Your existing project and global skills continue to work and take priority over built-in skills.
For users who disabled MCP server creation: The toggle has been removed. If you don't want Roo to create MCP servers, simply don't ask it to—the instructions are only loaded on demand.
Why This Change
Follow-up Work