openclaw/docs/tools/creating-skills.md
Jon Shapiro 92697edb7c fix(venice): add compat settings to prevent HTTP 400 errors
Venice's API doesn't support certain OpenAI-compatible parameters that
Clawdbot sends by default:

- `store`: Venice returns HTTP 400 with no body when this is present
- `developer` role: Not supported by Venice's API

This adds VENICE_COMPAT settings (supportsStore: false,
supportsDeveloperRole: false) to all Venice model definitions, both
from the static catalog and dynamically discovered models.

Fixes issues reported in PR #1666 where users experienced silent
failures (HTTP 400, no body) when using Venice models.

Co-authored-by: jonisjongithub <jonisjongithub@users.noreply.github.com>
Co-authored-by: Clawdbot <bot@clawd.bot>
2026-01-26 17:56:01 -08:00

1.6 KiB

Creating Custom Skills 🛠

Clawdbot is designed to be easily extensible. "Skills" are the primary way to add new capabilities to your assistant.

What is a Skill?

A skill is a directory containing a SKILL.md file (which provides instructions and tool definitions to the LLM) and optionally some scripts or resources.

Step-by-Step: Your First Skill

1. Create the Directory

Skills live in your workspace, usually ~/clawd/skills/. Create a new folder for your skill:

mkdir -p ~/clawd/skills/hello-world

2. Define the SKILL.md

Create a SKILL.md file in that directory. This file uses YAML frontmatter for metadata and Markdown for instructions.

---
name: hello_world
description: A simple skill that says hello.
---

# Hello World Skill
When the user asks for a greeting, use the `echo` tool to say "Hello from your custom skill!".

3. Add Tools (Optional)

You can define custom tools in the frontmatter or instruct the agent to use existing system tools (like bash or browser).

4. Refresh Clawdbot

Ask your agent to "refresh skills" or restart the gateway. Clawdbot will discover the new directory and index the SKILL.md.

Best Practices

  • Be Concise: Instruct the model on what to do, not how to be an AI.
  • Safety First: If your skill uses bash, ensure the prompts don't allow arbitrary command injection from untrusted user input.
  • Test Locally: Use clawdbot agent --message "use my new skill" to test.

Shared Skills

You can also browse and contribute skills to ClawdHub.