Interface Skill

All Known Subinterfaces:
FileSystemSkill
All Known Implementing Classes:
AbstractSkill, DefaultFileSystemSkill, DefaultSkill

@Experimental public interface Skill
Represents a skill that can be used by an LLM.

A skill has a mandatory name() and description() that the LLM always sees. The LLM can read the full content() and any resources() on demand.

See more details here.

  • Method Summary

    Modifier and Type
    Method
    Description
     
    Returns the full instructions of this skill (e.g. the contents of a SKILL.md file).
    Returns a short description of what this skill does.
    Returns the unique name of this skill.
    Returns the optional list of additional resources associated with this skill (e.g. references, assets, templates, etc.).
    Returns the optional list of tool providers associated with this skill.
  • Method Details

    • name

      String name()
      Returns the unique name of this skill. The LLM uses this name to identify the skill when selecting from the available skills.
    • description

      String description()
      Returns a short description of what this skill does. Shown to the LLM so it can decide which skill is relevant for the current request.
    • content

      String content()
      Returns the full instructions of this skill (e.g. the contents of a SKILL.md file).
    • resources

      default List<SkillResource> resources()
      Returns the optional list of additional resources associated with this skill (e.g. references, assets, templates, etc.).
      Returns:
      the list of resources, empty by default
    • toolProviders

      default List<ToolProvider> toolProviders()
      Returns the optional list of tool providers associated with this skill. These tool providers supply tools that will be exposed to the LLM when this skill is activated.
      Returns:
      the list of tool providers, empty by default
    • builder

      static DefaultSkill.Builder builder()