Skip to main content
Skill modules (moduleType: skill) are file packs that agents can discover and use. They provide prompts, configurations, and knowledge to agents without containing executable code.

How Agents Use Skills

When an agent session starts, the platform downloads any skill modules assigned to the agent and extracts them to the agent’s container at:
/home/kodexa/skills/{org_slug}/{module_slug}/
The agent’s system prompt includes the list of available skill directories so it can read and use the files.

Creating a Skill Module

A skill module is defined with a YAML file, just like a model module, but with moduleType: skill:
name: My LLM Skills
slug: my-llm-skills
type: module
moduleType: skill
metadata:
  type: skill
  contents:
    - prompts/**
    - tools/**
    - config.yml

Directory Structure

A typical skill module directory looks like:
my-llm-skills/
  module.yml          # Module definition (the YAML above)
  prompts/
    system.md         # System prompt template
    extraction.md     # Extraction instructions
  tools/
    search.yml        # Tool definitions
  config.yml          # Skill configuration

Deploying a Skill

Use the Kodexa CLI to deploy:
kdx apply -f module.yml
The CLI reads the contents patterns from the metadata, creates a ZIP of matching files, and uploads them as the module’s implementation.

Assigning Skills to Agents

Skills are assigned to agents through moduleRefs in the agent’s workspace context. This is configured at the project level — when a workspace is created, its context includes the module references that the agent should load. The agent runtime resolves each module reference, checks its moduleType, downloads the implementation ZIP, and extracts it to the skills directory.

Key Differences from Model Modules

Model ModuleSkill Module
moduleTypemodel (default)skill
ContainsPython codeFiles (prompts, configs, knowledge)
ExecutionRuns via module runtimeNot executed — read by agent
Used byScheduled jobs, pipelines, assistantsAgents
Runtime refRequired (modelRuntimeRef)Not needed