Claude Code Plugins

Community-maintained marketplace

Feedback
1
0

Send prompts to ChatGPT Pro via Playwriter browser automation. Use for cross-validation, second opinions, or leveraging GPT-5.2 Pro's research-grade intelligence.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name chatgpt-pro
description Send prompts to ChatGPT Pro via Playwriter browser automation. Use for cross-validation, second opinions, or leveraging GPT-5.2 Pro's research-grade intelligence.

ChatGPT Pro Automation

Send prompts to ChatGPT (including project GPTs) via Playwriter and get responses back. Connects to your existing Chrome session - no need to quit Chrome or manage cookies.

When to use

  • Cross-validate complex reasoning with a second model
  • Leverage GPT-5.2 Pro's extended thinking for research tasks
  • Query a ChatGPT Project that has custom instructions/files

Requirements

  • Chrome with Playwriter extension installed and activated on at least one tab
  • User must be logged into ChatGPT in Chrome
  • Dependencies: playwright-core, playwriter

Configuration

Set CHATGPT_ORACLE_URL to use a custom default URL (e.g., a ChatGPT Project).

Option 1: .env file in repo root

# .env
CHATGPT_ORACLE_URL="https://chatgpt.com/g/g-p-.../project"

Option 2: Environment variable

export CHATGPT_ORACLE_URL="https://chatgpt.com/g/g-p-.../project"

If not set, defaults to https://chatgpt.com/.

Usage

As a module

import { askChatGPT } from './chatgpt-automation.js';

const result = await askChatGPT({
  prompt: 'Your question here',
  model: 'pro'
});

console.log(result.response);

From command line

node .claude/skills/chatgpt-pro/chatgpt-automation.js "What is 2+2?"

Parameters

Parameter Type Default Description
url string CHATGPT_ORACLE_URL or https://chatgpt.com/ ChatGPT URL
prompt string required The prompt to send
model string 'pro' 'auto', 'instant', 'thinking', or 'pro'
files array [] Files to attach: [{path: 'file.py', content: '...'}]
timeout number 900000 Max wait time in ms (default 15 min)
onProgress function null Callback called every 30s during long waits

Return value

{
  success: true,       // Did it work?
  response: "...",     // ChatGPT's response
  url: "https://...",  // Conversation URL
  elapsed: 45,         // Seconds taken
  timedOut: false,     // Hit timeout?
  error: undefined     // Error message if failed
}

Models

  • auto: ChatGPT decides how long to think
  • instant: Fast responses
  • thinking: Extended thinking for complex questions
  • pro: Research-grade intelligence (can take 10+ minutes)

Examples

Simple question

const result = await askChatGPT({
  prompt: 'What are the key differences between REST and GraphQL?',
  model: 'instant'
});

With a project GPT

const result = await askChatGPT({
  url: 'https://chatgpt.com/g/g-p-69590661701c8191958b62e91c543dfb/project',
  prompt: 'Review this architecture decision',
  model: 'pro',
  timeout: 1800000  // 30 min for complex analysis
});

With file attachments

import fs from 'node:fs';

const result = await askChatGPT({
  prompt: 'Find bugs in this code',
  files: [
    { path: 'src/main.py', content: fs.readFileSync('src/main.py', 'utf-8') }
  ]
});

Long-running requests

GPT-5.2 Pro can take 10+ minutes for complex tasks. For long requests, run as a background task in Claude Code rather than blocking.

Troubleshooting

  • "Extension not running": Click the Playwriter extension icon in Chrome on any tab
  • Model not switching: ChatGPT may have changed their UI; check data-testid values
  • Empty response: Increase timeout or check if ChatGPT is rate-limiting