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 thesoul-kernel-skill-abi crate.
Core Trait
Skill
The main trait that all skills must implement.
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:
FFI Functions
create_skill
The C-compatible function that must be exported by dynamic libraries:
Usage Examples
Basic Skill Implementation
Building as Dynamic Library
InCargo.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