Template and guide for creating skills. Demonstrates the standard skill structure with resources, docs, examples, and templates directories. Use this as a reference when building new protocol integrations.
npx skills add https://github.com/sendaifun/skills --skill example-skill
This skill serves as a template and guide for creating new skills. It demonstrates the standard structure and best practices used by all skills in this codebase.
Every skill should provide:
resources/examples/templates/docs/skill-name/
├── SKILL.md # Main skill file (required)
├── resources/ # API references and detailed docs
│ ├── api-reference.md
│ └── program-addresses.md
├── examples/ # Working code examples
│ └── feature-name/
│ └── example.ts
├── templates/ # Starter templates
│ └── setup.ts
└── docs/ # Guides and troubleshooting
└── troubleshooting.md
Every SKILL.md must start with YAML frontmatter:
---
name: skill-name
description: Brief description of what this skill covers. Should be 1-2 sentences explaining the protocol/tool and main features.
---
# Protocol Name Development Guide
Brief introduction paragraph.
## Overview
Bullet points of main features:
- **Feature 1** - Description
- **Feature 2** - Description
## Program IDs (for Solana protocols)
| Program | Address |
|---------|---------|
| Main Program | `address` |
## Quick Start
### Installation
\`\`\`bash
npm install package-name
\`\`\`
### Basic Setup
\`\`\`typescript
// Setup code example
\`\`\`
## Core Features
Document each major feature with:
- Explanation
- Code examples
- Important notes
## Best Practices
- Security considerations
- Performance tips
- Common patterns
## Resources
- Links to official docs
- GitHub repositories
- Community resources
## Skill Structure
Show the actual file structure of this skill.
.ts files with proper typesCreate separate files in resources/ for:
Examples in examples/ should be:
Templates in templates/ should be:
Here's how a typical Solana protocol skill is structured:
---
name: protocol-name
description: Complete guide for Protocol Name - description of what it does.
---
# Protocol Name Development Guide
## Overview
Protocol Name provides:
- **Feature A** - What it does
- **Feature B** - What it does
## Program IDs
| Program | Address |
|---------|---------|
| Main | \`ProgramAddress111111111111111111111\` |
## Quick Start
### Installation
\`\`\`bash
npm install @protocol/sdk
\`\`\`
### Basic Setup
\`\`\`typescript
import { Protocol } from '@protocol/sdk';
const protocol = new Protocol(connection);
\`\`\`
## Core Operations
### Operation 1
\`\`\`typescript
// Code example
\`\`\`
### Operation 2
\`\`\`typescript
// Code example
\`\`\`
## Best Practices
- Practice 1
- Practice 2
## Resources
- [Official Docs](https://docs.protocol.com)
- [GitHub](https://github.com/protocol/sdk)
## Skill Structure
\`\`\`
protocol-name/
├── SKILL.md
├── resources/
│ ├── api-reference.md
│ └── program-addresses.md
├── examples/
│ └── basic/
│ └── example.ts
├── templates/
│ └── setup.ts
└── docs/
└── troubleshooting.md
\`\`\`
resources/ with API referencesexamples/ with working codetemplates/ with starter templatedocs/troubleshooting.md with common issuesexample-skill/
├── SKILL.md # This file
├── resources/
│ └── api-reference.md # Example API reference format
├── examples/
│ └── basic/
│ └── example.ts # Example code file
├── templates/
│ └── setup.ts # Example template
└── docs/
└── troubleshooting.md # Example troubleshooting guide
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take sendaifun/example-skill from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.