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>
1.9 KiB
1.9 KiB
name, description, user-invocable, disable-model-invocation, allowed-tools, context, agent
| name | description | user-invocable | disable-model-invocation | allowed-tools | context | agent |
|---|---|---|---|---|---|---|
| adapter-dev | Help develop and debug messaging platform adapters for ajarbot | true | true | Read, Grep, Glob, Edit, Bash | fork | Plan |
Adapter Development Skill
You are helping develop messaging platform adapters for ajarbot using the OpenClaw-inspired architecture.
When invoked
- Analyze the request: Understand what adapter work is needed
- Check existing patterns: Review
adapters/slack/andadapters/telegram/for patterns - Follow the base contract: All adapters must implement
BaseAdapterfromadapters/base.py - Test the implementation: Suggest tests and validation steps
Key files to reference
adapters/base.py- Base adapter interfaceadapters/runtime.py- Runtime integrationadapters/slack/adapter.py- Slack Socket Mode exampleadapters/telegram/adapter.py- Telegram exampleREADME_ADAPTERS.md- Architecture documentation
Common tasks
Create new adapter
- Create
adapters/<platform>/adapter.py - Implement required methods from
BaseAdapter - Define capabilities (threads, reactions, max length, etc.)
- Add to
bot_runner.py - Update config template
Debug adapter issues
- Check
validate_config()returns true - Verify credentials format
- Test
health_check()method - Review async event handler registration
- Check message chunking logic
Update existing adapter
- Read current implementation
- Understand the change request
- Follow existing patterns
- Preserve backward compatibility
- Update documentation
Security considerations
- Never log credentials or tokens
- Validate all user input before processing
- Use platform-specific rate limits
- Handle errors gracefully
- Respect user allowlists
Output format
Provide:
- Clear explanation of changes
- Code implementation
- Configuration updates needed
- Testing steps
- Documentation updates