These are two related but different things. Understanding the difference will help you get more out of your assistant.
Tools are individual actions your assistant can take. Each one does exactly one thing.
Core tools are always available in every conversation:
| Tool | What it does |
|---|---|
file_read | Read a file in the workspace |
file_write | Create or overwrite a file in the workspace |
file_edit | Edit a file in the workspace (surgical find-and-replace) |
bash | Run a shell command (sandboxed to the workspace) |
web_search | Search the internet |
web_fetch | Fetch and extract content from a URL |
memory_manage | Save, update, or delete facts in long-term memory |
memory_recall | Search long-term memory |
skill_load | Activate a skill for the current conversation |
skill_execute | Run a tool provided by a loaded skill |
credential_store | Manage credentials (prompt, store, connect OAuth) |
request_system_permission | Ask you to grant a macOS system permission |
Host tools can access your full machine, but require your permission:
| Tool | What it does |
|---|---|
host_file_read | Read any file on your computer |
host_file_write | Write to any file on your computer |
host_file_edit | Edit any file on your computer |
host_bash | Run a shell command on your machine (unsandboxed) |
Skill tools become available when their skill is loaded. For example, loading the Browser skill adds browser_navigate, browser_click, browser_type, browser_snapshot, browser_extract, and others. Loading the Gmail skill adds tools for archiving, labeling, drafting, sending, unsubscribing, and more.
There are dozens of tools in total. Your assistant picks the right ones based on what you asked for.
Not all tools are created equal. Each tool has an execution target and risk level that determine whether your assistant can use it freely or needs to ask first:
| Execution target | Examples | Approval |
|---|---|---|
| Sandbox | file_read, file_write, bash, web_search | Runs automatically — confined to the workspace |
| Host | host_bash, host_file_write, computer_use_* | Prompts you for approval — accesses your full machine |
When a tool needs approval, you'll see an explanation of what it wants to do. Your options:
These rules accumulate over time. The more you use your assistant, the fewer prompts you'll see for actions you've already approved.
A skill is a package that combines tools, instructions, and configuration into a coherent capability.
Skills give your assistant context about how to use tools for a specific purpose. The Gmail skill knows email workflows. The Browser skill knows how to interact with web pages. The Phone Calls skill knows how to make and receive voice calls through Twilio.
At minimum, a skill is just a single file:
More complex skills that provide their own tools also include:
Your assistant ships with 28 bundled skills:
| Category | Skills | What they enable |
|---|---|---|
| Communication | Gmail, Slack, Messaging, Phone Calls, Sequences | Read, send, and manage messages across platforms. Make and receive voice calls. Run email drip sequences. |
| Research & content | Browser, Document, Image Studio, Media Processing, Transcribe | Navigate web pages, write long-form content, generate and edit images, process video/audio, transcribe recordings. |
| Productivity | Google Calendar, Contacts, Tasks, Followups, Notifications, Schedule, Playbooks | Manage calendar events and availability, track contacts, manage task queues, set reminders, build trigger-action automations. |
| Computer use | Computer Use, Screen Watch | Control your Mac directly — click, type, navigate between apps. Watch your screen with OCR at intervals. |
| Monitoring | Watcher, Heartbeat | Poll external sources for changes. Run periodic background checklists to keep things healthy. |
| Development | App Builder, ACP, Subagent | Build interactive web apps, spawn external coding agents (Claude Code, Codex, etc.) via ACP, run autonomous background agents. |
| System | Settings, Skill Management, Skills Catalog, ChatGPT Import | Configure the assistant, create custom skills, discover and install community skills, import history from other assistants. |
Skills aren't all active at once. Your assistant sees a catalog of available skills (names, descriptions, and activation hints) in every conversation. When it determines a skill is relevant — because you asked about email, or said "browse this page" — it calls skill_load to activate it.
Once a skill is loaded:
This keeps the assistant's context focused. Only the skills that matter for the current conversation take up space.
If the built-in skills don't cover what you need, you have two options:
Build your own. Describe what you want and your assistant will scaffold a full skill — SKILL.md with instructions, TOOLS.json with tool definitions, and TypeScript executors — then save it to your skills/ directory. The skill is immediately available.
"Build me a skill that monitors my favorite subreddit for new posts about TypeScript."
Install from the community. Community skills are published on the skills.sh registry. Ask your assistant to search for a skill, and it can inspect, audit, and install it for you.
Whether custom or community-installed, skills live in your skills/ directory. You can inspect, modify, or delete any of them — a skill is just a folder with a few files.
| Tools | Skills | |
|---|---|---|
| What | Single atomic action | Bundle of tools + instructions |
| Example | browser_navigate | Browser skill (navigate, click, type, extract, screenshot) |
| Availability | Core tools are always on; skill tools load with their skill | Activated per-conversation when relevant |
| Permissions | Gated by execution target (sandbox vs. host) | Skills themselves don't need permission; their individual tools do |
| Extensible | Via MCP servers or custom skill tools | Build your own or install from skills.sh |
| Think of it as | A single LEGO brick | A LEGO set with instructions |