Get the FREE Ultimate OpenClaw Setup Guide →

creating-skills

npx machina-cli add skill chinkan/RustFox/creating-skills --openclaw
Files (1)
SKILL.md
4.3 KB

Creating Skills

Writes high-performance, token-efficient skill directories in skills/ and activates them immediately without restarting the bot.

Process

1. Gather Requirements

Ask the user (one question at a time if unclear):

  • Name: Slug — lowercase, numbers, hyphens only, e.g. processing-reports
  • Trigger: When should this activate? (→ becomes the description field)
  • Behavior: What should the agent do step-by-step?
  • Files: Heavy reference content? Templates? Scripts?

2. Select Archetype

Pick the right pattern from templates.md:

ArchetypeWhenSKILL.md budget
workflowStep-by-step procedures< 150 lines
reference-heavyLookup tables, schemas, large specs< 80 lines + reference.md
tool-wrapperWraps specific tools with usage guidance< 100 lines
personaRole-play or communication style shifts< 60 lines

3. Design the Structure

skills/<name>/
├── SKILL.md           # Always: main entry point (keep within archetype budget)
├── reference.md       # When: heavy content that would exceed budget
├── examples.md        # When: input/output examples help significantly
└── scripts/           # Rarely: utility scripts
    └── helper.py

Rules:

  • References are one level deep only — no chained references
  • Split only when SKILL.md exceeds archetype budget
  • Every line earns its token cost — cut ruthlessly

4. Write SKILL.md

Required format:

---
name: skill-name-with-hyphens
description: Use when [triggering conditions only — third person, no workflow summary, max 1024 chars]
tags: [optional]
---

# Skill Title

One sentence overview.

## When to Use

- Concrete trigger phrase 1
- Concrete trigger phrase 2

## [Core Section]

Imperative instructions. No fluff.

## Supporting Files

**Topic**: See [reference.md](reference.md)

Frontmatter rules:

  • name: lowercase, numbers, hyphens; max 64 chars; avoid "anthropic" / "claude"
  • description: "Use when..."; triggers only; no how/what summary; third person; max 1024 chars
  • A bad description causes the agent to skip reading the body — be precise about triggers

Body performance rules:

  • Every sentence must directly enable action — delete explanatory prose
  • Prefer bullet lists over paragraphs
  • Use imperative mood throughout ("Call X", "Write Y", not "You should call X")
  • No meta-commentary ("This skill helps you..."), no caveats

5. Self-Evaluate Before Writing

Before calling write_skill_file, verify:

☐ Description triggers are specific (not vague like "when the user needs help")
☐ Body is within archetype token budget
☐ Every line earns its token cost (no filler sentences)
☐ Instructions are imperative, not explanatory
☐ No time-sensitive content, no hardcoded values
☐ Description does NOT summarize how the skill works — triggers only

If any item fails — revise before writing.

6. Write Files

Call write_skill_file once per file. Always write SKILL.md first:

write_skill_file(skill_name="my-skill", relative_path="SKILL.md", content="...")
write_skill_file(skill_name="my-skill", relative_path="reference.md", content="...")

7. Activate

Call reload_skills after all files are written.

Report to user:

  • Skill is live (no restart needed)
  • Files created
  • Trigger phrase that activates it

Description Writing Guide

# ✅ Good — triggering conditions only, third person
description: Use when the user asks to generate weekly reports, export data summaries, or create formatted output from raw data.

# ✅ Good — specific triggers
description: Use when analyzing code for bugs, reviewing pull requests, or the user asks for a code review.

# ❌ Bad — summarizes workflow (agent skips the body)
description: Use when creating reports — reads data, formats it, writes to file.

# ❌ Bad — first person
description: I help users create reports from their data.

Supporting Files

Skill archetypes and starter templates: See templates.md

Source

git clone https://github.com/chinkan/RustFox/blob/main/skills/creating-skills/SKILL.mdView on GitHub

Overview

This skill enables you to design, write, and deploy new bot skills quickly by generating a complete skills/name/SKILL.md and supporting files. It emphasizes token-efficient, structured outputs and immediate activation without bot restarts.

How This Skill Works

Follow a repeatable process: gather requirements, select an archetype, design the directory, and write SKILL.md. Then self-evaluate against budgets, create any reference or examples files if needed, and activate the skill with reload_skills.

When to Use It

  • User asks to create, add, or write a new bot skill or to teach the bot a new behavior, capability, or workflow.
  • Need to capture precise requirements: name (slug), trigger, behavior, and any heavy reference files.
  • Choose an archetype (workflow, reference-heavy, tool-wrapper, or persona) to fit the content and budget.
  • Structure the skill as skills/name/ with SKILL.md and optional reference.md or examples.md.
  • Activate the skill immediately after writing using the activation step (reload_skills).

Quick Start

  1. Step 1: Gather Requirements by collecting Name, Trigger, Behavior, and Files.
  2. Step 2: Select Archetype and confirm budget constraints; plan SKILL.md contents.
  3. Step 3: Write SKILL.md, add any reference or examples if needed, then activate with reload_skills.

Best Practices

  • Ask one-question-at-a-time when requirements are unclear.
  • Keep SKILL.md within the selected archetype budget (line counts matter).
  • Make every line earn its token cost; avoid filler prose.
  • Write SKILL.md in imperative mood (Call X, Write Y, not You should).
  • After writing, run reload_skills and verify the skill is live and triggers correctly.

Example Use Cases

  • Example: creating a workflow skill named processing-reports that outputs weekly summaries.
  • Example: a reference-heavy skill for data model lookups using reference.md.
  • Example: a tool-wrapper skill that wraps a CLI tool with usage guidance.
  • Example: a persona skill to shift the bot's tone to customer support.
  • Example: a starter skeleton for a new capability with a concise SKILL.md and activation.

Frequently Asked Questions

Add this skill to your agents

Related Skills

Sponsor this space

Reach thousands of developers