Configuration Inheritance Model
Skills follow a hierarchical configuration model:Variant Configuration Matrices
File System Skill
| Configuration | Read Only 🟢 | Full Access 🟡 | Sandboxed 🔵 |
|---|---|---|---|
enable_read_file | ✅ true | ✅ true | ✅ true |
enable_save_file | ❌ false (locked) | ✅ true | ✅ true |
enable_list_files | ✅ true | ✅ true | ✅ true |
enable_search_files | ✅ true | ✅ true | ✅ true |
base_dir | ”/" | "/" | "/sandbox” (locked) |
| Can Override? | Limited | Yes | Medium |
- Read Only: Cannot enable write operations (
enable_save_file) - Sandboxed: Cannot change
base_dir(prevents sandbox escape)
Shell Skill
| Configuration | Safe Commands 🟢 | Full Access 🔴 | Read Only 🟢 |
|---|---|---|---|
allowed_commands | Pre-defined safe list | ["*"] (all) | View-only commands |
blocked_commands | Destructive ops | [] (none) | All except allowed |
timeout | 30s | 300s | 30s |
| Can Override? | Yes | Yes | Limited |
- Safe Commands: Cannot add destructive commands to allowed list
- Read Only: Cannot enable write operations
Python Skill
| Configuration | Restricted Imports 🟢 | Full Access 🔴 |
|---|---|---|
allowed_imports | Safe std library modules | ["*"] (unrestricted) |
max_memory | ”512MB" | "2GB” |
timeout | 120s | 600s |
| Can Override? | Yes | Yes |
Docker Skill
| Configuration | Containers Only 🟡 | Full Control 🔴 |
|---|---|---|
allowed_operations | Container lifecycle | All operations |
network_access | Limited | Full |
volume_management | ❌ false | ✅ true |
| Can Override? | Yes | Yes |
Agent Communication Skill
| Configuration | Read Only 🟢 | Limited 🟡 | Full Orchestration 🔴 |
|---|---|---|---|
allowed_operations | Status only | Execute + status | All operations |
allowed_agents | N/A | Whitelist required | ["*"] (all) |
max_execution_depth | N/A | 2 | 5 |
| Can Override? | No | Yes | Yes |
Customizing Variants
Using CLI with —variant Flag
Understanding Locked vs. Overridable Settings
🔒 Locked Settings (Cannot Override)
🔒 Locked Settings (Cannot Override)
These settings enforce the variant’s security model and cannot be changed:Read Only Variants:
- Any write-enabling flags (
enable_save_file,enable_delete) - Destructive command permissions
base_dir(prevents escaping the sandbox)- Network access restrictions
✅ Overridable Settings
✅ Overridable Settings
These settings can be customized within the variant’s boundaries:Performance Settings:
- Timeouts, memory limits, CPU limits
- Concurrency limits
- File extensions (within allowed operations)
- Directories (within base_dir restrictions)
- Specific command lists (within security boundaries)
- Retry counts, delays
- Caching options
- Logging levels
Configuration Validation
When you create or update a skill instance, Kubiya validates your configuration:Practical Examples
- Production Logs
- Dev Sandbox
- Restricted Shell
- Multi-Agent
Read-Only Log Monitoring
Use Case: Monitor production logs without modification riskbase_dir: Restricted to production logs directoryallowed_extensions: Only log filesmax_file_size: Prevent reading huge files
enable_save_file: false(enforced by variant)enable_delete: false(enforced by variant)
Best Practices
Start Restrictive
Begin with the most restrictive variant (Read Only, Safe Commands) and only upgrade when necessary
Use Whitelists
Explicitly list allowed commands, agents, or file extensions rather than relying on blocklists
Set Reasonable Limits
Configure timeouts, memory limits, and file sizes appropriate to your use case
Test in Dev First
Validate variant customizations in development before deploying to production