Skip to main content
Skills are reusable AI capabilities that provide specialized knowledge and instructions to your assistant. Each skill is a self-contained module that can be enabled per conversation.

What are Skills?

Skills extend your AI assistant with:
  • Specialized Knowledge: Domain-specific information and context
  • Custom Instructions: Step-by-step guidance for complex tasks
  • Tool Integration: Access to scripts, APIs, and external tools
  • Reference Data: Pre-loaded data files and resources

How Skills Work

1

Skills are loaded

Skills are read from <config>/extended_openai_conversation/skills/ directory
2

Enable per conversation

Select which skills to enable in the assistant’s Options
3

AI receives context

When enabled, skill descriptions are included in the system prompt
4

AI loads skill content

The AI calls load_skill function to read detailed instructions when needed

Enabling Skills

1

Navigate to Voice Assistants

Go to Settings > Voice Assistants
2

Edit your assistant

Click on your Extended OpenAI Conversation assistant
3

Open Options

Click Options
4

Select skills

Choose which skills to enable from the list
Skills Selection
Skills are enabled per conversation entity. You can have different skills enabled for different assistants.

System Prompt

To use skills, you need to add this prompt to your assistant’s system message:
{%- if skills %}
## Skills
The following skills extend your capabilities. To use a skill, call load_skill with the skill name to read its instructions.
When a skill file references a relative path, resolve it against the skill's location directory and always use the resulting absolute path in bash commands.

<available_skills>
{%- for skill in skills %}
  <skill>
    <name>{{ skill.name }}</name>
    <description>{{ skill.description }}</description>
    <location>{{ skill.path }}</location>
  </skill>
{%- endfor %}
</available_skills>
{% endif %}
What this prompt does:
  • Lists all enabled skills with names and descriptions
  • Instructs the AI to call load_skill for detailed instructions
  • Explains path resolution for relative references
  • Ensures bash commands use absolute paths
Add this to your assistant’s Prompt Template in the configuration options.

Required Functions

To use skills, you need to configure these functions in your assistant’s Functions settings:

load_skill

Add this function to allow the AI to load skill files:
- spec:
    name: load_skill
    description: Load a file from a skill's directory.
    parameters:
      type: object
      properties:
        name:
          type: string
          description: Skill name
        file:
          type: string
          description: Relative file path within the skill directory
      required:
      - name
      - file
  function:
    type: read_file
    path: '{{extended_openai.skill_dir(name)}}/{{file}}'

bash (Optional)

Add this function to enable skills to execute commands:
- spec:
    name: bash
    description: Execute a bash command in workspace.
    parameters:
      type: object
      properties:
        command:
          type: string
          description: Bash command to execute
      required:
      - command
  function:
    type: bash
    command: '{{command}}'
Security Note: Bash execution is restricted to the workspace directory (<config>/extended_openai_conversation/) and has deny patterns for destructive commands.

Skill Directory Structure

Each skill is a directory with a SKILL.md file:
<config>/extended_openai_conversation/skills/
└── your_skill_name/
    ├── SKILL.md           # Required: skill definition
    ├── scripts/           # Optional: executable scripts
    │   └── helper.py
    └── reference/        # Optional: detailed reference material
        └── finance.md

Use Cases

External APIs

Integrate third-party services (weather, crypto, stocks)

Data Processing

Execute scripts to process or transform data

Custom Knowledge

Provide domain-specific information to the AI

Tool Integration

Connect external tools and utilities

Best Practices

Write concise descriptions (under 1024 chars) that clearly explain when the skill should be used. This helps the AI decide whether to activate the skill.
Only enable skills relevant to the conversation. Too many skills can dilute the AI’s focus.
Test skills with various user queries before deploying to production.
In SKILL.md, use relative paths for files. The AI will resolve them to absolute paths when executing commands.

Next Steps