Files
ajarbot/.claude/SKILLS_README.md
Jordan Ramos a99799bf3d Initial commit: Ajarbot with optimizations
Features:
- Multi-platform bot (Slack, Telegram)
- Memory system with SQLite FTS
- Tool use capabilities (file ops, commands)
- Scheduled tasks system
- Dynamic model switching (/sonnet, /haiku)
- Prompt caching for cost optimization

Optimizations:
- Default to Haiku 4.5 (12x cheaper)
- Reduced context: 3 messages, 2 memory results
- Optimized SOUL.md (48% smaller)
- Automatic caching when using Sonnet (90% savings)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 19:06:28 -07:00

105 lines
2.1 KiB
Markdown

# Local Skills for Ajarbot
This project uses **local-only skills** for security - no public registries, no external dependencies.
## Available Skills
### `/adapter-dev` - Adapter Development Helper
Helps create, debug, and update messaging platform adapters.
**Usage:**
```
/adapter-dev create WhatsApp adapter
/adapter-dev debug Slack connection issues
/adapter-dev add file upload support to Telegram
```
**Location:** `.claude/skills/adapter-dev/`
## Creating Your Own Skills
### 1. Create skill directory
```bash
mkdir -p .claude/skills/my-skill
```
### 2. Create SKILL.md
```yaml
---
name: my-skill
description: What this skill does
user-invocable: true
disable-model-invocation: true
allowed-tools: Read, Grep
context: fork
---
Instructions for Claude when this skill runs...
```
### 3. Use the skill
```
/my-skill
/my-skill with arguments
```
## Security Configuration
**Restrict skill permissions** in `.claude/settings.json`:
```json
{
"permissions": {
"allow": [
"Skill(adapter-dev)",
"Skill(my-skill)"
]
}
}
```
**Per-skill tool restrictions** in SKILL.md frontmatter:
```yaml
allowed-tools: Read, Grep, Glob
```
This prevents skills from using `Bash`, `Edit`, `Write`, etc. unless explicitly allowed.
## Why Local Skills?
**No supply chain attacks** - All code is in your repo
**Version controlled** - Review skills in PRs
**Team-wide consistency** - Everyone uses same skills
**Fully auditable** - All code is visible
**Offline capable** - No registry lookups
## Skill Arguments
Pass arguments to skills:
```
/adapter-dev create Discord adapter
```
In SKILL.md, access with:
- `$ARGUMENTS` - All arguments as string
- `$0`, `$1`, `$2` - Individual arguments
## Best Practices
1. **Use `disable-model-invocation: true`** for security-sensitive skills
2. **Limit `allowed-tools`** to only what's needed
3. **Use `context: fork`** to isolate skill execution
4. **Document in examples/** directory
5. **Review all skills before committing**
## Documentation
- [Claude Code Skills Docs](https://code.claude.com/docs/en/skills.md)
- [Security Guide](https://code.claude.com/docs/en/security.md)