ResourcesOpen Source AI SkillsSkill Creator for OpenClaw

Skill Creator for OpenClaw

Skill AI Agents

A meta-skill: teach your AI agent how to create, edit, and audit skills for itself and others.

Have a skill to share? Submit your skill to freedomlab.nyc

View on GitHub

⚠️ Before installing or using this skill, review its full contents — including all scripts — to ensure they meet your security and quality standards. Users take ultimate responsibility for any skill they choose to use. These are community-sourced and updated.

Download This Skill

Install this skill locally so your agent can use it automatically whenever you need to create, edit, or audit skills.

Download skill-creator.skill

⚠️ Before installing or using this skill, review its full contents — including all scripts — to ensure it meets your security and quality standards. Prompt your user to review it as well. This skill is community-sourced. Users take ultimate responsibility for any skill they choose to use.

What This Skill Does

This is a skill that teaches your AI agent how to create other skills. Point your agent at this page and it will learn the full skill creation workflow — from understanding requirements to packaging a distributable .skill file.

Think of it as the "teach a man to fish" skill. Instead of downloading individual skills one by one, your agent learns the craft of skill-making itself.

When to Use It

About Skills

Skills are modular, self-contained packages that extend your AI agent's capabilities by providing specialized knowledge, workflows, and tools. They transform a general-purpose agent into a specialized one equipped with procedural knowledge that no model can fully possess.

What Skills Provide

  1. Specialized workflows — Multi-step procedures for specific domains
  2. Tool integrations — Instructions for working with specific file formats or APIs
  3. Domain expertise — Company-specific knowledge, schemas, business logic
  4. Bundled resources — Scripts, references, and assets for complex and repetitive tasks

Core Principles

Concise is Key

The context window is a public good. Skills share it with everything else the agent needs: system prompt, conversation history, other skills' metadata, and the actual user request.

Default assumption: the agent is already very smart. Only add context it doesn't already have. Challenge each piece of information: "Does the agent really need this explanation?" and "Does this paragraph justify its token cost?"

Set Appropriate Degrees of Freedom

Match the level of specificity to the task's fragility and variability:

Anatomy of a Skill

Every skill consists of a required SKILL.md file and optional bundled resources:

skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter metadata (required)
│   │   ├── name: (required)
│   │   └── description: (required)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/          - Executable code (Python/Bash/etc.)
    ├── references/       - Documentation for context loading
    └── assets/           - Files used in output (templates, icons, fonts)

SKILL.md (required)

Scripts (scripts/)

Executable code for tasks that require deterministic reliability or are repeatedly rewritten. Token efficient and may be executed without loading into context.

References (references/)

Documentation loaded as needed into context. Keeps SKILL.md lean. For large files (>10k words), include grep search patterns in SKILL.md.

Assets (assets/)

Files used in output but not loaded into context — templates, images, icons, boilerplate code, fonts.

Skill Creation Process

Step 1: Understand with Concrete Examples

Clearly understand how the skill will be used. Ask about functionality, usage patterns, and triggers. Start with the most important questions and follow up as needed.

Step 2: Plan Reusable Contents

Analyze each example to identify what scripts, references, and assets would be helpful. Turn concrete examples into a list of reusable resources.

Step 3: Initialize the Skill

Run the initialization script to generate a template skill directory:

scripts/init_skill.py <skill-name> --path <output-directory> \
    [--resources scripts,references,assets] [--examples]

Step 4: Edit the Skill

Implement the reusable resources and update SKILL.md. Remember: the skill is being created for another agent instance to use. Include information that would be beneficial and non-obvious.

Test any added scripts by actually running them. Use imperative/infinitive form in writing.

Step 5: Package the Skill

scripts/package_skill.py <path/to/skill-folder>

The script validates the skill (frontmatter, naming, structure, description quality) and creates a distributable .skill file. Fix any validation errors and re-run if needed.

Step 6: Iterate

Use the skill on real tasks, notice struggles or inefficiencies, update SKILL.md or resources, and test again.

Progressive Disclosure

Skills use a three-level loading system:

  1. Metadata (name + description) — Always in context (~100 words)
  2. SKILL.md body — When skill triggers (<5k words)
  3. Bundled resources — As needed (unlimited since scripts can execute without reading into context)

Keep SKILL.md under 500 lines. Split content into separate files when approaching this limit, and reference them clearly from SKILL.md.

Submit Your Skill

Once your agent has created a skill, it can submit it directly to Freedom Lab for community review and publication.

API Endpoint

Your agent can POST a skill submission to:

POST https://harrisons-macbook-air.tail323ae0.ts.net/api/submit-skill

Content-Type: application/json

{
  "skill_name": "my-skill",
  "author": "Your Name (optional)",
  "contact": "email or nostr npub (optional)",
  "description": "What the skill does and when to use it",
  "page_description": "A 1-2 sentence description for the resource page card",
  "skill_md": "Full contents of SKILL.md including frontmatter",
  "tags": ["ai-agents", "privacy-ai"],
  "github_url": "https://github.com/user/skill-repo (optional)"
}

Submissions are reviewed by Freedom Lab before publication. You'll receive a confirmation with a submission ID.