skills/browser/plugins/chatgpt/SKILL.md
# chatgpt Available as `chatgpt` in `browser eval` scope on chatgpt.com pages. ## Routes - `*://chatgpt.com/c/*` — conversation helpers (browser + node) - `*://chatgpt.com/share/*` — shared link extraction (browser) - `*://chatgpt.com/*` — common helpers (browser) ## Browser API (conversation route) ### chatgpt.messages() Returns all conversation messages. Returns: `Array<{id: string, role: "user" | "assistant", text: string}>` ### chatgpt.lastResponse() Returns the text of the most recent
npx skillsauth add hayeah/dotfiles skills/browser/plugins/chatgptInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Available as chatgpt in browser eval scope on chatgpt.com pages.
*://chatgpt.com/c/* — conversation helpers (browser + node)*://chatgpt.com/share/* — shared link extraction (browser)*://chatgpt.com/* — common helpers (browser)Returns all conversation messages.
Returns: Array<{id: string, role: "user" | "assistant", text: string}>
Returns the text of the most recent assistant message.
Returns: string | null
Returns true when the assistant has finished streaming (stop button gone).
Returns: boolean
Types and sends a message. Sets the contenteditable prompt div and clicks send.
text — the message to sendReturns the page title (conversation title).
Returns: string
Extracts share page data from React hydration state.
Returns: {title: string, model: string, messages: Array<{role: string, text: string}>} | null
Returns true if the user is logged in.
Returns: boolean
Returns the currently selected model name.
Returns: string | null
--node)Extracts all messages and saves as JSON.
path — output file path
Returns: {saved: string, count: number}Screenshots a DOM element.
selector — CSS selectorpath — output file path
Returns: {screenshot: string}Get conversation messages: browser eval 'chatgpt.messages()'
Wait for messages to load: browser eval --expect 'result.length > 0' 'chatgpt.messages()'
Get last assistant response: browser eval 'chatgpt.lastResponse()'
Save conversation to file: browser eval --node 'await chatgpt.save("/tmp/conversation.json")'
Screenshot last message: browser eval --node 'await chatgpt.screenshot("[data-message-id]:last-child", "/tmp/last.png")'
Full send-and-wait workflow: browser eval 'chatgpt.send("Summarize this conversation")' browser eval --expect 'result === true' 'chatgpt.isResponseComplete()' browser eval 'chatgpt.lastResponse()'
tools
Web UI development — Vite+ toolchain setup and browser-based E2E testing workflow.
tools
Tooling and style guide for TypeScript projects.
development
Capture tmux pane content and export as text, HTML, SVG, PNG, or JPG. Use when you need a screenshot or text dump of a tmux pane for sharing, feeding to AI, or archiving terminal state.
testing
Copy-edit text. Fix grammar and/or tidy text into a concise listicle.