Skip to content
Français

defineHarnessSkill

import { defineHarnessSkill } from "@elie-laloum/outpost";

Define a skill: instructions and optional tools that a built-in harness lists by name and description in its system prompt. The model calls load_skill to read the instructions; calls to the skill’s tools are denied until then.

Complete example and detailed rules.

  • optionsRequired
    HarnessSkillOptions
    Skill name, description, instructions and optional tools.
  • options.nameRequired
    string
    Unique skill name of 1 to 64 letters, digits, underscores or hyphens, passed by the model to load_skill.
  • options.descriptionRequired
    string
    Short description listed in the system instructions so the model knows when to load the skill.
  • options.instructionsRequired
    HarnessInstructionSource
    Instructions returned when the skill is loaded: text or a resolver receiving the sandbox, signal and model.
  • options.toolsOptional
    readonly (HarnessTool<unknown> | HarnessToolset)[] | undefined
    Tools or toolsets of the skill. They are offered to the model with the other tools, but a call is denied until the skill is loaded; names must be unique across the harness.

HarnessSkill

export declare function defineHarnessSkill(
  options: HarnessSkillOptions,
): HarnessSkill;