Skill execution context management.
This crate provides types and utilities for defining and managing execution contexts for skill-engine skills. An execution context defines the complete environment in which a skill's tools execute, including:
- File and directory mounts
- Environment variables
- Secrets and credentials
- Resource limits (CPU, memory, network)
- Runtime-specific overrides
Core Concepts
Execution Context
An [ExecutionContext] is the central type that combines all configuration
needed to run a skill. Contexts can inherit from other contexts, allowing
for a hierarchy of configurations (e.g., base → development → production).
use ;
let context = new
.with_description
.with_environment
.with_resources
.with_tag;
Mounts
[Mount]s define files and directories that should be accessible
within the execution environment:
use Mount;
let data_mount = directory
.as_read_write
.with_description;
let config_mount = config_file;
Secrets
The [SecretsConfig] type manages secret definitions and providers:
use ;
let secrets = new
.with_required_env_secret
.with_required_file_secret;
Resources
[ResourceConfig] defines limits and capabilities:
use ;
let resources = new
.with_cpu_limit
.with_memory_limit
.with_network
.with_timeout;
Features
vault- Enable HashiCorp Vault secret provideraws-secrets- Enable AWS Secrets Manager providerazure-keyvault- Enable Azure Key Vault providergcp-secrets- Enable GCP Secret Manager provider