Add skill-manager skill (migrated from skill-creator) with deploy action

- Skill content moved from ~/.agents/skills/skill-creator, renamed to skill-manager
- New deploy CLI action: installs any skill via absolute-path symlinks (or copies)
  into $HOME/.agents/skills, $HOME/.claude/skills and $HOME/.cline/skills
- Taskfile + shell module wrappers (task deploy / cli:deploy)
- SKILL.md: deploy docs, origin-repository/origin-path metadata

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 22:32:42 +03:00
co-authored by Claude Fable 5
parent cc30987dd2
commit 6042272ccc
62 changed files with 3474 additions and 1 deletions
+213
View File
@@ -0,0 +1,213 @@
# Agent Skills — Full Specification Reference
Source: https://agentskills.io/specification
## Directory structure
```
skill-name/
├── SKILL.md # Required: metadata + instructions
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation loaded on demand
├── assets/ # Optional: templates, resources
└── ... # Any additional files or directories
```
## SKILL.md format
The file must contain YAML frontmatter followed by Markdown content.
---
## Frontmatter fields
| Field | Required | Constraints |
|-------|----------|-------------|
| `name` | Yes | Max 64 chars. Lowercase letters, numbers, hyphens only. No leading/trailing/consecutive hyphens. Must match the parent directory name. |
| `description` | Yes | Max 1024 chars. Non-empty. Describes what the skill does and when to use it. |
| `license` | No | License name or reference to a bundled license file. |
| `compatibility` | No | Max 500 chars. Indicates environment requirements (product, packages, network, etc.). |
| `metadata` | No | Arbitrary key-value mapping (string → string) for additional metadata. |
| `allowed-tools` | No | Space-separated string of pre-approved tools. (Experimental) |
---
## `name` field
Rules:
- 1–64 characters
- Only: lowercase letters `a-z`, digits `0-9`, hyphens `-`
- Must not start or end with a hyphen
- Must not contain consecutive hyphens `--`
- **Must match the parent directory name exactly**
Valid examples:
```yaml
name: pdf-processing
name: data-analysis
name: code-review
```
Invalid examples:
```yaml
name: PDF-Processing # uppercase not allowed
name: -pdf # cannot start with hyphen
name: pdf--processing # consecutive hyphens not allowed
```
---
## `description` field
Rules:
- 1–1024 characters
- Should describe both **what** the skill does and **when** to use it
- Include specific keywords that help agents identify relevant tasks
**Good example:**
```yaml
description: >
Extracts text and tables from PDF files, fills PDF forms, and merges
multiple PDFs. Use when working with PDF documents or when the user
mentions PDFs, forms, or document extraction.
```
**Poor example:**
```yaml
description: Helps with PDFs.
```
Principles for effective descriptions:
- Use imperative phrasing: "Use this skill when…" not "This skill does…"
- Focus on user intent, not internal mechanics
- Be explicit about indirect triggers: "even if they don't explicitly mention 'CSV'"
- Err on the side of being specific and slightly pushy
- Keep it concise — a few sentences to a short paragraph
---
## `license` field
- Specifies the license applied to the skill
- Keep it short — either the name of a license or the name of a bundled license file
Example:
```yaml
license: Apache-2.0
license: Proprietary. LICENSE.txt has complete terms.
```
---
## `compatibility` field
- 1–500 characters if provided
- Only include if your skill has specific environment requirements
- Can indicate: intended product, required system packages, network access
Examples:
```yaml
compatibility: Designed for Claude Code (or similar products)
compatibility: Requires git, docker, jq, and access to the internet
compatibility: Requires Python 3.14+ and uv
```
Most skills do not need this field.
---
## `metadata` field
- A map from string keys to string values
- Use for storing additional properties not defined by the spec
- Make key names reasonably unique to avoid conflicts
Example:
```yaml
metadata:
author: example-org
version: "1.0"
```
---
## `allowed-tools` field
- A space-separated string of tools pre-approved to run
- Experimental — support varies between agent implementations
Example:
```yaml
allowed-tools: Bash(git:*) Bash(jq:*) Read
```
---
## Body content
The Markdown body after the frontmatter contains the skill instructions.
Recommended sections:
- Step-by-step instructions
- Examples of inputs and outputs
- Common edge cases
The agent loads the entire body when the skill activates. Keep it under 500 lines. Move longer reference material to separate files.
---
## Progressive disclosure
Skills are loaded in three stages:
| Stage | Content | Size |
|-------|---------|------|
| Startup | `name` + `description` only | ~100 tokens |
| Activation | Full `SKILL.md` body | < 5,000 tokens recommended |
| On demand | Files in `scripts/`, `references/`, `assets/` | As needed |
Keep `SKILL.md` under 500 lines. Move detailed reference material to separate files and tell the agent *when* to load them — not just "see references/ for details."
---
## File references
Use relative paths from the skill root:
```markdown
See [the reference guide](references/REFERENCE.md) for details.
Run the extraction script:
scripts/extract.py
```
Keep file references one level deep from `SKILL.md`. Avoid deeply nested reference chains.
---
## Optional directories
### `scripts/`
Contains executable code agents can run. Scripts should:
- Be self-contained or clearly document dependencies
- Include helpful error messages
- Handle edge cases gracefully
Supported languages depend on the agent implementation. Common: Python, Bash, JavaScript.
### `references/`
Contains documentation agents read on demand:
- `REFERENCE.md` — Detailed technical reference
- `FORMS.md` — Form templates or structured data formats
- Domain-specific files (`finance.md`, `legal.md`, etc.)
Keep individual reference files focused. Agents load these on demand — smaller files = less context used.
### `assets/`
Contains static resources:
- Templates (document, configuration)
- Images (diagrams, examples)
- Data files (lookup tables, schemas)