
Create Skill
Author concise, discoverable SKILL.md packages so your coding agent reliably loads the right procedural knowledge without bloating the context window.
Install
npx skills add https://github.com/siviter-xyz/dot-agent --skill create-skillWhat is this skill?
- Teaches context-window discipline: omit what agents already know and keep examples token-tight
- Maps degrees of freedom (high/medium/low) to how brittle or variable each task is
- Contrasts good vs verbose skill sections with concrete before/after token estimates
- Frames skills as shared context competing with history, metadata, and the user request
- Aligns authoring choices with discoverability and successful skill invocation
Adoption & trust: 2.2k installs on skills.sh; 19 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Journey fit
Skill authoring is shelved under Build → agent-tooling because that is where solo builders package reusable capabilities, even though the same rules apply whenever they draft or refactor any skill. Agent-tooling is the canonical home for meta guidance on SKILL structure, triggers, and packaging—not a one-off doc task.
Common Questions / FAQ
Is Create Skill safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Create Skill
# Skill Authoring Best Practices Comprehensive guide for writing effective skills that agents can discover and use successfully. ## Core Principles ### Concise is Key The context window is a shared resource. Your skill shares it with conversation history, other skills' metadata, and the actual request. Be concise and challenge each piece of information. **Default assumption**: Agents are already very smart. Only add context the agent doesn't already have. **Good example: Concise** (~50 tokens): ````markdown ## Extract PDF text Use pdfplumber for text extraction: ```python import pdfplumber with pdfplumber.open("file.pdf") as pdf: text = pdf.pages[0].extract_text() ``` ```` **Bad example: Too verbose** (~150 tokens): ```markdown ## Extract PDF text PDF (Portable Document Format) files are a common file format that contains text, images, and other content. To extract text from a PDF, you'll need to use a library. There are many libraries available for PDF processing, but we recommend pdfplumber because it's easy to use and handles most cases well. First, you'll need to install it using pip. Then you can use the code below... ``` ### Set Appropriate Degrees of Freedom Match the level of specificity to the task's fragility and variability. **High freedom** (text-based instructions): - Multiple approaches are valid - Decisions depend on context - Heuristics guide the approach **Medium freedom** (pseudocode or scripts with parameters): - A preferred pattern exists - Some variation is acceptable - Configuration affects behavior **Low freedom** (specific scripts, few or no parameters): - Operations are fragile and error-prone - Consistency is critical - A specific sequence must be followed ### Test with All Models Skills act as additions to models, so effectiveness depends on the underlying model. Test your skill with all models you plan to use it with. ## Naming Conventions Use consistent naming patterns. We recommend **gerund form** (verb + -ing) for skill names. **Good naming examples (gerund form)**: - `processing-pdfs` - `analyzing-spreadsheets` - `managing-databases` - `testing-code` - `writing-documentation` **Acceptable alternatives**: - Noun phrases: `pdf-processing`, `spreadsheet-analysis` - Action-oriented: `process-pdfs`, `analyze-spreadsheets` **Avoid**: - Vague names: `helper`, `utils`, `tools` - Overly generic: `documents`, `data`, `files` - Inconsistent patterns within your skill collection ## Writing Effective Descriptions The `description` field enables skill discovery and should include both what the skill does and when to use it. **Always write in third person**. The description is injected into the system prompt. - **Good:** "Processes Excel files and generates reports" - **Avoid:** "I can help you process Excel files" - **Avoid:** "You can use this to process Excel files" **Be specific and include key terms**. Include both what the skill does and specific triggers/contexts for when to use it. **Effective examples:** ```yaml description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction. ``` ```yaml description: Analyze Excel spreadsheets, create pivot tables, generate charts. Use when analyzing Excel files, spreadsheets, tabular data, or .xlsx files. ``` **Avoid vague descriptions:** ```yaml description: Helps with documents # Too vague ``` ## Progressive Disclosure Patterns ### Pattern 1: High-level guide with references ````markdown # PDF Processing ## Quick start Extract text with pdfplumber: ```python import pdfplumber with pdfplumber.open("file.pdf") as pdf: text = pdf.pages[0].extract_text() ``` ## Advanced features **Form filling**: See [FORMS.md](FORMS.md) for complete guide **API reference**: See [REFERENCE.md](REFERENCE.md) for all methods **Examples**: See [EXAMPLES.md](EXAMPLES.md) for common patterns ```` ### Pattern 2: Domain-specific organ