Aetheris Skills System
Aetheris v3.0 introduces a Skills system that enables AI agents to interact with files, execute commands, and perform actions.
Overview
Skills are executable capabilities that AI models can invoke through their respective tool/function calling interfaces:
- Claude: Tool Use format
- Gemini: Function Calling format
- OpenAI: Function Calling format (planned)
Architecture
┌─────────────────────────────────────────────────────────────┐
│ AI Provider │
│ (Claude/Gemini/OpenAI) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Provider Adapter │
│ (Converts between formats) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Skill Registry │
│ ┌─────────────┬─────────────┬─────────────────────────┐ │
│ │ Built-in │ Custom │ MCP Tools │ │
│ │ Skills │ Skills │ (via Bridge) │ │
│ └─────────────┴─────────────┴─────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Skill Types
1. Built-in Skills
Pre-defined skills that come with Aetheris:
| Skill | Description | Requires Confirmation |
|---|---|---|
read_file | Read file contents | No |
write_file | Write/modify files | Yes |
search_files | Search for files | No |
execute_command | Run shell commands | Yes |
See builtin-skills.md for details.
2. Custom Skills
User-defined skills via YAML configuration:
skills:
- name: run_tests
description: Run project tests
command: pytest {path}
parameters:
- name: path
type: string
description: Test path
default: tests/
See custom-skills.md for details.
3. MCP Tools
Skills imported from MCP (Model Context Protocol) servers:
{
"mcp": {
"servers": [
{
"name": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem"]
}
]
}
}
See ../mcp-integration.md for details.
Safety Features
Sandbox Validation
All file operations are sandboxed to the project directory by default:
# Allowed
skill.execute({"path": "src/main.py"})
# Blocked (outside project)
skill.execute({"path": "/etc/passwd"})
Confirmation Prompts
Dangerous operations require user confirmation:
Blocked Commands
Certain shell commands are blocked:
rm -rf /sudo rm- Format/partition commands
- Network attacks
Provider Adapters
Adapters convert skills to provider-specific formats:
Claude (Tool Use)
{
"name": "read_file",
"description": "Read a file's contents",
"input_schema": {
"type": "object",
"properties": {
"path": {"type": "string"}
},
"required": ["path"]
}
}
Gemini (Function Calling)
{
"name": "read_file",
"description": "Read a file's contents",
"parameters": {
"type": "object",
"properties": {
"path": {"type": "string"}
},
"required": ["path"]
}
}
Configuration
Configure skills in config.json:
{
"skills": {
"enabled": true,
"custom_skills_path": "./aetheris-skills/",
"sandbox_enabled": true,
"confirmation_required": ["write_file", "execute_command"],
"disabled_skills": []
}
}
Quick Start
- Enable skills in your config
- Start interactive mode:
aetheris --cli - Ask the AI to perform actions:
- Confirm any write operations when prompted