Agent skill

WebGPT

by Nhahan in Nhahan/WebGPT

Hands bounded tasks from Codex to a signed-in ChatGPT web session at a chosen reasoning level, or opens a terminal chat in your project that you control.

MITAuto-check passedAgent Workflows

Install WebGPT

skills CLI
$ npx skills add Nhahan/WebGPT --skill webgpt -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Nhahan/WebGPT webgpt --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Nhahan/WebGPT.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/webgpt .claude/skills/webgpt && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
webgpt
GitHub stars
120
Token cost
~1.4k tokens
SKILL.md length
688 words
Files
28 (incl. scripts, references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Hands bounded tasks from Codex to a signed-in ChatGPT web session at a chosen reasoning level, or opens a terminal chat in your project that you control.

  • Offloading a bounded coding task to ChatGPT on the web to save Codex usage
  • SKILL.md covers Route, Delegate and Wait, review, close
  • Runs JavaScript scripts from its folder
  • Running a task at a specific ChatGPT effort level such as high or pro

What it does

This skill lets Codex pass well-bounded pieces of work to ChatGPT in the browser, which saves the agent's own usage. You ask for WebGPT by name and may pick an effort level with m for medium, h for high, xh for xhigh or p for pro. The agent registers a worker connection first, then sends one concise English prompt per new chat covering the task, context, constraints and success criteria, and the result is saved back through the worker.

Several rules keep it tidy. Each chat gets one deliverable with its relevant tests, concurrent changes get assigned file ownership or worktrees, the controller key and connection URL are never sent, and every conversation must use Chat rather than Work. A second mode, webgpt open, starts a terminal chat in your project that you drive yourself. Reference files cover setup, recovery, workspace rules and browser-only replies, and the scripts include a diagnostic tool and test files.

When your agent uses it

  • Offloading a bounded coding task to ChatGPT on the web to save Codex usage
  • Running a task at a specific ChatGPT effort level such as high or pro
  • Opening a user-controlled ChatGPT terminal chat for the current project
  • Giving a second agent a separately owned set of files to work on

Example prompts

  • “Use WebGPT at high effort to write the unit tests for the invoice parser.”
  • “Delegate the logging module cleanup to WebGPT pro while I keep working on the API routes.”
  • “webgpt open ./services/billing”
  • “Ask WebGPT to review the diff on this branch while I keep editing the frontend.”

Requirements

  • A signed-in ChatGPT account on the web
  • A browser the agent can drive

What it can do on your machine

Read from SKILL.md and the folder at commit 1d35588. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 9 files in scripts/ (JavaScript, from the files we listed), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

WebGPT loads about 1.4k tokens when it runs, and up to ~8.7k if it reads all its reference files. Until then it costs about 45 tokens; SKILL.md has 688 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Nhahan/WebGPT at commit 1d35588, republished under its MIT licence (© Nhahan). 688 words, ~1,410 tokens.

Download SKILL.mdSave it as .claude/skills/webgpt/SKILL.md (or your agent's skills folder). This skill also uses 27 other files; get the full folder from GitHub.
name
webgpt
description
Delegate work to signed-in Web ChatGPT when the user requests WebGPT (m/medium, h/high, xh/xhigh or p/pro), or open a user-controlled project terminal chat with webgpt open.

WebGPT

Delegate bounded work to save Codex usage. User instructions about division of work, model, monitoring, permissions, follow-ups and retention override defaults. Never silently take over WebGPT's assignment; Codex may perform separately assigned work concurrently.

Keep Codex ↔ WebGPT coordination in English, preserving source quotations and the requested deliverable language. Reply in the user’s language unless they request another; leave browser UI language unchanged. Every conversation must use Chat, never Work, including setup tests, browser-only work and open. Verify Chat before composing or selecting a connector; return to Chat if a shortcut opens Work.

Route

  • webgpt open [path]: follow open.md; skip delegation below.
  • Worker delegation: read workspace.md.
  • Explicit browser-only work: use browser-reply.md; skip Worker commands.
  • Read setup.md only for installation or missing capability, and recovery.md only for actionable exceptions or same-chat follow-ups. Client tunnel/connection errors require setup's origin recovery before dispatch.

For Worker tasks, register first and use the returned connection.name and connection.registrationId. With connection.status: ready, skip configuration/setup reads, directory searches and Plugins rediscovery. Missing/invalid metadata routes to recovery.md; keep the registered task, do not register again.

Delegate

Assign one bounded deliverable with its relevant tests per new chat. Investigate only enough to specify the objective, context, constraints and success criteria; leave routine commands to WebGPT. Avoid open-ended projects, arbitrary duration limits and separate chats for tiny actions. Assign file ownership/worktrees for concurrent changes. No duplicate task documents or tracking files.

Prepare one concise English prompt before opening the tab: task, necessary context/constraints and success criteria. Reference accessible project briefs by path instead of restating them. For Worker tasks, add the named connector/task token and “Save the final outcome through the Worker.” Tool schemas supply the completion protocol; do not repeat it. Never send the controller key or connection URL. Retain task and owned chat/tab identifiers in context.

Use documented browser initialization; reuse known browser identity without scanning all surfaces. For Worker tasks, select the existing connector in Chat by verified registration ID, or use a verified Chat launch URL. Mentioning a connector in prose does not select it. Import helpers once per runtime (again after reset/resume); allow 60 seconds per helper call:

js
var {dispatch, deleteAndClose} = await import('<skill>/scripts/browser.mjs');
var sent = await dispatch(tab, prompt, 'xh', {
  startup: {connectorName, authorizeConversation: true}
});

Modes: m|medium = Medium (중간; also Standard/표준), h|high = High, xh|xhigh = Extra High (default), p|pro = Pro. Pass any of these aliases to dispatch. Omit startup for browser-only work. The helper verifies mode, sends once and checks startup. Choose Always allow / 항상 허용 for authorized WebGPT permission prompts whenever offered; this is the helper default. Only an explicit narrower user request uses permissionScope:'conversation'. Preserve unrelated permissions and runtime gates.

On submitted, reuse the returned URL and wait. Permission selections or not_observed do not prove terminal readiness; do not poll startup. On submission_unconfirmed, inspect the existing user turn without resending. Resolve other actionable states via recovery.md. Emit only relevant evidence, not full AX trees/exports or unnecessary screenshots. If helper imports are unavailable, use documented CUA; do not read helper source during normal operation.

Show full SKILL.md (207 more words)Show less

Wait, review, close

Use client.mjs finish <ids> for quiet waiting, verified result text and collection in one call; do not repeat status/read/collect. Do separately assigned Codex work after verified submission. Without requested monitoring, inspect progress only for a due backup or explicit help/failure. On backupDue, read recovery.md: one scoped chat check, then resume <id>, not another finish. Waiting requires a live parent runtime; it cannot wake exited Codex.

Review once against the outcome and relevant diff/evidence. Hash integrity is not correctness. Do not reread the returned artifact or rerun reported passing tests on the delivered version unless evidence is missing/conflicting, failures or integration changes need checks, or the user requests verification. Distinguish PASS/FAIL/NOT_RUN. A partial result needs continuation; a cleanupError needs recovery. Do not duplicate WebGPT's investigation.

After preserving/reviewing results, call deleteAndClose(tab, cua, browserId, ownedChatUrl). Permanently delete the exact owned task chat, verify deletion, close its tab and verify absence. This cleanup is already authorized: do not ask again due to permanence, generic confirmation notices or a new CLI session. Honor explicit retention; never delete open chats, uncollected work or unrelated chats. Keep the connector, Worker and tunnel for reuse. Actual tool rejection or a user-requested cleanup pause routes to recovery.md; tab closure alone never proves deletion.

© Nhahan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 27 other files (scripts, references) in skills/webgpt of Nhahan/WebGPT.

  • SKILL.md
  • agents/openai.yaml
  • package-lock.json
  • package.json
  • references/browser-reply.md
  • references/open.md
  • references/recovery.md
  • references/setup.md
  • references/workspace.md
  • scripts/audit.test.mjs
  • scripts/browser.mjs
  • scripts/browser.test.mjs
  • scripts/client.mjs
  • scripts/client.test.mjs
  • scripts/diagnose.mjs
  • scripts/diagnose.test.mjs
  • scripts/forwarding.test.mjs
  • scripts/install-pty.mjs
  • … and 10 more

Open the folder on GitHubat commit 1d35588

Compare with similar skills

WebGPT next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

WebGPT compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
WebGPT this skillNhahan/WebGPT120—~1.4kAutomated safety check: PassMIT
Codex Workflowsscasella/claude-dynamic-workflows-codex325—~13kAutomated safety check: PassMIT
External Context ResearchYeachan-Heo/oh-my-claudecode40k—~545Automated safety check: PassMIT
Paseo Advisor Second Opiniongetpaseo/paseo20k1 repos~756Automated safety check: PassCustom licence
O2 Review Loopopenobserve/openobserve22k—~3.7kAutomated safety check: PassAGPL-3.0
Harness Agent Team Designerrevfactory/harness9.1k—~4.5kAutomated safety check: PassApache-2.0

Similar skills

  • Codex Workflows

    scasella/claude-dynamic-workflows-codex

    Run a dynamic-workflow script on a local Codex App Server — orchestrate many Codex / GPT agents (the agent / parallel / pipeline / phase / budget DSL) instead of Claude subagents, for codebase…

    325 GitHub stars~13k tokensUpdated 3 mo ago
    Agent WorkflowsAuto-check passed
  • External Context Research

    Yeachan-Heo/oh-my-claudecode

    Breaks a research question into two to five facets and sends parallel document-specialist agents to search the web and documentation, then merges the results.

    40k GitHub stars~545 tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.

    20k GitHub starsUsed in 1 repo~756 tokens
    Agent WorkflowsAuto-check passed
  • O2 Review Loop

    openobserve/openobserve

    Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.

    22k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Harness Agent Team Designer

    revfactory/harness

    Designs a project-specific agent harness: defines specialist agents, writes the skills they follow, picks an execution mode and model for each, and keeps the setup maintained.

    9.1k GitHub stars~4.5k tokensUpdated 11 days ago
    Agent WorkflowsAuto-check passed
  • Codex with ChatGPT Planning Loop

    XiaoDuoYa/codex-with-chatgpt

    Uses ChatGPT in the browser as the planning and review brain for a Codex session, with Codex keeping all execution and ChatGPT reading the workspace through a bridge.

    7.1k GitHub stars~11k tokensUpdated 8 days ago
    Agent WorkflowsAuto-check: notes

Works with

Questions about WebGPT

What does WebGPT do?

Hands bounded tasks from Codex to a signed-in ChatGPT web session at a chosen reasoning level, or opens a terminal chat in your project that you control. This skill lets Codex pass well-bounded pieces of work to ChatGPT in the browser, which saves the agent's own usage. You ask for WebGPT by name and may pick an effort level with m for medium, h for high, xh for xhigh or p for pro.

When should I use WebGPT?

WebGPT fits situations like: offloading a bounded coding task to ChatGPT on the web to save Codex usage; running a task at a specific ChatGPT effort level such as high or pro; opening a user-controlled ChatGPT terminal chat for the current project; giving a second agent a separately owned set of files to work on.

How do I install WebGPT in Claude Code?

Run `npx skills add Nhahan/WebGPT --skill webgpt -a claude-code`. Or copy the skill folder (skills/webgpt in Nhahan/WebGPT) into .claude/skills/webgpt in your project. Claude Code loads it when a task matches its description.

How do I install WebGPT in Codex?

Run `npx skills add Nhahan/WebGPT --skill webgpt -a codex`. Or copy the skill folder (skills/webgpt in Nhahan/WebGPT) into .agents/skills/webgpt in your project. Codex loads it when a task matches its description.

Can I use WebGPT in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Nhahan/WebGPT --skill webgpt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/webgpt, .gemini/skills/webgpt, .github/skills/webgpt and .opencode/skills/webgpt in your project.

What does WebGPT need to run?

Going by SKILL.md and its folder, WebGPT needs JavaScript for the scripts in its folder. Our summary lists: A signed-in ChatGPT account on the web; A browser the agent can drive.

Does WebGPT access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is WebGPT safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does WebGPT use?

WebGPT is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does WebGPT use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.3k tokens, read only when the agent opens those files.

What are the alternatives to WebGPT?

Skills that share tags, products or a category with WebGPT: Codex Workflows (scasella/claude-dynamic-workflows-codex, 325 stars), External Context Research (Yeachan-Heo/oh-my-claudecode, 40k stars), Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars) and O2 Review Loop (openobserve/openobserve, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains WebGPT?

Nhahan (a GitHub user) maintains it in Nhahan/WebGPT, which has 120 GitHub stars. The repository was last updated on September 23, 2026.

Source: Nhahan/WebGPT on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.