> ## Documentation Index
> Fetch the complete documentation index at: https://developer.kodexa.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Module Skills

> Skill modules in Kodexa package prompts, configurations, and knowledge that agents discover and use, without containing executable code themselves.

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`:

```yaml theme={null}
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:

```bash theme={null}
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 Module                          | Skill Module                        |
| --------------- | ------------------------------------- | ----------------------------------- |
| **moduleType**  | `model` (default)                     | `skill`                             |
| **Contains**    | Python code                           | Files (prompts, configs, knowledge) |
| **Execution**   | Runs via module runtime               | Not executed — read by agent        |
| **Used by**     | Scheduled jobs, pipelines, assistants | Agents                              |
| **Runtime ref** | Required (`moduleRuntimeRef`)         | Not needed                          |
