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.

Stars 77
Forks 14

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

yaml
---
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/:

  1. Metadata (~100 words) - Always in context
  2. SKILL.md body (<5k words) - When skill triggers
  3. 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

  1. Recognize - Notice patterns during work (time investment, repetition, corrections)
  2. Validate - Confirm pattern is general, not specific to your context
  3. Create branch - add/skill-name or fix/skill-name
  4. 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 structure
  • scripts/package_skill.py - Package skill for distribution
  • scripts/quick_validate.py - Validate SKILL.md format

References

  • references/recognizing-learnings.md - Patterns for spotting valuable learnings
  • references/validation-criteria.md - Detailed validation guidelines
  • references/pr-workflow.md - PR process and templates
  • references/contribution-examples.md - Real contribution examples
  • references/progressive-disclosure-research.md - Research on skill organization

Didn't find tool you were looking for?

Be as detailed as possible for better results