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โ
- ID Format: Use kebab-case (
data-analysis, notdata_analysis) - Module Naming: Use Python package naming conventions (
agent_skills.module_name) - Dependencies: Pin major versions to avoid breaking changes (
pandas>=2.0.0) - Environment Variables: Clearly separate required vs optional
- Tags: Use consistent tags across related skills
- Description: Focus on what the skill enables the agent to do
- Version Constraints: Use
>=for minimum versions, avoid overly restrictive pinning - Documentation: Ensure the module path points to existing Python code
Full Field Coverageโ
Required fields:
idversionnamedescriptionmodule
Common optional fields:
envvars(preferid:versionrefs)optional_env_varsdependenciestagsicon,emoji