example-skill
skillTemplate 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.
apm::install
apm install @sendaifun/example-skillapm::skill.md
---
name: example-skill
description: 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.
---
# Example Skill Template
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.
## Overview
Every skill should provide:
- **Core Documentation** - Main concepts and quick start guide in SKILL.md
- **API References** - Detailed method/function documentation in `resources/`
- **Code Examples** - Working code samples in `examples/`
- **Starter Templates** - Ready-to-use setup files in `templates/`
- **Troubleshooting** - Common issues and solutions in `docs/`
## Required Structure
```
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
```
## SKILL.md Format
### Frontmatter (Required)
Every SKILL.md must start with YAML frontmatter:
```yaml
---
name: skill-name
description: Brief description of what this skill covers. Should be 1-2 sentences explaining the protocol/tool and main features.
---
```
### Recommended Sections
```markdown
# 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.
```
## Writing Guidelines
### Code Examples
1. **Always include imports** - Show complete, runnable code
2. **Use TypeScript** - Prefer `.ts` files with proper types
3. **Add comments** - Explain non-obvious logic
4. **Handle errors** - Show proper error handling patterns
5. **Use real addresses** - Use actual program IDs, not placeholders
### Documentation Style
1. **Be concise** - Get to the point quickly
2. **Use tables** - For lists of methods, addresses, parameters
3. **Show, don't tell** - Prefer code examples over lengthy explanations
4. **Keep updated** - Include version info and update dates
### Resource Files
Create separate files in `resources/` for:
- Complete API method references
- Program addresses and PDAs
- Configuration options
- Type definitions
### Example Files
Examples in `examples/` should be:
- Self-contained and runnable
- Well-commented
- Cover common use cases
- Include error handling
### Template Files
Templates in `templates/` should be:
- Ready to copy and use
- Include configuration options
- Have placeholder values clearly marked
- Include all necessary imports
## Example Protocol Skill
Here's how a typical Solana protocol skill is structured:
```markdown
---
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
\`\`\`
```
## Checklist for New Skills
- [ ] SKILL.md with proper frontmatter
- [ ] Overview section with feature list
- [ ] Program IDs table (for Solana protocols)
- [ ] Quick Start with installation and setup
- [ ] Core operations with code examples
- [ ] Best practices section
- [ ] Resources with external links
- [ ] Skill structure diagram
- [ ] `resources/` with API references
- [ ] `examples/` with working code
- [ ] `templates/` with starter template
- [ ] `docs/troubleshooting.md` with common issues
## Skill Structure
```
example-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
```