skill-creator

Meta-skill for authoring Markdown Skill files with YAML frontmatter and progressive disclosure via create_skill. Use when: adding a new skill, generating SKILL.md with references or templates, or checking description rules.

224 stars

Best use case

skill-creator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Meta-skill for authoring Markdown Skill files with YAML frontmatter and progressive disclosure via create_skill. Use when: adding a new skill, generating SKILL.md with references or templates, or checking description rules.

Teams using skill-creator should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/skill-creator/SKILL.md --create-dirs "https://raw.githubusercontent.com/xuiltul/animaworks/main/templates/en/common_skills/skill-creator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/skill-creator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How skill-creator Compares

Feature / Agentskill-creatorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Meta-skill for authoring Markdown Skill files with YAML frontmatter and progressive disclosure via create_skill. Use when: adding a new skill, generating SKILL.md with references or templates, or checking description rules.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# skill-creator

## Skill file structure

A Skill file consists of YAML frontmatter and Markdown body.
Required frontmatter fields are `name` and `description`.
Optional fields: `allowed_tools` (permitted tool list), `tags` (classification tags).

```yaml
---
name: skill-name
description: >-
  Concise third-person summary of what the skill does.
  Use when: comma-separated scenarios where this skill applies.
---
```

`description` is the primary field for discovery and selection: the model uses it to decide relevance.
The body is read when you open the path from the system prompt skill catalog with `read_memory_file` (e.g. `skills/foo/SKILL.md`, `common_skills/bar/SKILL.md`).

**Authoring format**: follow **`Use when:`** as described in `references/description_guide.md` (Agent Skills standard).
After editing, validate with **`python scripts/lint_skill.py path/to/SKILL.md`**.

## Writing `description`

Do not use legacy **`「」` keyword lists**. Use a short third-person capability line plus **`Use when:`** with concrete verbs and nouns.

See **`references/description_guide.md`** for rules (250 characters, no XML tags, examples, checklist).

### Domain-specific and concrete

Generic wording causes false positives. Prefer tool names, operations, and targets specific to the skill.

## Progressive disclosure

Skill information is disclosed in three levels.

| Level | Content | When shown |
|-------|---------|------------|
| Level 1 | `name` + `description` | Skill catalog / tool descriptions (budgeted) |
| Level 2 | body | Loaded with `read_memory_file(path="skills/.../SKILL.md")` or `common_skills/.../SKILL.md` |
| Level 3 | External files | Loaded per body instructions (`references/`, `templates/`) |

Keep Level 1 concise; put procedures in Level 2; offload long material to Level 3.

## Creation procedure

### Step 1: Clarify

- What to automate or document
- Personal vs common Skill (procedures use `procedures/*.md` separately)
- **Use when:** scenarios (when to choose this skill)

### Step 2: Design

- **name**: kebab-case (e.g. `my-skill`); use `*-tool` naming for external tool guides when applicable
- **description**: third-person summary + **`Use when:`** (see `references/description_guide.md`)
- **body**: section structure; optional `{{now_local}}` and other builtins
- **references** / **templates**: optional
- **allowed_tools**: optional soft constraint

### Step 3: Create

```
create_skill(skill_name="{name}", description="{description}", body="{body}")
```

Common skills:

```
create_skill(skill_name="{name}", description="{description}", body="{body}", location="common")
```

Prefer `create_skill` for new skills; flat `skills/foo.md` alone may not match `skills/foo/SKILL.md` for `read_memory_file`.

### Step 4: Verify

- Re-read with `read_memory_file(path="skills/{name}/SKILL.md")` (or the `common_skills/...` path from the catalog)
- Run **`python scripts/lint_skill.py`** on the file (recommended)

## Checklist

- [ ] YAML frontmatter delimited by `---`
- [ ] `name` and `description` present
- [ ] **`Use when:`** present; no **`「」`** keyword enumeration
- [ ] Domain-specific, concrete wording (avoid vague “manage” / “check” alone)
- [ ] Body has actionable steps
- [ ] Avoid relying only on `## Overview` for description; prefer frontmatter
- [ ] Created via `create_skill` with `{name}/SKILL.md` layout where applicable

## Template

Use `templates/skill_template.md` bundled with this skill, or:

```markdown
---
name: {{skill_name}}
description: >-
  {{Line 1: concise capability summary}}
  Use when: {{comma-separated usage scenarios}}
---

# {{skill_name}}

## Procedure

1. ...
2. ...

## Notes

- ...
```

## Notes

- Skills are Markdown playbooks, not Python tools
- Required frontmatter: `name`, `description`
- Optional: `allowed_tools`, `tags` (metadata usage may vary)
- Keep body around 150 lines when practical; use `references/` for long material

Related Skills

tool-creator

224
from xuiltul/animaworks

Meta-skill for building AnimaWorks Python external tools: ExternalToolDispatcher, get_credential, and permissions. Use when: adding a module under core/tools, wrapping a Web API, or exposing commands via animaworks-tool.

x-search-tool

224
from xuiltul/animaworks

X (Twitter) search tool for keyword search and fetching tweets from a specified account. Use when: searching X for topics, reading a user timeline, or tracking trends and posts.

workspace-manager

224
from xuiltul/animaworks

Registers, lists, removes, and assigns workspaces (project directories) for Anima work. Use when: binding project paths to Anima, managing aliases, or switching workspace roots.

web-search-tool

224
from xuiltul/animaworks

Web search tool. Queries the public internet via the Brave Search API. Use when: researching current events, finding documentation, fact-checking, or fetching ranked search results.

transcribe-tool

224
from xuiltul/animaworks

Audio transcription tool. Converts audio files to text with Whisper and optional LLM post-processing. Use when: transcribing meetings, podcasts, or extracting text from recorded audio files.

subordinate-management

224
from xuiltul/animaworks

Supervisor tools for subordinate Anima: disable/enable, model changes, restart, delegation, state reads, and audits. Use when: pausing a subordinate, changing main or background models, restarting processes, delegating tasks, or org dashboards.

subagent-cli

224
from xuiltul/animaworks

Runs external AI agent CLIs via Bash in non-interactive mode. Delegates coding with codex exec or cursor-agent. Use when: offloading complex implementation, code review, multi-file edits, or spawning a subagent from Bash.

slack-tool

224
from xuiltul/animaworks

Slack integration tool for send/receive messages, search, unreplied checks, channel listing, and emoji reactions. Use when: posting to Slack, listing channels, replying in threads, checking unreplied items, or adding reactions.

notion-tool

224
from xuiltul/animaworks

Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.

machine-tool

224
from xuiltul/animaworks

Delegates work to external agent CLIs (machine tools) for large code changes, investigation, or analysis. Use when: offloading implementation via the machine command, heavy refactors, or batched agent runs.

local-llm-tool

224
from xuiltul/animaworks

Local LLM execution tool for text generation and chat through Ollama or vLLM endpoints. Use when: running on-prem inference, calling a local GPU model, or summarizing with a self-hosted LLM.

image-posting

224
from xuiltul/animaworks

Skill for embedding images in chat replies: URL detection from tool results, Markdown image syntax, and assets paths. Use when: surfacing images from search or generation tools, pasting Markdown images, or showing attachments.