> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orcbot.buzzchat.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills Overview

> Complete overview of OrcBot's 40+ core skills organized by category

# 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](/api/skills/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](/api/skills/browser) 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](/api/skills/files) 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](/api/skills/shell) 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](/api/skills/memory) 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](/api/skills/channels) 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](/api/skills/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](/api/skills/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:

<ParamField path="isDeep" type="boolean" default="false">
  Marks the skill as "substantive progress". Resets communication cooldown, allowing status updates after execution. Use for search, browser, and research operations.
</ParamField>

<ParamField path="isResearch" type="boolean" default="false">
  Grants higher repetition budget (up to 15 calls per action). Essential for browsing and multi-step research.
</ParamField>

<ParamField path="isSideEffect" type="boolean" default="false">
  Subjects the skill to deduplication and cross-channel permission checks. Used for messaging and file delivery to prevent spam.
</ParamField>

<ParamField path="isDangerous" type="boolean" default="false">
  Requires explicit user permission in autonomy mode unless `sudoMode` is active. Used for destructive operations.
</ParamField>

<ParamField path="isElevated" type="boolean" default="false">
  Restricts execution to authorized admin users only. Used for system modification and privileged operations.
</ParamField>

<ParamField path="isParallelSafe" type="boolean" default="false">
  Indicates the skill can safely run in parallel worker processes without state conflicts.
</ParamField>

## Best Practices

<Tip>
  **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.
</Tip>

<Warning>
  **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.
</Warning>

<Note>
  **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.
</Note>

## 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](https://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

<CardGroup cols={3}>
  <Card title="Web Search" icon="magnifying-glass" href="/api/skills/web-search">
    Multi-provider search with fallback
  </Card>

  <Card title="Browser" icon="window" href="/api/skills/browser">
    Stealth browsing and automation
  </Card>

  <Card title="Files" icon="folder" href="/api/skills/files">
    Read, write, and manage files
  </Card>

  <Card title="Shell" icon="terminal" href="/api/skills/shell">
    Execute system commands
  </Card>

  <Card title="Memory" icon="brain" href="/api/skills/memory">
    Semantic memory and learning
  </Card>

  <Card title="Channels" icon="comments" href="/api/skills/channels">
    Multi-channel messaging
  </Card>

  <Card title="Scheduling" icon="clock" href="/api/skills/scheduling">
    Task scheduling and automation
  </Card>

  <Card title="Orchestration" icon="sitemap" href="/api/skills/orchestration">
    Multi-agent coordination
  </Card>
</CardGroup>
