Skip to content
Back to skills

Skill Creator

ASecurity

创建、测试和迭代改进技能的开发指南,用于扩展 Claude 的专业知识、工作流程或工具集成。包含完整的 evaluate 体系:创建 skill 后可以跑测试用例、量化评分、迭代优化 description。

  • 80 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 26, 2026
developmentpythongobashgitapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 17 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add laborany/laborany --skill skill-creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Creator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Skill Creator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/laborany-skill-creator/badge)](https://www.skillsdirectory.com/skills/laborany-skill-creator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: 技能创建助手
description: 创建、测试和迭代改进技能的开发指南,用于扩展 Claude 的专业知识、工作流程或工具集成。包含完整的 evaluate 体系:创建 skill 后可以跑测试用例、量化评分、迭代优化 description。
license: Complete terms in LICENSE.txt
icon: 🛠️
category: 开发
---

# Skill Creator

Create and iteratively improve skills through evaluation, scoring, and description optimization.

## About Skills

Skills are modular, self-contained packages that extend Claude's capabilities with specialized knowledge, workflows, and tools. They transform Claude from a general-purpose agent into a specialized one equipped with procedural knowledge.

### 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 shared with system prompt, conversation history, other skills' metadata, and the user request.

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

### Set Appropriate Degrees of Freedom

- **High freedom** (text-based instructions): Multiple approaches valid, decisions depend on context
- **Medium freedom** (pseudocode/scripts with parameters): Preferred pattern exists, some variation acceptable
- **Low freedom** (specific scripts, few parameters): Operations fragile, consistency critical

### Anatomy of a Skill

```
skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter (name + description required)
│   └── Markdown instructions
└── Bundled Resources (optional)
    ├── scripts/      — Executable code
    ├── references/   — Documentation loaded into context as needed
    └── assets/       — Files used in output (templates, icons, fonts)
```

#### SKILL.md (required)

- **Frontmatter** (YAML): `name` and `description` fields. These determine when the skill triggers — be clear and comprehensive.
- **Body** (Markdown): Instructions loaded AFTER the skill triggers.

#### Bundled Resources (optional)

- **scripts/**: Executable code for tasks needing deterministic reliability or repeatedly rewritten code
- **references/**: Documentation loaded as needed to inform Claude's process
- **assets/**: Files used in output, not loaded into context

#### What to Not Include

Do NOT create extraneous documentation: README.md, INSTALLATION_GUIDE.md, CHANGELOG.md, etc. The skill should only contain information needed for an AI agent to do the job.

## Communicating with the User

Many skill users are not technical. When communicating:

- Use plain language. Avoid jargon unless the user introduced it first.
- Explain what you're doing and why, not just the technical details.
- When asking for input, provide concrete examples of what you need.
- If something fails, explain what happened in user-friendly terms and what you'll try next.
- Celebrate progress — let the user know when milestones are reached.

## Skill Creation Process

1. Understand the skill with concrete examples
2. Plan reusable skill contents (scripts, references, assets)
3. Initialize the skill (run init_skill.py)
4. Edit the skill (implement resources and write SKILL.md)
5. Package the skill (run package_skill.py)
6. Run and evaluate test cases
7. Improve the skill description
8. Iterate based on evaluation results

### Step 1: Understanding the Skill

Skip only when usage patterns are already clearly understood.

Ask targeted questions:
- "What functionality should this skill support?"
- "Can you give examples of how it would be used?"
- "What would a user say that should trigger this skill?"

Avoid overwhelming users — start with the most important questions.

### Step 2: Planning Reusable Contents

Analyze each concrete example:
1. Consider how to execute from scratch
2. Identify what scripts, references, and assets would help when executing repeatedly

### Step 3: Initializing the Skill

Run `init_skill.py` to generate a template skill directory:

```bash
scripts/init_skill.py <skill-name> --path <output-directory>
```

Skip if the skill already exists and only needs iteration.

### Step 4: Edit the Skill

Remember: the skill is for another Claude instance to use. Include non-obvious procedural knowledge and domain-specific details.

#### Frontmatter

Write `name` and `description`:
- `description` is the primary triggering mechanism
- Include both what the skill does AND specific triggers/contexts
- All "when to use" info goes here — the body is only loaded after triggering

For LaborAny skills, also include `icon` and `category`.

#### Body

Write instructions for using the skill and its bundled resources. Keep SKILL.md body under 500 lines. Split into reference files when approaching this limit.

### Step 5: Packaging

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

Validates the skill and creates a distributable .skill file (zip format).

### Step 6: Running and Evaluating Test Cases

This is the core of the evaluate system. The goal is to quantify skill quality and identify areas for improvement.

#### 6.1 Define Test Cases

Create `eval/eval_metadata.json` in the skill directory. See `references/schemas.md` for the schema. Each test case has:
- A user prompt (what the user would say)
- Assertions (expected behaviors/properties of the output)
- Optional tags and weights

#### 6.2 Spawn Evaluation Runs

Use `scripts/run_eval.py` to execute test cases against the skill:

```bash
python -m scripts.run_eval <skill-dir> [--test-case <id>] [--all]
```

Each run invokes `claude -p` with the skill loaded and captures the output.

#### 6.3 Grade Results

The grader agent (`agents/grader.md`) evaluates each run's output against the assertions. It produces:
- Pass/fail for each assertion with evidence
- Overall score (0.0 to 1.0)
- Eval quality critique (are the assertions good enough?)

#### 6.4 Aggregate and Benchmark

Use `scripts/aggregate_benchmark.py` to collect scores across runs into `eval/benchmark.json`. The analyzer agent (`agents/analyzer.md`) can then surface patterns and regressions.

#### 6.5 Generate Review

Use `eval-viewer/generate_review.py` to create an HTML report for visual inspection of results and benchmark trends.

### Step 7: Improving the Skill Description

Use `scripts/improve_description.py` to optimize the skill description based on evaluation results:

```bash
python -m scripts.improve_description <skill-dir>
```

This calls Claude via CLI to analyze eval results and propose a better description. The `<new_description>` tag in the response is extracted and applied.

For the full eval-improve loop:

```bash
python -m scripts.run_loop <skill-dir> [--iterations <n>]
```

This automates: run evals → grade → aggregate → improve description → repeat.

### Step 8: Iterate

After evaluation, iterate based on results:
1. Review the HTML report from eval-viewer
2. Check which test cases score lowest
3. Use the analyzer agent to find patterns
4. Update SKILL.md or bundled resources
5. Re-run evaluations to confirm improvement

## Writing Patterns

### Sequential Workflows

Break complex tasks into clear steps with an overview:

```markdown
Processing involves these steps:
1. Analyze input (run analyze.py)
2. Transform data (run transform.py)
3. Validate output (run validate.py)
```

### Conditional Workflows

Guide through decision points:

```markdown
1. Determine the task type:
   **Creating new?** → Follow "Creation workflow"
   **Editing existing?** → Follow "Editing workflow"
```

### Template Pattern

Provide output templates with appropriate strictness level.

### Examples Pattern

Provide input/output pairs when output quality depends on seeing examples.

## Writing Style

- Use imperative/infinitive form in instructions
- Be concise — every sentence should justify its token cost
- Prefer examples over explanations
- Keep reference files one level deep from SKILL.md
- Structure files >100 lines with a table of contents

## 自动分类规则

创建新 skill 时,必须根据功能添加 `category` 和 `icon` 字段:

| 关键词 | Category | 推荐 Icon |
|--------|----------|-----------|
| 文档、Word、PDF、PPT、Excel | 办公 | 📝📄📊📈 |
| 股票、金融、投资、财报 | 金融 | 💹📊 |
| 论文、学术、研究 | 学术 | 📚🎓 |
| 设计、UI、前端、网页 | 设计 | 🎨🖼️ |
| 数据、监控、分析 | 数据 | 📈📉 |
| 报销、费用、财务 | 财务 | 💰💳 |
| 社交、运营、营销 | 运营 | 📱📣 |
| 开发、代码、编程 | 开发 | 🛠️💻 |
| 其他 | 工具 | 🔧⚙️ |

**Frontmatter 示例:**

```yaml
---
name: 技能名称
description: |
  技能描述...
icon: 📝
category: 办公
---
```

## LaborAny Skill Install Rules (Mandatory)

When the user asks to install a skill, do not run a free-form manual process.
Always follow this deterministic flow:

1. Extract install source from user input. Supported source forms:
   - GitHub repo/tree URL (for example: `https://github.com/org/repo/tree/main/skills/agent-browser`)
   - GitHub short form (for example: `org/repo/skills/agent-browser`)
   - Direct downloadable ZIP/TAR URL (for example: `https://example.com/agent-browser.zip` or `https://example.com/agent-browser.tar.gz`)
2. Use LaborAny's built-in installation API/flow to install into the user skill directory.
3. Never copy files into builtin `skills/` manually.
4. Ensure metadata is valid for LaborAny:
   - `icon` and `category` must exist
   - fill missing values according to skill purpose
   - do not override valid existing values
5. After install, clearly report:
   - installed skill ID
   - absolute installed path
   - where to find it in UI (`能力管理 -> 我的能力`)

If install fails, report concrete reason and next action, such as:
- invalid source URL/path
- archive has no `SKILL.md`
- archive has multiple skill directories and cannot determine target

If source structure is not fully compliant with LaborAny skill format, adapt it automatically:
- create/repair `SKILL.md` template
- ensure `name`, `description`, `icon`, `category` are available
- keep original files as references/scripts/assets when possible

Files in this skill

  • LICENSE.txt11.1 KB
  • SKILL.md10.4 KB
  • agents/analyzer.md1.9 KB
  • agents/comparator.md1.6 KB
  • agents/grader.md2.1 KB
  • eval-viewer/generate_review.py5 KB
  • eval-viewer/viewer.html5.3 KB
  • references/schemas.md3.1 KB
  • scripts/__init__.py185 B
  • scripts/aggregate_benchmark.py4.2 KB
  • scripts/generate_report.py996 B
  • scripts/improve_description.py7.4 KB
  • scripts/init_skill.py4.8 KB
  • scripts/package_skill.py3.6 KB
  • scripts/run_eval.py5.2 KB
  • scripts/run_loop.py5.1 KB
  • scripts/utils.py2.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.