Skip to main content

Skills Overview

OrcBot provides 40+ production-ready skills that enable autonomous reasoning, multi-channel communication, web browsing, system command execution, and multi-agent orchestration. Skills are the core building blocks that power OrcBot’s autonomous capabilities.

Skill Architecture

Every skill in OrcBot includes:
  • Name: Unique identifier used by the LLM to invoke the skill
  • Description: Natural language description that appears in the agent’s context
  • Handler: JavaScript/TypeScript function that executes the skill’s logic
  • Metadata flags: Control orchestration behavior (isDeep, isResearch, isSideEffect, etc.)

Skill Categories

🌐 Web & Browser Skills

High-level navigation and research skills:
  • web_search - Multi-provider search with API + browser fallback
  • browser_navigate - Navigate to URLs and extract semantic snapshots
  • http_fetch - Lightweight HTTP requests without launching a browser
  • extract_article - Clean article extraction via Readability
  • download_file - Download files with 50MB cap and timeout protection
See Web Search for detailed documentation. Low-level browser automation:
  • browser_examine_page - Get semantic snapshot of current page
  • browser_click - Click elements by selector or reference
  • browser_type - Type into form fields
  • browser_wait_for - Wait for elements to appear
  • browser_screenshot - Capture screenshots
  • browser_vision - AI-powered visual analysis
  • browser_solve_captcha - Automatic CAPTCHA solving
  • browser_run_js - Execute custom JavaScript
  • switch_browser_profile - Manage persistent browser profiles
  • switch_browser_engine - Toggle between Puppeteer and Lightpanda
See Browser Tooling for detailed documentation.

📁 File System Skills

  • read_file - Read files with line range support (start_line/end_line)
  • write_file - Write or append to files with 10MB cap
  • create_directory - Create directories recursively
  • list_directory - List directory contents
  • download_file - Download from web to local storage
See File Operations for detailed documentation.

🐚 Shell & Execution Skills

  • run_command - Execute shell commands (PowerShell on Windows)
  • execute_typescript - Compile and run TypeScript snippets
  • execute_python_code - Run Python in isolated virtual environment
  • install_npm_dependency - Install Node packages for custom skills
  • install_python_package - Install Python packages via pip
  • get_system_info - Get OS, platform, and shell info
  • system_check - Verify commands, libraries, and paths exist
See Shell Execution for detailed documentation.

🧠 Memory & Learning Skills

  • recall_memory - Semantic search across all memory types
  • update_user_profile - Persist user preferences and facts
  • update_learning - Research topics and save to LEARNING.md
  • update_journal - Write reflections to JOURNAL.md
  • update_agent_identity - Evolve agent personality
  • update_world - Maintain agentic society rules in WORLD.md
  • deep_reason - Intensive chain-of-thought analysis
  • search_chat_history - Search conversation history
  • get_whatsapp_context - Get contact profile + recent history
RAG Knowledge Store:
  • rag_ingest - Ingest documents into vector knowledge base
  • rag_ingest_file - Ingest local files
  • rag_ingest_url - Download and ingest web content
  • rag_search - Semantic search across ingested knowledge
  • rag_list - List documents and collections
  • rag_delete - Delete documents or collections
See Memory & Learning for detailed documentation.

💬 Channel Messaging Skills

Core messaging:
  • send_telegram - Send Telegram messages
  • send_whatsapp - Send WhatsApp messages
  • send_discord - Send Discord messages
  • send_slack - Send Slack messages
  • send_email - Send emails via SMTP
  • send_gateway_chat - Send to web gateway interface
Rich interactions:
  • send_file - Send files (auto-detects channel)
  • send_voice_note - TTS + voice message delivery
  • send_image - Generate AI image and send in one step
  • telegram_send_buttons - Inline keyboard buttons
  • telegram_send_poll - Native polls
  • telegram_edit_message - Edit sent messages
  • telegram_pin_message - Pin important messages
  • react - React with emojis (auto-detects channel)
Email management:
  • search_emails - Search inbox with filters
  • fetch_email - Get full email by UID
  • index_emails_to_knowledge_base - Ingest emails for semantic search
  • generate_email_report - Synthesize multi-email reports
See Channel Messaging for detailed documentation.

⏰ Scheduling Skills

  • schedule_task - One-time task scheduling (relative or cron)
  • heartbeat_schedule - Recurring autonomous tasks
  • Polling system - Event-driven condition monitoring
See Scheduling for detailed documentation.

🤖 Multi-Agent Orchestration

  • spawn_agent - Create sub-agents for parallel work
  • create_peer_agent - Create independent peer agents
  • delegate_task - Assign tasks to agents
  • distribute_tasks - Auto-assign pending tasks
  • orchestrator_status - Get orchestration summary
  • complete_delegated_task - Mark task completed
  • send_agent_message - Inter-agent messaging
  • broadcast_to_agents - Broadcast to all agents
See Orchestration for detailed documentation.

🖥️ Computer Use (Vision + System)

  • computer_screenshot - Capture browser or system screenshots
  • computer_click - Click by coordinates or vision-locate
  • computer_type - Type with optional vision-guided input location
  • computer_key - Press keys or key combos
  • computer_mouse_move - Move mouse cursor
  • computer_drag - Drag operations
  • computer_scroll - Scroll in browser or system
  • computer_locate - Vision-locate elements by description
  • computer_describe - AI vision description of screen regions

⚙️ Configuration & System Management

  • manage_config - Agent-driven configuration with policy-based security
  • create_custom_skill - Create executable TypeScript plugin skills
  • self_repair_skill - Diagnose and fix failing plugins
  • tweak_skill - Patch built-in or plugin skills
  • manage_skills - Append skill definitions to SKILLS.md
Self-tuning:
  • tune_browser_domain - Adjust browser settings per domain
  • mark_headful - Mark domains requiring visible browser
  • tune_workflow - Adjust step limits and retry settings
  • get_tuning_state - View current tuning configuration
  • reset_tuning - Reset to defaults

Skill Metadata Flags

Skills use metadata to drive orchestration:
isDeep
boolean
default:"false"
Marks the skill as “substantive progress”. Resets communication cooldown, allowing status updates after execution. Use for search, browser, and research operations.
isResearch
boolean
default:"false"
Grants higher repetition budget (up to 15 calls per action). Essential for browsing and multi-step research.
isSideEffect
boolean
default:"false"
Subjects the skill to deduplication and cross-channel permission checks. Used for messaging and file delivery to prevent spam.
isDangerous
boolean
default:"false"
Requires explicit user permission in autonomy mode unless sudoMode is active. Used for destructive operations.
isElevated
boolean
default:"false"
Restricts execution to authorized admin users only. Used for system modification and privileged operations.
isParallelSafe
boolean
default:"false"
Indicates the skill can safely run in parallel worker processes without state conflicts.

Best Practices

Prefer high-level skills over low-level browser automation. Always try web_search or http_fetch before resorting to full browser navigation. High-level skills are faster, more reliable, and consume fewer resources.
Respect side-effect deduplication. Skills marked isSideEffect (like messaging) are deduplicated within the same action to prevent spam. If a skill call is blocked, the agent likely already sent that message.
Use send_image instead of generate_image + send_file. Compound skills like send_image prevent duplicates and provide atomic operations. Only use generate_image if you need the file without sending it.

Error Handling

All skill handlers return string results or error messages. Common error patterns:
  • Missing parameters: Error: Missing [parameter]. [helpful guidance]
  • Unauthorized operations: Error: Only admin users can [action]. [reason]
  • Channel not available: [Channel] not available. Configure [requirement] first.
  • File not found: Error: File not found: [path]. [suggestions]
The decision engine analyzes errors and automatically retries with corrected parameters or alternative strategies.

Dynamic Plugin System

In addition to core skills, OrcBot supports:
  • Hot-loadable TypeScript/JavaScript plugins from ~/.orcbot/plugins/
  • Agent Skills (SKILL.md) following the agentskills.io specification
  • Self-repair - Broken plugins are automatically diagnosed and fixed
  • Progressive disclosure - Only activated skills load full instructions
Plugins inherit the same metadata flags and orchestration behavior as core skills.

Next Steps