Skip to main content
Manifests are the core of how yafai-skills enables Large Language Models (LLMs) to interact with external tools and services.
They act as comprehensive blueprints, defining what a tool can do, how to use it, and what kind of responses to expect.

What is a Skills Manifest?

  • Think of a Manifest as a user manual for a specific tool or API, written in a machine-readable format (YAML).
  • It provides your LLM with all the necessary instructions to:
    • Understand a tool’s capabilities: What actions can it perform?
    • Learn how to use it: What inputs does each action require?
    • Interpret results: How should it understand successful responses and errors?
    • By providing these manifests, yafai-skills allows LLMs to go beyond just generating text, enabling them to execute real-world actions like sending emails, querying databases, or managing tasks.

Anatomy of a Skills Manifest

Action Manifests are defined in YAML files and follow a clear, hierarchical structure.
Basic Structure

Defining Parameters

Parameters are the inputs an action needs. yafai-skills supports various data types to accurately represent your API’s requirements.

Simple Parameter Types

These are straightforward individual values like below,
string: Text (e.g., “hello world”)
integer: Whole numbers (e.g., 123)
boolean: True/False values (e.g., true, false)
Simple Parameters

Complex Parameter Types

These allow for structured data inputs like Arrays, Objects, Nested Arrays/Objects etc.

Object (Structured Data Group)

An object parameter groups several related pieces of information, much like a form with multiple fields.Use properties to define the individual fields (and their types, descriptions, and whether they are required) within the object.Objects are typically sent in the body of a POST or PUT request.