Skip to content

create_skill description omits the required SKILL_DEFINITION export #630

Description

@Calmingstorm

Summary

The create_skill tool description tells the model to define async def execute(inp, context), but not that the module must also export a SKILL_DEFINITION dict with name, description and an object input_schema. The loader requires that dict, so a first attempt that follows the description fails.

The description also says "See data/skills/*.template", but no .template files are present in an installed data/skills/. The model cannot reach that guidance either.

Evidence (live, v4.10.0 campaign branch deploy, 2026-09-29)

  • A model-authored skill following the description failed to load: Failed to load skill live_battery_probe.py: SKILL_DEFINITION must be an object.
  • The tool result was Skill file written but failed to load. Check syntax and required exports (SKILL_DEFINITION dict + async execute function).
  • The loader's requirements are in src/tools/skill_manager.py: SKILL_DEFINITION must be an object with a valid name, a string description and an object input_schema.

Expected

  • The create_skill description states the full module contract, SKILL_DEFINITION plus execute, with a minimal example.
  • It no longer points at template files that are not shipped where the model can see them.

Impact

Every install: the first skill created from the description alone fails. The load error names the requirement, so a retry usually recovers, but it costs a failed tool call and can derail a turn.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions