init
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# YAML Frontmatter Reference
|
||||
|
||||
## Required Fields
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: skill-name-in-kebab-case
|
||||
description: What it does and when to use it. Include specific trigger phrases.
|
||||
---
|
||||
```
|
||||
|
||||
## All Optional Fields
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: skill-name
|
||||
description: [required - under 200 chars]
|
||||
license: MIT # Open-source license
|
||||
compatibility: Requires Python 3.10+, network access # 1-500 chars, environment needs
|
||||
allowed-tools: "Bash(python:*) Bash(npm:*) WebFetch" # Restrict tool access
|
||||
metadata: # Custom key-value pairs
|
||||
author: Company Name
|
||||
version: 1.0.0
|
||||
mcp-server: server-name
|
||||
category: productivity
|
||||
tags: [project-management, automation]
|
||||
documentation: https://example.com/docs
|
||||
support: support@example.com
|
||||
---
|
||||
```
|
||||
|
||||
## Field Details
|
||||
|
||||
### name (required)
|
||||
- Supports either `skill-name` or `namespace:skill-name` (for example `ck:plan`)
|
||||
- If namespaced, namespace and skill id both use kebab-case only (no spaces, no capitals)
|
||||
- Folder name must match the skill id segment (after `:`)
|
||||
- Cannot contain "claude" or "anthropic" (reserved)
|
||||
|
||||
### description (required)
|
||||
- Under 200 characters (1024 max per spec, but 200 for this project)
|
||||
- Structure: `[What it does] + [When to use it] + [Key capabilities]`
|
||||
- Include trigger phrases users would actually say
|
||||
- Mention relevant file types if applicable
|
||||
- Use third-person: "This skill should be used when..."
|
||||
|
||||
### license (optional)
|
||||
- Common: MIT, Apache-2.0
|
||||
- Reference full terms in LICENSE.txt if needed
|
||||
|
||||
### compatibility (optional)
|
||||
- 1-500 characters
|
||||
- Environment requirements: intended product, system packages, network access
|
||||
|
||||
### allowed-tools (optional)
|
||||
- Restricts which tools the skill can use
|
||||
- Space-separated tool patterns
|
||||
|
||||
### metadata (optional)
|
||||
- Any custom key-value pairs
|
||||
- Suggested: author, version, mcp-server, category, tags
|
||||
|
||||
## Security Restrictions
|
||||
|
||||
**Forbidden in frontmatter:**
|
||||
- XML angle brackets (`< >`) — frontmatter appears in system prompt, could inject instructions
|
||||
- Skills named with "claude" or "anthropic" prefix (reserved)
|
||||
|
||||
**Allowed:**
|
||||
- Standard YAML types (strings, numbers, booleans, lists, objects)
|
||||
- Custom metadata fields
|
||||
- Long descriptions up to 1024 characters (project standard: 200)
|
||||
|
||||
## Description Examples
|
||||
|
||||
**Good — specific with triggers:**
|
||||
```yaml
|
||||
description: Analyzes Figma design files and generates developer handoff docs.
|
||||
Use when user uploads .fig files or asks for "design specs" or "design-to-code".
|
||||
```
|
||||
|
||||
```yaml
|
||||
description: Manages Linear project workflows including sprint planning and
|
||||
task creation. Use when user mentions "sprint", "Linear tasks", or "create tickets".
|
||||
```
|
||||
|
||||
**Bad — vague or missing triggers:**
|
||||
```yaml
|
||||
description: Helps with projects. # Too vague
|
||||
description: Creates sophisticated documentation systems. # No triggers
|
||||
description: Implements the Project entity model. # Too technical
|
||||
```
|
||||
Reference in New Issue
Block a user