Goal

constructor(name: String, description: String, pre: Set<String> = emptySet(), inputs: Set<IoBinding> = emptySet(), outputClass: Class<*>?, value: <Error class: unknown class> = 0.0, tags: Set<String> = emptySet(), examples: Set<String> = emptySet(), export: Export = Export())

Parameters

name

name of the goal

description

description of the goal. This should be sufficiently detailed to enable goal choice by an LLM. The goal description may also be exposed to MCP clients as a hint for the goal's purpose, so ensure that it is clear and unambiguous.

pre

preconditions for the goal, as a set of strings. These are the conditions that must be true before the goal can be achieved.

inputs

inputs required for the goal, as a set of IoBinding objects. These are the inputs that must be provided to achieve the goal.

outputClass

if this goal returns a single instance of a Java class, this is the class that will be returned.

value

value of the goal, as a ZeroToOne. This is the value of achieving the goal.

tags

Set of tags describing classes or capabilities for this specific skill. example: "cooking", "customer support", "billing"

examples

The set of example scenarios that the skill can perform. Will be used by the client as a hint to understand how the skill can be used. example: "I need a recipe for bread"