Skip to content

SubAgentTool cannot attach a SkillSet (no with_skills) #45

Description

@yuanhao

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions