browser-automation
Browser automation for ChatGPT Plus and Gemini Advanced web interfaces. Uses Playwright MCP to interact with your paid subscriptions without API costs. Supports both models for writing comparison.
What this skill does
# Browser Automation for AI Web Interfaces Use your **ChatGPT Plus** and **Gemini Advanced** subscriptions through browser automation. No API costs - just your monthly subscription. --- ## How It Works ``` ┌─────────────────────────────────────────────────────────────────┐ │ BROWSER AUTOMATION FLOW │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Your Prompt ──► Playwright MCP ──► Browser Instance │ │ │ │ │ ┌────────────┴────────────┐ │ │ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ ChatGPT │ │ Gemini │ │ │ │ chat.openai│ │ gemini. │ │ │ │ .com │ │ google.com│ │ │ └──────┬──────┘ └──────┬──────┘ │ │ │ │ │ │ ▼ ▼ │ │ Response captured & returned to you │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` --- ## Prerequisites ### 1. Playwright MCP Must Be Active You have Playwright MCP configured. Verify it's working: ``` Use browser_snapshot to check if browser is available ``` ### 2. Login Sessions The browser automation uses saved sessions. You need to log in once: **First-time setup:** 1. Navigate to ChatGPT/Gemini 2. Log in with your credentials 3. Session is saved for future use --- ## ChatGPT Automation ### Step-by-Step Workflow **Step 1: Navigate to ChatGPT** ``` browser_navigate → https://chat.openai.com ``` **Step 2: Check if logged in** ``` browser_snapshot → Look for chat input or login button ``` **Step 3: If not logged in, authenticate** ``` browser_click → "Log in" button browser_type → Enter email browser_click → Continue browser_type → Enter password browser_click → Log in ``` **Step 4: Start new chat** ``` browser_click → "New chat" button (or navigate to chat.openai.com) ``` **Step 5: Type your prompt** ``` browser_type → Your prompt text in the message input ``` **Step 6: Submit and wait** ``` browser_click → Send button browser_wait_for → Wait for response to complete ``` **Step 7: Capture response** ``` browser_snapshot → Get the response text ``` ### Example: ChatGPT Writing Task ``` I will now use browser automation to get ChatGPT's response: 1. browser_navigate to https://chat.openai.com 2. browser_snapshot to see current state 3. browser_type to enter prompt in textarea 4. browser_click to send 5. browser_wait_for response 6. browser_snapshot to capture output ``` --- ## Gemini Automation ### Step-by-Step Workflow **Step 1: Navigate to Gemini** ``` browser_navigate → https://gemini.google.com ``` **Step 2: Check if logged in** ``` browser_snapshot → Look for chat input ``` **Step 3: Type your prompt** ``` browser_type → Your prompt in the input area ``` **Step 4: Submit** ``` browser_press_key → Enter (or click send button) ``` **Step 5: Wait and capture** ``` browser_wait_for → Response generation browser_snapshot → Get response ``` --- ## Practical Commands ### For Claude Code Session When you want me to use browser automation, say: ``` "Use browser automation to ask ChatGPT: [your prompt]" "Get Gemini's take on: [your prompt]" "Compare browser outputs for: [your prompt]" ``` I will then: 1. Use Playwright MCP tools 2. Navigate to the appropriate site 3. Enter your prompt 4. Capture and return the response --- ## Handling Authentication ### Session Persistence Browser automation works best with persistent sessions: ```python # The Playwright MCP maintains browser state # Once logged in, sessions typically persist ``` ### If Session Expires If you see a login screen: 1. **ChatGPT**: Look for "Log in" button, click it 2. **Gemini**: Look for "Sign in" button, click it 3. Complete authentication flow 4. Resume automation ### Two-Factor Authentication If 2FA is required: 1. Automation will pause at 2FA screen 2. You manually complete 2FA 3. Automation continues --- ## Limitations ### Browser Automation Caveats | Limitation | Workaround | |------------|------------| | Slower than API | Use for comparison, not bulk | | Can break if UI changes | Report issues, I'll adapt | | Requires active session | Keep browser open | | Rate limits still apply | Don't spam requests | | CAPTCHAs possible | May need manual intervention | ### When NOT to Use Browser Automation - Bulk content generation (use GLM-4.7 API instead) - Time-critical tasks (APIs are faster) - Fully automated pipelines (APIs more reliable) ### When TO Use Browser Automation - Comparing writing styles - Using features only in Plus/Advanced - Testing latest model versions - When APIs are down --- ## Comparison Workflow ### Get Same Prompt from Multiple Sources ``` Step 1: Write with Claude (default, in this conversation) Step 2: browser_navigate to ChatGPT, get response Step 3: browser_navigate to Gemini, get response Step 4: Compare all three side-by-side ``` ### Example Request ``` "Compare how you, ChatGPT, and Gemini would write a tweet about the cardiovascular benefits of SGLT2 inhibitors" ``` I will: 1. Write my version (Claude) 2. Use browser automation to get ChatGPT's version 3. Use browser automation to get Gemini's version 4. Present all three for comparison --- ## Troubleshooting ### Browser Not Responding ``` browser_close → Close current browser Then start fresh with browser_navigate ``` ### Wrong Page Loaded ``` browser_snapshot → Check current state browser_navigate → Go to correct URL ``` ### Element Not Found ``` browser_snapshot → Get fresh page state Look for correct element reference Retry with updated reference ``` ### Session Logged Out ``` browser_navigate → Go to login page Complete login flow Resume automation ``` --- ## Integration with Multi-Model Writer This skill works with `multi-model-writer`: ``` API Models: - /write-glm → Z.AI API - /write-gpt → OpenAI API - /write-gemini → Google AI Studio API Browser Models: - /browser-chatgpt → ChatGPT Plus web - /browser-gemini → Gemini Advanced web ``` Use APIs for speed and reliability. Use browser for subscription-only features or comparison. --- ## Example Session ``` User: "Use browser to compare how ChatGPT writes about statins" Claude: I'll get ChatGPT's perspective using browser automation. [Uses browser_navigate to https://chat.openai.com] [Uses browser_snapshot to verify page state] [Uses browser_type to enter: "Write a patient-friendly explanation of how statins work"] [Uses browser_click to send] [Uses browser_wait_for to wait for response] [Uses browser_snapshot to capture response] Here's what ChatGPT wrote: [Response text] Compared to my approach: [Claude's version] Key differences: - ChatGPT emphasized X while I focused on Y - Tone: ChatGPT more conversational, mine more clinical - Length: Similar word count ``` --- *Browser automation gives you access to your paid subscriptions programmatically, complementing the API-based models in your arsenal.*
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".