Description
Problem
The current Skill system runs as a separate pipeline from the main agent loop. When a skill is matched, do_skill() short-circuits the run loop and returns immediately — MCP tools are never invoked. This leads to several related issues:
- Skills and MCP tools are mutually exclusive within a single task
- Skills are only evaluated on the first conversation round (
round == 0)
- Skill results are not passed into subsequent tool-calling steps
- No streaming output during skill execution
Direction
Unify skills with the tool-calling mechanism — expose skill operations (skill_list, skill_view, skill_execute) as standard tools via ToolBase, so they coexist with MCP tools in the same step() loop. Inject skill summaries into the system prompt for discoverability.
Status
Analysis complete. Design under discussion — feedback welcome.
Description
Problem
The current Skill system runs as a separate pipeline from the main agent loop. When a skill is matched,
do_skill()short-circuits the run loop and returns immediately — MCP tools are never invoked. This leads to several related issues:round == 0)Direction
Unify skills with the tool-calling mechanism — expose skill operations (
skill_list,skill_view,skill_execute) as standard tools viaToolBase, so they coexist with MCP tools in the samestep()loop. Inject skill summaries into the system prompt for discoverability.Status
Analysis complete. Design under discussion — feedback welcome.