Agent skill
skill-development
Create and contribute skills to the communal knowledge base. Use when creating new skills, updating existing skills, or contributing learnings back to the repository.
Install this agent skill to your Project
npx add-skill https://github.com/letta-ai/skills/tree/main/meta/skill-development
SKILL.md
Skill Development
Guide for creating effective skills and contributing them to the communal knowledge base.
When to Use This Skill
Creating skills:
- Building a new skill for a specific domain or workflow
- Updating an existing skill with improvements
- Packaging skills for distribution
Contributing skills:
- You discovered something that took significant time to figure out
- Existing skill instructions were incomplete or led you astray
- You repeatedly solve the same undocumented problem
Part 1: Creating Skills
Skill Structure
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter (name, description)
│ └── Markdown instructions
└── Bundled Resources (optional)
├── scripts/ - Executable code
├── references/ - Documentation loaded as needed
└── assets/ - Files used in output
SKILL.md Requirements
---
name: skill-name
description: What this skill does. Use when [triggers].
---
# Skill Name
[Instructions in imperative form...]
Metadata rules:
name: lowercase, hyphens, gerund form (e.g.,creating-skills)description: Lead with action verbs, end with "Use when [triggers]"
Writing Style
Write in imperative/infinitive form (verb-first), not second person:
- ✅ "To accomplish X, do Y"
- ❌ "You should do X"
Progressive Disclosure
Keep SKILL.md lean (<5k words). Move detailed content to references/:
- Metadata (~100 words) - Always in context
- SKILL.md body (<5k words) - When skill triggers
- References (unlimited) - Loaded as needed by agent
Scripts
Include scripts for tasks that:
- Are repeatedly rewritten
- Require deterministic reliability
- Save significant tokens
Part 2: Contributing Skills
Core Philosophy
This repository is a living knowledge base. Skills must contain general-purpose knowledge that helps many agents - not project-specific configs or personal preferences.
What to Contribute
| ✅ Contribute | ❌ Don't Contribute |
|---|---|
| Patterns that appear 3+ times | One-off solutions |
| General API/tool patterns | Project-specific configs |
| Battle-tested workarounds | Personal preferences |
| Gap in existing skills | Already documented elsewhere |
Validation Checklist
Before contributing, verify:
- Is this generalizable beyond your specific context?
- Have you seen this pattern multiple times?
- Does this address a real gap vs. personal preference?
- Would this help an agent on a completely different project?
Contribution Process
- Recognize - Notice patterns during work (time investment, repetition, corrections)
- Validate - Confirm pattern is general, not specific to your context
- Create branch -
add/skill-nameorfix/skill-name - Submit PR - Clear description with rationale and evidence
See references/pr-workflow.md for detailed PR process.
Scripts
scripts/init_skill.py- Initialize skill directory structurescripts/package_skill.py- Package skill for distributionscripts/quick_validate.py- Validate SKILL.md format
References
references/recognizing-learnings.md- Patterns for spotting valuable learningsreferences/validation-criteria.md- Detailed validation guidelinesreferences/pr-workflow.md- PR process and templatesreferences/contribution-examples.md- Real contribution examplesreferences/progressive-disclosure-research.md- Research on skill organization
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
yelp-search
Search Yelp for local businesses, get contact info, ratings, and hours. Use when finding services (cleaners, groomers, restaurants, etc.), looking up business phone numbers to text, or checking ratings before booking. Triggers on queries about finding businesses, restaurants, services, or "look up on Yelp".
extracting-pdf-text
Extract text from PDFs for LLM consumption. Use when processing PDFs for RAG, document analysis, or text extraction. Supports API services (Mistral OCR) and local tools (PyMuPDF, pdfplumber). Handles text-based PDFs, tables, and scanned documents with OCR.
morph-warpgrep
Integration guide for Morph's WarpGrep (fast agentic code search) and Fast Apply (10,500 tok/s code editing). Use when building coding agents that need fast, accurate code search or need to apply AI-generated edits to code efficiently. Particularly useful for large codebases, deep logic queries, bug tracing, and code path analysis.
obsidian-cli
Work with Obsidian vaults using the official Obsidian CLI. Read, create, append, search, and manage notes, daily notes, properties, tags, tasks, sync, and more from the terminal. Use when the user mentions Obsidian, notes, vault, daily notes, or when working with markdown knowledge bases. Requires Obsidian desktop app running with CLI enabled in Settings > General.
mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
google-workspace
Connect to Gmail and Google Calendar via OAuth 2.0. Use when users want to search/read emails, create drafts, search calendar events, check availability, or schedule meetings. Triggers on queries about email, inbox, calendar, schedule, or meetings.
Didn't find tool you were looking for?