Summary
SubAgentTool has no way to give a spawned sub-agent a SkillSet. Skills attach only to a top-level Agent (via Agent::with_skills, which prepends SkillSet::format_for_prompt() to the system prompt). SubAgentTool exposes no equivalent builder, and its internal AgentLoopConfig has no skills field — so a dispatched sub-agent never sees the parent's skills.
Why it matters
When a skill-using parent dispatches a sub-agent for a sub-task (e.g. "research X"), all skill context is dropped. The sub-agent can't follow skill recipes — in our downstream project that means a research skill (which defines how to call our search/read APIs) is invisible to the sub-agent, so it answers from the model's parametric knowledge instead of using the skill's tools/recipe.
Current API (yoagent 0.8.3)
SubAgentTool builders: with_description, with_system_prompt, with_model, with_api_key, with_tools, with_thinking, with_max_tokens, with_cache_config, with_tool_execution, with_retry_config, with_max_turns, with_shared_state, with_turn_delay, with_model_config. No with_skills. AgentLoopConfig has no skills field.
Request
Add a way to pass a SkillSet to SubAgentTool — e.g. SubAgentTool::with_skills(SkillSet) — wired into the sub-agent loop the same way Agent::with_skills does (prepend SkillSet::format_for_prompt() to the system prompt, and/or carry the set into AgentLoopConfig).
Workaround meanwhile
Appending skills.format_for_prompt() to SubAgentTool::with_system_prompt(...) makes a sub-agent skill-aware (it sees the skill index), but a first-class with_skills would be cleaner and consistent with Agent.
Context: downstream project yoyo (built on yoagent) — https://github.com/yologdev/yoyo-evolve
Summary
SubAgentToolhas no way to give a spawned sub-agent aSkillSet. Skills attach only to a top-levelAgent(viaAgent::with_skills, which prependsSkillSet::format_for_prompt()to the system prompt).SubAgentToolexposes no equivalent builder, and its internalAgentLoopConfighas noskillsfield — so a dispatched sub-agent never sees the parent's skills.Why it matters
When a skill-using parent dispatches a sub-agent for a sub-task (e.g. "research X"), all skill context is dropped. The sub-agent can't follow skill recipes — in our downstream project that means a
researchskill (which defines how to call our search/read APIs) is invisible to the sub-agent, so it answers from the model's parametric knowledge instead of using the skill's tools/recipe.Current API (yoagent 0.8.3)
SubAgentToolbuilders:with_description,with_system_prompt,with_model,with_api_key,with_tools,with_thinking,with_max_tokens,with_cache_config,with_tool_execution,with_retry_config,with_max_turns,with_shared_state,with_turn_delay,with_model_config. Nowith_skills.AgentLoopConfighas noskillsfield.Request
Add a way to pass a
SkillSettoSubAgentTool— e.g.SubAgentTool::with_skills(SkillSet)— wired into the sub-agent loop the same wayAgent::with_skillsdoes (prependSkillSet::format_for_prompt()to the system prompt, and/or carry the set intoAgentLoopConfig).Workaround meanwhile
Appending
skills.format_for_prompt()toSubAgentTool::with_system_prompt(...)makes a sub-agent skill-aware (it sees the skill index), but a first-classwith_skillswould be cleaner and consistent withAgent.Context: downstream project yoyo (built on yoagent) — https://github.com/yologdev/yoyo-evolve