jau123

Skills Creator — Build High-Quality OpenClaw Skills

AI 智慧體v1.0.3
作者:jau123更新於 2026-05-11共 4 個版本 · 最新版本釋出於 2026-03-11skills-creator@clawhub_jau123/skills-creator
Agent 框架任務自動化

據 AlphaMoat 統計,截至 2026-09,Skills Creator — Build High-Quality OpenClaw Skills 累計下載 2,547 次、獲 3 個星標,在全部 5,078 個 AI 技能中排名第 4,058 位,在「AI 智慧體」分類(969 個)中排名第 821 位。

累計安裝
113
累計下載
2547
星標
3
全站排名
#4,058
全站前 80% · 「AI 智慧體」前 85%
平台累計安裝累計下載星標評論
ClawHub ↗4414611-
SkillHub ↗11325473—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

內容涵蓋技能結構、觸發描述、工作流、配套檔案組織和質量審查,也提供 API 整合與指令碼撰寫模式。新生成的指令碼和命令不得自動執行,應先向使用者展示並等待確認;API 金鑰、外部請求和安全說明需要人工審查。

資料釋出於 2026-10-29

可以用來做什麼

  • 規劃新技能的結構和觸發方式
  • 審查現有技能的文件與安全性
  • 改進技能說明或設計 API 整合

什麼時候用

  • 需要建立或重構 OpenClaw 技能時
  • 需要檢查技能是否準確表達觸發條件和行為時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

先根據我的目標提出技能結構與觸發描述草案,不建立檔案或執行命令。
審查這段 API 指令碼中的金鑰、外部請求和安全說明;只給出風險,不要執行指令碼。

月度資料趨勢

累計下載2547
354153227092026-03 · 累計下載 5162026-05 · 累計下載 8992026-06 · 累計下載 10612026-07 · 累計下載 14132026-08 · 累計下載 16902026-09 · 累計下載 254726-0326-09
星標3
1232026-03 · 星標 12026-05 · 星標 22026-06 · 星標 32026-07 · 星標 32026-08 · 星標 32026-09 · 星標 326-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-092547—3
2026-081690+19.6%3
2026-071413+33.2%3
2026-061061+18.0%3
2026-05899—2
2026-03516—1

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

12 KB · ClawHub v1.0.3
---
name: skills-creator
description: Guide users through creating, reviewing, and improving OpenClaw skills following proven best practices. Use when someone asks to "create a skill", "write a SKILL.md", "make an OpenClaw skill", "publish to ClawHub", "review my skill", "improve my skill", "optimize skill description", "skill frontmatter help", "what makes a good skill", or discusses OpenClaw/ClawHub skill development, agent skill format, or SKILL.md structure.
version: 1.0.3
metadata: {"clawdbot":{"emoji":"🛠️","requires":{"bins":[]}}}
---

# Skills Creator

Guide the creation, review, and optimization of OpenClaw skills that trigger reliably and instruct LLMs clearly. Based on analysis of top-performing skills across the ClawHub ecosystem.
展開全部(共 276 行)

## Quick Reference

| User wants... | Do this |
|---------------|---------|
| Create a new skill | → Mode 1: Gather requirements, pick complexity tier, write frontmatter + body |
| Review an existing skill | → Mode 2: Run quality checklist, output findings as table |
| Fix poor triggering | → Focus on Description Writing Formula, rewrite with trigger phrases |
| Retrofit / optimize a skill | → Mode 3: Audit → rewrite description → restructure content → re-audit |
| Add external API integration | → Mode 4: Create scripts/ with curl wrapper, declare dependencies |
| Publish to ClawHub | → Verify quality checklist passes, then `clawhub publish` |

## Important Rules

### Rule 1: Always determine complexity tier first

Before writing anything, classify the skill into a tier. This decides file structure, SKILL.md length, and whether supporting directories are needed.

| Tier | When to use | SKILL.md size | Directories |
|------|-------------|---------------|-------------|
| **Simple** | Pure instructions, no executable code | < 150 lines | None |
| **Medium** | Needs scripts or deep reference docs | 100–300 lines | `scripts/` or `references/` |
| **Complex** | Multiple workflows + hooks + cross-platform | 200–650 lines | Multiple subdirs |

### Rule 2: Description is the highest-leverage field

The `description` in frontmatter determines whether an LLM activates the skill at all. Spend disproportionate effort here. A mediocre skill with a great description outperforms a great skill with a mediocre description.

### Rule 3: Write instructions for an LLM, not documentation for a human

The SKILL.md is injected into an LLM's context. Write actionable directives ("Do X when Y"), not explanatory documentation ("This skill provides..."). The LLM needs to know **what to do**, not **what the skill is**.

### Rule 4: Use tables for decision logic, not prose

Tables are the LLM's fastest lookup structure. Any conditional logic ("if X then Y") should be a table row, not a paragraph. Reserve prose for context that doesn't fit a table.

### Rule 5: The skill must describe itself accurately and be internally consistent

Self-consistency is a quality signal. If the skill teaches "add a Quick Reference table", it must have one. If it references a tool, that tool must exist and its description must accurately reflect what it does. Never claim capabilities the skill doesn't have.

### Rule 6: Never auto-execute generated scripts without user confirmation

This skill guides the creation of files including shell scripts. Always present generated scripts to the user for review before executing them. Never run `chmod +x` or execute a newly created script without explicit user approval. The skill is instructional — the user decides what to run.

---

## Workflow Modes

### Mode 1: Create New Skill

#### Step 1: Gather requirements

Ask the user:
- What does the skill do? (one sentence)
- What triggers it? (user phrases, situations, events)
- Does it need external tools, APIs, or binaries?
- Does it need environment variables?

#### Step 2: Determine complexity tier

Use the tier table from Rule 1. When uncertain, start Simple — it's easier to add complexity than remove it.

#### Step 3: Write frontmatter

```yaml
---
name: my-skill-name
description: [Action verb] + [value proposition]. Use when [trigger 1], [trigger 2], ... or discusses [topic area].
version: 1.0.0
homepage: https://github.com/user/repo
metadata: {"clawdbot":{"emoji":"🔧","requires":{"bins":["node"],"env":["MY_API_KEY"]},"primaryEnv":"MY_API_KEY"}}
---
```

Field rules:

| Field | Required | Format | Rules |
|-------|----------|--------|-------|
| `name` | Yes | lowercase kebab-case | Must match folder name. No spaces, no uppercase. |
| `description` | Yes | Single string | Follow the Description Writing Formula below. Include 5+ trigger phrases. |
| `version` | Yes | semver | Independent from any npm/PyPI package version. |
| `homepage` | No | URL | Link to source repo or documentation site. |
| `metadata` | No | **Single-line JSON** | Parser does not support multiline. Use `clawdbot` key (not `openclaw`). |

Metadata sub-fields:

| Sub-field | Purpose | Example |
|-----------|---------|---------|
| `emoji` | Visual identifier on ClawHub | `"🔍"` |
| `requires.bins` | Executables the skill needs | `["node", "npx", "curl"]` |
| `requires.env` | Environment variables needed | `["TAVILY_API_KEY"]` |
| `primaryEnv` | Main env var for quick setup hint | `"TAVILY_API_KEY"` |

#### Step 4: Write SKILL.md body

Follow this section order:

1. **Title + one-paragraph intro** — What it does, in action-oriented language
2. **Quick Reference table** — `| User wants... | Do this |` — 4–8 rows covering main use cases
3. **Important Rules** — Numbered constraints the LLM must follow (3–5 rules)
4. **Workflow Modes** — Discrete scenarios with step-by-step instructions
5. **Reference sections** — Field references, formulas, lookup tables
6. **Gotchas** — Critical pitfalls with one-line fixes
7. **Further Reading** — Links to `references/` and `assets/` files

Use the starter template at `{baseDir}/assets/skill-template.md` as a starting point.

#### Step 5: Create supporting files (Medium/Complex tiers)

| Directory | When to create | What goes inside |
|-----------|---------------|-----------------|
| `references/` | SKILL.md exceeds 200 lines, or has deep-dive content | Detailed guides, examples, troubleshooting |
| `scripts/` | Skill needs executable code (API calls, automation) | Shell/Node scripts using `{baseDir}` paths |
| `assets/` | Skill provides templates for users to copy | Starter files, config templates |
| `hooks/` | Skill needs event-driven triggers (rare) | Hook handlers for agent lifecycle events |

Never create `_meta.json` — ClawHub generates it automatically.

#### Step 6: Run quality review

Read `{baseDir}/references/quality-checklist.md` and run through all 24 checks. Fix any failures before considering the skill complete.

---

### Mode 2: Review Existing Skill

1. Ask the user to provide their SKILL.md content (or a file path to read)
2. Read `{baseDir}/references/quality-checklist.md`
3. Evaluate the skill against all 6 categories (24 checks total)
4. Present findings as a table:

```
| Category | Status | Issue | Fix |
|----------|--------|-------|-----|
| Frontmatter | ⚠️ | metadata is multiline JSON | Collapse to single line |
| Description | ❌ | No trigger phrases | Rewrite using the formula |
| Content | ✅ | — | — |
```

5. Prioritize fixes by impact: **Description > Structure > Security > Style**
6. Offer to apply fixes directly if the user provides a file path

---

### Mode 3: Retrofit / Optimize Existing Skill

For skills that exist but don't follow best practices:

1. **Audit**: Run the full quality checklist, list all failures
2. **Rewrite description**: Apply the Description Writing Formula — this has the highest impact
3. **Add Quick Reference**: If missing, create a situation → action table from the skill's content
4. **Convert prose to tables**: Find any conditional logic in paragraphs, restructure as table rows
5. **Add guard clauses**: Ensure "When to use" and "When NOT to use" are explicit
6. **Extract deep content**: Move anything beyond 300 lines into `references/`
7. **Add negative cases**: Ensure fallback handling exists (what to do when things fail)
8. **Re-audit**: Run the checklist again to verify all fixes

---

### Mode 4: Add External API Integration

When a skill needs to call an HTTP API (image generation, search, translation, etc.):

#### Pattern: scripts/ with curl wrapper

Create `scripts/call-api.sh`:

```bash
#!/usr/bin/env bash
# Usage: {baseDir}/scripts/call-api.sh "prompt text"
set -euo pipefail

API_KEY="${API_KEY:?Missing API_KEY environment variable}"

response=$(curl -sf -X POST "https://api.example.com/v1/generate" \
  -H "Authorization: Bearer ${API_KEY}" \
  -H "Content-Type: application/json" \
  -d "{\"prompt\": \"$1\", \"size\": \"1024x1024\"}")

echo "$response"
```

#### Update metadata to declare dependencies

```yaml
metadata: {"clawdbot":{"emoji":"🎨","requires":{"bins":["curl"],"env":["API_KEY"]},"primaryEnv":"API_KEY"}}
```

#### Reference in SKILL.md

```markdown
## Generate Image

\`\`\`bash
{baseDir}/scripts/call-api.sh "a sunset over mountains"
\`\`\`
```

> **Note**: Replace the placeholder URL, headers, and body with the actual API specification. Declare ALL required environment variables in `metadata.clawdbot.requires.env`.

---

## Description Writing Formula

**Formula**:

```
[Action verb] + [value proposition]. Use when someone asks to "[trigger phrase 1]",
"[trigger phrase 2]", "[trigger phrase 3]", ... or discusses [topic area 1], [topic area 2].
```

**Good example**:

> Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails.

**Bad example**:

> A helpful skill for improving agent capabilities and making things better.

Why bad: no trigger phrases, no specific scenarios, vague value proposition. The LLM has no pattern to match against user input.

**Trigger phrase checklist** — include at least 5 of these patterns:

| Pattern | Example |
|---------|---------|
| Imperative verb phrase | "create a skill", "review my skill" |
| Question format | "how do I make a skill", "what makes a good skill" |
| Topic mention | "discusses skill development", "SKILL.md structure" |
| Tool/platform name | "OpenClaw", "ClawHub", "agent skill" |
| Problem statement | "skill not triggering", "fix my description" |

---

## File Organization Guide

| Path | Purpose | When to create |
|------|---------|---------------|
| `SKILL.md` | Core instructions — always present | Always |
| `references/` | Deep-dive docs, examples, troubleshooting | SKILL.md > 200 lines or has detailed reference content |
| `scripts/` | Executable code (shell, Node.js) | Skill wraps an API or automates a task |
| `assets/` | Templates, config files for users to copy | Skill generates boilerplate |
| `hooks/` | Event-driven agent lifecycle handlers | Skill needs automatic triggers (rare) |
| `_meta.json` | **Never create** — auto-generated by ClawHub | Never |

Keep SKILL.md under 300 lines. Extract to `references/` beyond that threshold.

Use `{baseDir}` in SKILL.md to reference files within the skill package — the platform resolves this to the skill's installation path at runtime.

---

## Gotchas

- **Metadata must be single-line JSON** — the ClawHub parser does not support multiline. `{"clawdbot":{"emoji":"🔧"}}` not formatted JSON.
- **Never create `_meta.json`** — ClawHub auto-generates it on publish. Committing one causes conflicts.
- **Use `{baseDir}` for script paths** — skills can be installed anywhere. Never hardcode absolute paths.
- **Avoid VirusTotal-flagged terms** — words like "upload", "public URL", "CDN" trigger security scans. Use "prepare", "reference", "compress" instead.
- **Pin versions in npx references** — `[email protected]` not `meigen@latest`. Floating versions are a supply chain risk.
- **List ALL binaries in `requires.bins`** — include transitive dependencies (`node`, `npx`, not just your script name).
- **Use `clawdbot` key in metadata** — not `openclaw`. This is the established convention (5/6 top skills use it).

## Further Reading

- `{baseDir}/references/best-practices.md` — comprehensive design guidelines with worked examples
- `{baseDir}/references/quality-checklist.md` — full 24-point review checklist and retrofit process
- `{baseDir}/assets/skill-template.md` — copy-paste starter template for new skills

「AI 智慧體」分類下的熱門技能

jau123 的其他技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。