donggua-zen/guada/skill-creator
Claude Code and agent skill by donggua-zen/guada
- community
Checking that the SKILL.md file is still in the repository.
Creating and authoring new AI skills with proper SKILL.md structure, YAML frontmatter validation, directory conventions, and registration workflow
Install
npx vskill@latest install donggua-zen/guada/skill-creatorSKILL.md
Skill Creator — Comprehensive Skill Authoring Guide
Overview
This skill guides you through the complete process of creating a new AI skill for the system. A skill is a reusable instruction bundle that teaches the AI how to perform a specific type of task. Skills follow the AgentSkills open specification.
Skills use progressive disclosure to manage context efficiently:
- L1 — Metadata (~100 tokens):
name+descriptionloaded at startup for all skills - L2 — Instructions (SKILL.md body): Loaded only when the skill is activated
- L3 — Resources (scripts/, references/, assets/): Loaded on demand
1. Skill Directory Structure
1.1 Full File Layout
1.2 Minimal Structure (always valid)
A single SKILL.md file is all that's required. The optional directories are for organizing larger skills.
1.3 Location by Source Type
| Source | Directory | Persistence | |
|---|---|---|---|
| User (installed) | {SKILL_DIR}/<name>/ | Installed by user, can be updated/uninstalled |
2. SKILL.md Format Specification
2.1 Overall Structure
- Opening
---must be at line 1 of the file - Frontmatter parser pattern:
/^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/ - Must have a blank line after closing
---before body content
2.2 Frontmatter Fields
| Field | Required | Type | Max | Constraints | |
|---|---|---|---|---|---|
name | ✅ Yes | string | 64 chars | [a-z0-9-]+, cannot start/end with -, must match directory name | |
description | ✅ Yes | string | 1024 chars | Non-empty, third-person, describes what + when | |
version | ❌ No | string | — | Semantic version (recommended: semver e.g. "1.0.0") | |
author | ❌ No | string | — | Creator name or identifier | |
tags | ❌ No | string[] | — | Classification keywords for matching | |
license | ❌ No | string | — | License name or reference | |
compatibility | ❌ No | string | 500 chars | Environment requirements (product, packages, network, etc.) | |
dependencies | ❌ No | string[] | — | Names of other skills this skill depends on |
2.3 Name Validation Rules
The system enforces these rules:
Examples:
Naming Strategy
A good name is short, scannable, and self-explanatory:
- Use the core function as the name:
pdf,docx,xlsx,mcp-builder - Avoid vague names:
tool,helper,utils,my-script— these don't tell Claude when to trigger - Compound names OK:
slack-gif-creator,web-artifacts-builder,theme-factory - Version suffix only when needed:
data-analyzing-v2(notdata-analyzing-final-final) - Follow existing conventions: look at other skills in the system for naming patterns
Good names read like CLI commands — users and AI alike can guess what they do by reading the name alone.
2.4 Description Best Practices
The description is the primary trigger mechanism — it's what Claude reads to decide whether to use the skill. Get this right above all else.
Core Rules
- Use third-person ("Generating review reports…" not "Generate review reports…")
- Describe what the skill does and when to use it
- Max 1024 characters
The "Pushy" Style
Claude has a tendency to undertrigger skills — not use them when they'd be useful. To combat this, make descriptions a little pushy. Include not just what the skill does, but specific contexts where it should trigger — even if the user doesn't explicitly ask for it.
Pattern:
Good:
Poor (too passive):
Trigger Coverage
Ask yourself: what are all the ways a user might ask for this? List the synonyms, casual phrasings, and edge cases:
- Formal: "Generate a PDF report"
- Casual: "turn this into a PDF"
- Implicit: "I need to send this to the client" (implies PDF)
- Adjacent: "make this fillable" (implies PDF form)
Cover these in the description so Claude catches them all.
What NOT to Put in Description
- ❌ Implementation details ("uses Python 3.10 with pandas")
- ❌ Step-by-step instructions (that goes in the body)
- ❌ Developer notes ("todo: add error handling")
- ❌ Version info or changelog
Good:
Poor:
2.5 Frontmatter Example
3. Progressive Disclosure Model
3.1 L1 — Metadata (always loaded)
Only name and description are loaded into the system prompt at startup. The AI uses this to determine if a skill might be relevant to the user's request. This is why description must include trigger keywords.
3.2 L2 — Instructions (activated on demand)
When the AI decides a skill is relevant, it reads the full SKILL.md body from its file path (provided in the skills list). This is the core instruction content.
3.3 L3 — Resources (loaded as needed)
When the skill body references files from scripts/, references/, or assets/, the AI reads them on demand. This keeps the initial skill activation lean.
3.4 Organizing Large Skills
If a skill's instructions exceed 100-200 lines, split them:
4. Creating a Skill — Step by Step
Step 1: Plan the Skill
Determine:
- Name: Short, lowercase, hyphenated (
my-skill-name) - Description: What + when (will be the AI's main trigger)
- Scope: How much instruction content is needed?
- Resources: Any scripts, templates, or references?
Step 2: Create the Development Directory
Create the skill directory in your current working directory for development:
Directory name must match the planned name field.
Step 3: Write SKILL.md
Create {SKILL_DIR}/<skill-name>/SKILL.md with:
Step 4: Add Optional Resources (if needed)
Step 5: Validate the Skill ⚠️ Required
Before installing, run the bundled validation script to check for errors. The script lives in this skill's own directory (scripts/validate-skill.mjs), relative to the resourceBase directory returned by the skill_learn tool. Run it from that directory:
This checks 14 items: frontmatter format, name rules (lowercase, length, no leading/trailing hyphens), directory-name consistency, description constraints, optional fields, body length, and directory structure. All must pass before proceeding.
If validation fails, fix the reported issues and re-run until it passes.
Step 6: Install the Skill
After validation passes, move the skill directory to the system's skills directory:
Windows users:{SKILL_DIR}已是完整绝对路径(如C:\Users\<username>\<数据目录>\skills),直接使用即可,不要自行拼~。
Step 7: Automatic Registration
Once placed in {SKILL_DIR}/, the file watcher automatically detects the new SKILL.md and registers the skill within seconds — no manual action needed.
Step 8: Verify Registration
Use the read tool to confirm the skill is registered:
This checks 14 items including frontmatter format, name rules, directory-name consistency, description constraints, optional fields, and directory structure. See scripts/validate-skill.mjs for details.
5. SKILL.md Body Writing Guidelines
5.1 Recommended Sections
| Section | Purpose | Required? | |
|---|---|---|---|
| Overview | What the skill does, when it activates | Recommended | |
| Prerequisites | Required tools, credentials, setup | If applicable | |
| Instructions | Step-by-step guidance | Core content | |
| Rules & Constraints | Boundaries, dos and don'ts | Recommended | |
| Examples | Complete usage walkthroughs | Recommended | |
| Troubleshooting | Common issues | If applicable | |
| References | Links to related files/dirs | If applicable |
5.2 Writing Philosophy
Explain the WHY, Not Just the WHAT
Today's LLMs are smart — they have good theory of mind and can go beyond rote instructions when given proper understanding. Instead of heavy-handed ALWAYS / MUST / NEVER, explain the reasoning:
When you find yourself typing ALL CAPS or extremely rigid structures, that's a yellow flag — try to reframe and explain the why.
Keep It Lean
Every line in a skill is executed on every invocation. Remove things that aren't pulling their weight:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingbackend-ts/bundled-skills/skill-creator/SKILL.md
Popularity
- Repository stars
- 65
- Repository forks
- 14
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/donggua-zen/guada/skill-creator)