К основному содержанию
скилл CX Codex

chatgpt — скилл для Claude Code: работа с чатами OpenAI

Скилл даёт агенту доступ к чатам ChatGPT: список диалогов, поиск, чтение дерева сообщений и отправка новых реплик.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add imoonkey/openweb --skill chatgpt -a claude-code
Открыть на GitHub

Что делает chatgpt

Скилл оборачивает веб-интерфейс ChatGPT в набор операций. getProfile возвращает данные вошедшего пользователя, listConversations отдаёт недавние диалоги с курсором для постраничного перебора, getConversation разворачивает полное дерево сообщений, searchConversations ищет по прошлым чатам, а getModels показывает доступные модели. Отправка идёт через sendMessage.

Устроено так: чтение работает через Node-транспорт с Bearer-токеном, а вот sendMessage управляет живой страницей chatgpt.com через Playwright. Поэтому в sendMessage передаётся только prompt — модель и привязку к ветке страница выбирает сама, поля model и parentMessageId больше не нужны. Node-фолбэка для отправки нет: без управляемой браузерной сессии операция не пройдёт, потому что страница решает Sentinel-задачу.

Есть неприятный момент с ответом. response_text часто приходит пустым: Response.text() в Playwright завершается раньше, чем закроется SSE-поток, и адаптер ловит только первые кадры. Зато conversation_id надёжен — после отправки вызывайте getConversation и читайте собранный ответ оттуда.

Какие задачи решает

  • вытащить список последних диалогов ChatGPT
  • найти старый чат по ключевому слову
  • прочитать полное дерево сообщений беседы
  • отправить реплику в ChatGPT из агента
  • узнать, какие модели доступны в аккаунте

Примеры запросов агенту

  • Покажи мои последние десять диалогов в Claude
  • Найди в прошлых чатах всё про python и выведи сниппеты
  • Отправь в Claude сообщение с просьбой пересказать readme проекта OpenWeb и верни conversation_id

Как установить chatgpt

1Через Skills CLI (Vercel)

npx skills add imoonkey/openweb --skill chatgpt -a claude-code

2Вручную: положить файлы

~/.claude/skills/chatgpt/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/chatgpt/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о chatgpt

Как установить Claude в Claude Code?

Выполните npx skills add imoonkey/openweb --skill chatgpt -a claude-code. Скилл появится в ~/.claude/skills/chatgpt/SKILL.md.

Что делает скилл Claude?

Даёт агенту операции над чатами Claude: профиль, список диалогов, чтение дерева сообщений, поиск по прошлым чатам, список моделей и отправку новой реплики.

Почему sendMessage возвращает пустой response_text?

Response.text() в Playwright срабатывает до конца SSE-потока, поэтому адаптер успевает захватить только первые кадры. conversation_id при этом надёжен — за полным ответом идите в getConversation.

Нужен ли браузер для работы скилла?

Для sendMessage — да, операция идёт через живую страницу chatgpt.com и требует управляемой браузерной сессии, чтобы пройти Sentinel-проверку. Остальные операции работают через Node-транспорт.

Исходный текст

SKILL.md · MIT
# ChatGPT

## Overview
ChatGPT backend API — OpenAI's conversational AI interface. Content platform archetype.

## Workflows

### Browse conversations
1. `listConversations` → pick conversation → `conversationId`
2. `getConversation(conversationId)` → full message tree

### Search and read
1. `searchConversations(query)` → results with `conversationId`
2. `getConversation(conversationId)` → full message tree

### Send a message
1. `sendMessage({ prompt })` → SPA-driven send → `{ conversation_id, response_text }`
2. `getConversation(conversation_id)` → full message tree once the reply finishes

`sendMessage` no longer needs `model` / `parentMessageId` — the chatgpt-web
adapter drives the live SPA, so the page picks the active model and threads
the new turn for you. Pass `prompt` only.

## Operations

| Operation | Intent | Key Input | Key Output | Notes |
|-----------|--------|-----------|------------|-------|
| getProfile | authenticated user info | — | id, name, email | entry point |
| listConversations | recent conversations | limit?, cursor? | items[].id, title, cursor | paginated (cursor) |
| getConversation | full conversation detail | conversationId ← listConversations \| sendMessage | mapping (message tree), current_node | tree structure |
| searchConversations | search past conversations | query | items[].conversation_id, snippet | paginated (offset cursor) |
| getModels | available models | — | models[].slug, title | entry point |
| sendMessage | send message, get reply | prompt | conversation_id, response_text, sse_event_count | WRITE; SPA-driven adapter |

## Quick Start

```bash
# Get user profile
openweb chatgpt exec getProfile '{}'

# List recent conversations
openweb chatgpt exec listConversations '{"limit": 10}'

# Get a conversation
openweb chatgpt exec getConversation '{"conversationId": "<id>"}'

# Search conversations
openweb chatgpt exec searchConversations '{"query": "python"}'

# Get available models
openweb chatgpt exec getModels '{}'

# Send a message (SPA-driven)
openweb chatgpt exec sendMessage '{"prompt": "Summarize the OpenWeb readme."}'
```

## Known Limitations

- **`sendMessage.response_text` may come back empty.** Playwright's
  `Response.text()` resolves before the SSE stream finishes, so the adapter
  often captures only the opening frames. `conversation_id` is reliable —
  follow up with `getConversation` to read the assembled reply. Fix path:
  switch the adapter to a CDP `Network.dataReceived` listener that buffers
  frames until the stream closes.
- **`sendMessage` requires a managed browser session.** Runs through the
  live chatgpt.com SPA so the page can solve OpenAI's Sentinel
  chat-requirements + SHA3-512 proof-of-work challenge. There is no Node
  fallback. See `DOC.md` § Adapter pattern for the full rationale.
- **Read ops still use Node transport** (`exchange_chain` → Bearer). Only
  `sendMessage` is adapter-driven.

© imoonkey · MIT · imoonkey/openweb

Похожие скиллы

Все скиллы по теме «ИИ и ML» →
skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. 414 180установок writing-for-agents Matt Pocock Помогает писать скиллы и документы с инструкциями для агентов. Пригодится при правках AGENTS.md, CLAUDE.md и связанных справочных файлов. 466 719установок media-use heygen-com Находит и генерирует ассеты для видео в HyperFrames — музыку, дикторский голос, аватары и эффекты. Сохраняет всё локально в assets. CX Codex +1 1 100 000установок mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок subagent-driven-development Jesse Vincent Скилл выполняет план через отдельных субагентов для каждой задачи и проверяет результат после каждого шага. Подходит для независимых задач в одной сессии. CX Codex 237 746установок orchestration stablyai Координирует воркеров Orca через DAG задач, циклы супервизора и цепочки сообщений. Пригодится для распределения сложной работы между агентами. CX Codex +1 350 300установок

Из того же набора4

Спонсоры проекта

Компании, которые помогают держать аналитику открытой