.agents/skills/customize/SKILL.md
Add new capabilities or modify OmniClaw behavior. Use when user wants to add channels (Telegram, Slack, email input), change triggers, add integrations, modify the router, or make any other customizations. This is an interactive skill that asks questions to understand what the user wants.
npx skillsauth add omniaura/omniclaw customizeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill helps users add capabilities or modify behavior. Use AskUserQuestion to understand what they want before making changes.
| File | Purpose |
| -------------------------- | --------------------------------------------------- |
| src/index.ts | Orchestrator: state, message loop, agent invocation |
| src/channels/whatsapp.ts | WhatsApp connection, auth, send/receive |
| src/ipc.ts | IPC watcher and task processing |
| src/router.ts | Message formatting and outbound routing |
| src/types.ts | TypeScript interfaces (includes Channel) |
| src/config.ts | Assistant name, trigger pattern, directories |
| src/db.ts | Database initialization and queries |
| src/whatsapp-auth.ts | Standalone WhatsApp authentication script |
| groups/CLAUDE.md | Global memory/persona |
Questions to ask:
Implementation pattern:
src/channels/{name}.ts implementing the Channel interface from src/types.ts (see src/channels/whatsapp.ts for reference)main() in src/index.ts and wire callbacks (onMessage, onChatMetadata)onMessage callback; routing is automatic via ownsJid()Questions to ask:
Implementation:
src/container-runner.ts for how MCP servers are mounted)groups/CLAUDE.mdQuestions to ask:
Simple changes → edit src/config.ts
Persona changes → edit groups/CLAUDE.md
Per-group behavior → edit specific group's CLAUDE.md
Questions to ask:
Implementation:
groups/CLAUDE.md or the group's CLAUDE.mdprocessGroupMessages() in src/index.tsQuestions to ask:
Implementation:
Always tell the user:
# Rebuild and restart
npm run build
launchctl unload ~/Library/LaunchAgents/com.omniclaw.plist
launchctl load ~/Library/LaunchAgents/com.omniclaw.plist
User: "Add Telegram as an input channel"
src/channels/telegram.ts implementing the Channel interface (see src/channels/whatsapp.ts)main() in src/index.tstools
Manage stacked pull requests using Graphite CLI. Create, submit, and restack PR chains.
tools
Full GitHub operations via `gh` CLI — pull requests, issues, code review, CI/CD, search, and GraphQL API. Use for any GitHub interaction beyond basic git.
development
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use whenever a browser would be useful, not just when the user explicitly asks.
testing
X (Twitter) integration for OmniClaw. Post tweets, like, reply, retweet, and quote. Use for setup, testing, or troubleshooting X functionality. Triggers on "setup x", "x integration", "twitter", "post tweet", "tweet".