Case 01902
Create, improve, or evaluate OpenClaw skills (SKILL.md). Use when: (1) designing a new skill from scratch, (2) improving an existing skill's description for better triggering accuracy, (3) evaluating whether a skill description would trigger correctly, (4) reviewing the skill library for quality issues. NOT for: creating Claude Code / Codex skills (those use a different format), editing skill scripts/assets unrelated to skill design.From its SKILL.md
npx -y skills add knownasnaffy/prompthound --skill case_01902Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.1 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
OpenClaw Skill Creator
A skill for creating and iteratively improving OpenClaw skills — inspired by Anthropic's skill-creator, adapted for the OpenClaw skill format.
OpenClaw Skill Architecture
Skills are directories containing a SKILL.md file and optional resources.
Custom skills (user-created) are typically placed in the OpenClaw workspace:
<workspace>/skills/<skill-name>/
Built-in skills ship with the OpenClaw installation.
Custom skills in the workspace take precedence over built-ins of the same name.
Minimal structure
<skill-name>/
├── SKILL.md ← required
└── scripts/ ← optional, executable helpers
No packaging step needed. The directory is the skill.
SKILL.md format
---
name: skill-name
description: <trigger description — the most important field>
---
# Skill Name
Instructions for the agent...
Only name and description in frontmatter. No other fields.
Use {baseDir} in scripts/instructions to reference the skill's own directory:
python3 {baseDir}/scripts/my_script.py
Writing Descriptions (Most Critical Part)
The description field is the only triggering mechanism. The body is never read unless the skill triggers first.
Core principles
- Be pushy: Agents tend to undertrigger skills. Make the description slightly aggressive — list specific contexts where this skill MUST be used.
- Use when + NOT for: Explicit structure reduces both under-triggering and false positives.
- Include trigger phrases: List common user phrasings. Include non-English phrases if the user communicates in other languages.
- Describe context, not just function: "What the skill does AND when to use it."
Template
<what the skill does>. Use when: (1) <context 1>, (2) <context 2>, (3) phrases like "<example phrase>". NOT for: <anti-patterns>.
Example (before → after)
❌ Before: "Track work time per project with start/stop timers."
✅ After: "Track work time and generate productivity reports. Use this skill whenever the user wants to start/stop a timer, log time to a project, or generate a time report — including phrases like 'start timer', 'log my time', 'how long did I work this week'. NOT for: calendar scheduling, task management."
Skill Creation Process
1. Capture Intent
Ask the user:
- What should this skill enable the agent to do?
- When should it trigger? What would the user say?
- What's the expected output?
- Does it need scripts, or is it purely instructional?
Ask one or two questions at a time; don't overwhelm.
2. Interview for Edge Cases
Before writing, ask about:
- Input formats, edge cases, failure modes
- Dependencies (external APIs, CLIs, files)
- What it should NOT do (important for the NOT for clause)
3. Write the SKILL.md
- Keep body under 300 lines — lean and focused
- Only include what the agent doesn't already know
- Move detailed reference material to
references/files and link from SKILL.md - Add scripts to
scripts/when the same code would be rewritten repeatedly
4. Eval: Test the Description
Run a manual trigger eval:
- Write 5–10 test prompts (mix of should-trigger and should-not-trigger)
- For each, ask: "Would I read this skill's SKILL.md given only the description?"
- If < 80% correct → improve the description
Use the eval script:
python3 {baseDir}/scripts/eval_description.py --skill path/to/SKILL.md --evals path/to/evals.json
See scripts/eval_description.py for the evals JSON format.
5. Iterate
After the skill is used on real tasks:
- If the skill often doesn't trigger when it should → description too narrow, add more trigger phrases
- If the skill triggers on unrelated requests → description too broad, add NOT for clause
- If the body is too long → split into
references/files
Improving Existing Skills
When asked to improve an existing skill:
- Read the current
SKILL.md - Check description against the principles above
- Propose a new description with reasoning
- Optionally run eval to compare before/after trigger accuracy
- Update only after user confirmation
Skill Quality Checklist
Before finalising a skill, verify:
-
nameis lowercase kebab-case, under 64 characters -
descriptionincludes "Use when" with specific trigger contexts -
descriptionincludes "NOT for" to prevent false positives - Body is under 300 lines
- No README, CHANGELOG, or auxiliary docs (keep the skill lean)
- Scripts are tested and working
- References files are linked from SKILL.md with guidance on when to read them
What ships with it: 1 file
3.6 KB alongside SKILL.md, 1 of them executable
scripts/
- eval_description.pyruns3.6 KB