Skip to content

feat(skills): add include_list_skills to inject the L1 catalog without list_skills #7092

Description

@thomaslprr

Required Information

Is your feature request related to a specific problem?

list_skills costs an extra model turn before load_skill. The only way to inject the L1 catalog as <available_skills> XML was to drop ListSkillsTool from the private _tools list. tool_filter is an allowlist, so hiding just list_skills means naming every other skill tool.

Describe the Solution You'd Like

A public SkillToolset(include_list_skills=True|False) flag.

  • True (default): keep list_skills.
  • False: hide list_skills and inject the local L1 catalog into the system instruction so the model can call load_skill directly.

Impact on your work

Needed to load skills without a discovery round trip, without mutating private attributes.

Willingness to contribute

Yes. I will submit a PR.

Recommended Information

Describe Alternatives You've Considered

  • Mutating skill_tools._tools (works, not a public API).
  • tool_filter=["load_skill", ...] (works since the tool_filter/instruction fix, but is an allowlist).

Proposed API / Implementation

SkillToolset(skills=[shopping_advice_skill], include_list_skills=False)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions