functions — скилл для Claude Code: что делает и как установить
Помогает развернуть бессерверную автоматизацию браузера в облаке Browserbase. Пригодится для запуска задач по cron или через вебхуки.
npx skills add browserbase/skills --skill functions -a claude-codeЧто делает functions
Скилл настраивает облачные браузерные функции в инфраструктуре Browserbase. Он помогает создать проект командой browse functions init и выкатить его через browse functions publish.
Внутри проекта используется пакет @browserbasehq/sdk-functions и библиотека playwright-core. Функция принимает контекст сессии и входные параметры, а возвращает сериализуемый JSON. Сервер разработки browse functions dev отслеживает изменения файлов. Это ускоряет проверку логики до деплоя.
Для работы требуются Node.js 18+ и утилита browse. Также понадобятся pnpm или npm и ключ окружения BROWSERBASE_API_KEY. Без установленного CLI команды завершатся ошибкой.
Какие задачи решает
- развернуть скрипты Playwright как бессерверные функции в облаке Browserbase
- настроить запуск браузерных задач по cron или через вебхуки
- запустить локальный dev-сервер для проверки функций перед публикацией
- сгенерировать структуру проекта функции на TypeScript с файлом окружения
Примеры запросов агенту
- Создай проект функции Browserbase для сбора заголовков страниц и запусти dev-сервер
- Напиши код функции на Playwright, которая подключается через connectOverCDP и возвращает JSON
- Помоги выкатить готовую функцию в Browserbase через browse functions publish
Как установить functions
1Через Skills CLI (Vercel)
npx skills add browserbase/skills --skill functions -a claude-code2Вручную: положить файлы
~/.claude/skills/functions/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/functions/
1Через Skills CLI (Vercel)
npx skills add browserbase/skills --skill functions -a codex2Вручную: положить файлы
.agents/skills/functions/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add browserbase/skills --skill functions -a cursor2Вручную: положить файлы
.cursor/skills/functions/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install browserbase/skills functions2Вручную: положить файлы
.github/skills/functions/SKILL.md1Через Skills CLI (Vercel)
npx skills add browserbase/skills --skill functions -a gemini-cli2Командой платформы
gemini skills install https://github.com/browserbase/skills --path skills/functionsВручную: положить файлы
.devin/skills/functions/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add browserbase/skills --skill functions -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о functions
Как установить functions в Claude Code?
Выполните команду npx skills add browserbase/skills --skill functions -a claude-code в терминале. Она добавит скилл в окружение агента.
Что делает скилл functions?
Он помогает создавать, локально отлаживать и публиковать бессерверные функции браузерной автоматизации Browserbase с помощью CLI browse.
Что нужно подготовить перед запуском?
Требуются Node.js версии 18 или новее, пакетный менеджер npm или pnpm, глобально установленная утилита browse и ключ BROWSERBASE_API_KEY.
Исходный текст
SKILL.md · MIT
---
name: functions
description: "Deploy serverless browser automation as cloud functions using Browserbase. Use when the user wants to deploy browser automation to run on a schedule or cron, create a webhook endpoint for browser tasks, run automation in the cloud instead of locally, or asks about Browserbase Functions."
compatibility: "Requires the browse CLI (`npm install -g browse`), Node.js 18+ with pnpm or npm, and BROWSERBASE_API_KEY."
license: MIT
allowed-tools: Bash Read Write Edit
---
# Browserbase Functions
Deploy serverless browser automation using the official `browse` CLI.
## Prerequisites
Get an API key from: https://browserbase.com/settings
```bash
export BROWSERBASE_API_KEY="your_api_key"
```
## Creating a Function Project
### 1. Initialize
```bash
browse functions init my-function
cd my-function
```
This creates:
```
my-function/
├── package.json
├── index.ts # Your function code
└── .env # Add credentials here
```
### 2. Add Credentials to .env
```bash
echo "BROWSERBASE_API_KEY=$BROWSERBASE_API_KEY" >> .env
```
### 3. Install Dependencies
```bash
pnpm install
```
## Function Structure
```typescript
import { defineFn } from "@browserbasehq/sdk-functions";
import { chromium } from "playwright-core";
defineFn("my-function", async (context) => {
const { session, params } = context;
// Connect to browser
const browser = await chromium.connectOverCDP(session.connectUrl);
const page = browser.contexts()[0]!.pages()[0]!;
// Your automation
await page.goto(params.url || "https://example.com");
const title = await page.title();
// Return JSON-serializable result
return { success: true, title };
});
```
**Key objects:**
- `context.session.connectUrl` - CDP endpoint to connect Playwright
- `context.params` - Input parameters from invocation
## Development Workflow
### 1. Start Dev Server
```bash
browse functions dev index.ts
```
Server runs at `http://127.0.0.1:14113`
### 2. Test Locally
```bash
curl -X POST http://127.0.0.1:14113/v1/functions/my-function/invoke \
-H "Content-Type: application/json" \
-d '{"params": {"url": "https://news.ycombinator.com"}}'
```
### 3. Iterate
The dev server auto-reloads on file changes. Use `console.log()` for debugging - output appears in the terminal.
## Deploying
```bash
browse functions publish index.ts
```
Output:
```
Function published successfully
Build ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Function ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```
**Save the Function ID** - you need it to invoke.
## Quick Reference
| Command | Description |
|---------|-------------|
| `browse functions init <name>` | Create new project |
| `browse functions dev <file>` | Start local dev server |
| `browse functions publish <file>` | Deploy to Browserbase |
For invocation examples, common patterns, and troubleshooting, see [REFERENCE.md](REFERENCE.md).
© browserbase · MIT · browserbase/skills