Skip to main content

Skill Specifications

Skill specifications define reusable capabilities that agents can use, implemented as Python modules.

Overviewโ€‹

Skills are Python modules that provide specific capabilities to agents. Each skill spec defines the module path, dependencies, and required environment variables.

Required Fieldsโ€‹

id (string)โ€‹

Unique identifier (kebab-case, e.g., data-analysis, code-generation)

version (string)โ€‹

Spec version (currently 0.0.1).

name (string)โ€‹

Display name shown in the UI

description (string)โ€‹

Skill capabilities description

module (string)โ€‹

Python module path where the skill is implemented

module: agent_skills.data_analysis
module: agent_skills.code_generation
module: agent_skills.web_search

Optional Fieldsโ€‹

envvars (list of strings)โ€‹

Required environment variable IDs. References specs in envvars/ directory.

envvars:
- OPENAI_API_KEY:0.0.1
- GITHUB_TOKEN

optional_env_vars (list of strings)โ€‹

Optional environment variables that enhance functionality

optional_env_vars:
- PLOT_DPI
- CHART_THEME
- LOG_LEVEL

dependencies (list of strings)โ€‹

Required Python packages with version constraints

dependencies:
- pandas>=2.0.0
- matplotlib>=3.7.0
- seaborn>=0.12.0
- numpy>=1.24.0

tags (list of strings)โ€‹

Categorization tags

tags:
- data
- analysis
- visualization

icon (string)โ€‹

UI icon identifier

emoji (string)โ€‹

UI emoji identifier

Complete Exampleโ€‹

# Copyright (c) 2025-2026 Datalayer, Inc.
# Distributed under the terms of the Modified BSD License.

id: data-analysis
version: 0.0.1
name: Data Analysis Skill
description: Perform statistical analysis and data visualization

module: agent_skills.data_analysis

envvars:
- OPENAI_API_KEY:0.0.1

optional_env_vars:
- PLOT_DPI
- CHART_THEME

dependencies:
- pandas>=2.0.0
- matplotlib>=3.7.0
- seaborn>=0.12.0
- numpy>=1.24.0
- scipy>=1.10.0

tags:
- data
- analysis
- visualization
- statistics

Skill Hierarchyโ€‹

Skill Specification
โ”œโ”€โ”€ Basic Info (id, name, description, tags)
โ”œโ”€โ”€ Implementation (module)
โ”œโ”€โ”€ Environment
โ”‚ โ”œโ”€โ”€ envvars (required environment variables)
โ”‚ โ””โ”€โ”€ optional_env_vars (optional variables)
โ”œโ”€โ”€ Dependencies (Python packages)
โ””โ”€โ”€ UI (icon, emoji)

Linking Skills to Agentsโ€‹

Skills are referenced in agent specifications by their ID:

# In agent spec
skills:
- data-analysis
- code-generation
- web-search

Best Practicesโ€‹

  1. ID Format: Use kebab-case (data-analysis, not data_analysis)
  2. Module Naming: Use Python package naming conventions (agent_skills.module_name)
  3. Dependencies: Pin major versions to avoid breaking changes (pandas>=2.0.0)
  4. Environment Variables: Clearly separate required vs optional
  5. Tags: Use consistent tags across related skills
  6. Description: Focus on what the skill enables the agent to do
  7. Version Constraints: Use >= for minimum versions, avoid overly restrictive pinning
  8. Documentation: Ensure the module path points to existing Python code

Full Field Coverageโ€‹

Required fields:

  • id
  • version
  • name
  • description
  • module

Common optional fields:

  • envvars (prefer id:version refs)
  • optional_env_vars
  • dependencies
  • tags
  • icon, emoji