Skip to main content

Skill ABI API Reference

🚧 Work-in-Progress: This documentation is being actively developed.

Overview

The Skill ABI (Application Binary Interface) defines the contract between the Soul Kernel and Skills. This reference documents all types, traits, and functions available in the soul-kernel-skill-abi crate.

Core Trait

Skill

The main trait that all skills must implement.
Thread Safety: Skills must be Send + Sync to support concurrent execution.

Types

Capability

Declares what a skill can do:

SkillInput

Input types that can be passed to skills:

SkillOutput

Output types that skills can return:

ActionCommand

Commands for controlling actuators in Physical AI:

SkillError

Error types for skill execution:

Macros

export_skill!

Generates the required FFI export function:
Expands to:

FFI Functions

create_skill

The C-compatible function that must be exported by dynamic libraries:

Usage Examples

Basic Skill Implementation

Building as Dynamic Library

In Cargo.toml:

Version Compatibility

  • Minimum supported Rust version: 1.79
  • ABI Version: 1.0.0
  • Binary compatibility: Platform-specific (.dylib, .so, .dll)

Safety Considerations

  • Skills run in the same process space
  • No sandboxing in v1 (planned for future)
  • Validate all inputs before processing
  • Handle errors gracefully (no panics)

Change Log

  • 2025-06-12: Initial API documentation for Skill ABI V1
    • Documented all public types and traits
    • Added FFI details and safety notes
    • Included usage examples