🔧 Built-in Skills

OrcBot ships with 60+ skills organized by category:

Messaging

  • send_telegram
  • send_whatsapp
  • send_discord
  • react_whatsapp

Browser

  • browser_navigate
  • browser_click
  • browser_type
  • browser_screenshot

File System

  • read_file
  • write_file
  • list_directory
  • download_file

Search

  • web_search
  • extract_article
  • youtube_trending

System

  • run_command
  • get_system_info
  • schedule_task

Multi-Agent

  • spawn_agent
  • delegate_task
  • list_agents

🔌 Creating Custom Plugins

Drop TypeScript or JavaScript files in ~/.orcbot/plugins/ to extend OrcBot.

Plugin Structure

// ~/.orcbot/plugins/my-skill.ts
module.exports = {
  name: 'my_custom_skill',
  description: 'Does something useful',
  usage: 'my_custom_skill(param1, param2)',
  
  async handler(args: { param1: string; param2?: number }, context: any) {
    const { logger, config, browser, agent } = context;
    
    logger.info(`Running with param1: ${args.param1}`);
    
    // Your logic here
    return { success: true, result: 'Done!' };
  }
};

🔧 Context Object

Plugins receive a context object with access to:

PropertyDescription
loggerWinston logger instance
configConfigManager for settings
browserWebBrowser instance for automation
agentMain agent instance

🔄 Self-Repair

If a plugin fails to load due to syntax errors, OrcBot triggers a high-priority self_repair_skill task that uses the LLM to attempt automatic fixes.

💡
Tip: Add a // @source: header to your plugin to help the LLM understand its purpose during repairs.

📦 Skill Builder

Build skills from remote specifications using the CLI:

orcbot builder https://example.com/skill-spec.md

This fetches the spec, generates the plugin code, and installs it automatically.