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

No one assigned

    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