Skip to main content
Variants are pre-configured templates that provide different security levels and default configurations for each skill type. Understanding how variants differ helps you choose and customize the right configuration for your use case.

Configuration Inheritance Model

Skills follow a hierarchical configuration model:
Each layer inherits from the previous and can override specific settings within security boundaries.

Variant Configuration Matrices

File System Skill

Locked Settings:
  • Read Only: Cannot enable write operations (enable_save_file)
  • Sandboxed: Cannot change base_dir (prevents sandbox escape)

Shell Skill

Locked Settings:
  • Safe Commands: Cannot add destructive commands to allowed list
  • Read Only: Cannot enable write operations

Python Skill

Docker Skill

Agent Communication Skill


Customizing Variants

Using CLI with —variant Flag

Understanding Locked vs. Overridable Settings

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
Sandboxed Variants:
  • base_dir (prevents escaping the sandbox)
  • Network access restrictions
Attempting to override locked settings will result in validation errors.
These settings can be customized within the variant’s boundaries:Performance Settings:
  • Timeouts, memory limits, CPU limits
  • Concurrency limits
Scope Settings:
  • File extensions (within allowed operations)
  • Directories (within base_dir restrictions)
  • Specific command lists (within security boundaries)
Behavioral Settings:
  • Retry counts, delays
  • Caching options
  • Logging levels

Configuration Validation

When you create or update a skill instance, Kubiya validates your configuration:
Validation Failures:

Practical Examples

Read-Only Log Monitoring

Use Case: Monitor production logs without modification risk
What’s Customized:
  • base_dir: Restricted to production logs directory
  • allowed_extensions: Only log files
  • max_file_size: Prevent reading huge files
What’s Locked:
  • 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
See Also: For information on how configuration flows through multiple layers (variant → instance → team → runtime), see the Dynamic Configuration Guide.

Skill Variants

Learn about variant types and when to use each

Dynamic Configuration

Understand configuration inheritance and layering

Built-in Skills

View all available skills and their variants

Examples

See real-world configuration patterns