chatgpt-handoff

chatgpt-handoff is a skill for Claude Code from sologuy/chatgpt-web-handoff. It costs 45 tokens per session (4,448 once invoked), scanned B, original, MIT.

A handoff tool that sends the current task context to a browser session with ChatGPT Web for a deeper review and retrieves structured conclusions. It supports submitting, checking, listing, and stopping handoff jobs.

In plain words
What is it for?
Use it to submit a review, design, or debugging task with optional attached files, check its progress, list jobs, retrieve results, or abort an active job.
Why use it?
It helps delegate a review that needs another ChatGPT Web session while keeping the request and progress organized. The browser interaction and result collection are handled by the handoff process.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions Claude Code; mentions Codex.

Good fit Use it to submit a review, design, or debugging task with optional attached files, check its progress, list jobs, retrieve results, or abort an active job.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/sologuy/chatgpt-web-handoff/chatgpt-handoff
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add sologuy/chatgpt-web-handoff --skill chatgpt-handoff
Clone the repo
git clone --depth 1 https://github.com/sologuy/chatgpt-web-handoff

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for chatgpt-handoff

README.md
[![agentmods](https://agentmods.dev/badge/skills/sologuy/chatgpt-web-handoff/chatgpt-handoff/github.svg)](https://agentmods.dev/skills/sologuy/chatgpt-web-handoff/chatgpt-handoff)
Your own site
<a href="https://agentmods.dev/skills/sologuy/chatgpt-web-handoff/chatgpt-handoff"><img src="https://agentmods.dev/badge/skills/sologuy/chatgpt-web-handoff/chatgpt-handoff/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for chatgpt-handoff

Your own site · 80×15
<a href="https://agentmods.dev/skills/sologuy/chatgpt-web-handoff/chatgpt-handoff"><img src="https://agentmods.dev/badge/skills/sologuy/chatgpt-web-handoff/chatgpt-handoff.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 45 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,448 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00045 $0.04448
Opus 5 $0.00023 $0.02224
Sonnet 5 $0.00009 $0.00890
Haiku 4.5 $0.00005 $0.00445

Measured 11d ago against content hash 8b4d2fb33f92, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade B, and why

chatgpt-handoff scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Enumerates other installed skillsmediumAgent snooping

Other skills' SKILL.md files reveal prompts, capabilities and secrets that should be invisible to peers.

CGH=$(ls "$HOME"/.claude/skills/chatgpt-handoff/cgh "$HOME"/.agents/skills/chatgpt-handoff/cgh 2>/dev/null | head -1)
skills/chatgpt-handoff/SKILL.md · 237 lines

How it starts

The opening of the file, as written. The whole thing — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ChatGPT Web Handoff

本 Skill 在 Claude Code / Codex / DSH 上行为一致。不依赖任何单一 harness 的模板特性 (不用参数占位符替换,也不用反引号内嵌 shell 执行)——所有动态信息一律自己跑命令拿。

⚠️ 这份文档里不能出现那两个模板记号的字面写法,包括在说明"我们不用它"的句子里。 Claude Code 会照样处理:内嵌执行记号会被真的执行(跑一个叫 cmd 的命令,Skill 直接加载失败), 参数占位符会被替换成用户传的参数(正文被改写,且 bash 示例里出现就会被静默替换)。 两处都实测过。

第 0 步:先摸清状态

# 哪个 harness 都能用:取第一个存在的路径(两条最终都 symlink 到同一个仓库)
CGH=$(ls "$HOME"/.claude/skills/chatgpt-handoff/cgh "$HOME"/.agents/skills/chatgpt-handoff/cgh 2>/dev/null | head -1)
"$CGH" state

没有活跃作业才能建新的。下文 $CGH 都指这个路径。

这次要审什么,由你从当前上下文写清楚——不要照抄用户那句话。用户常常只说 「开始吧」「可以啊」,抄进去既撑不起 request.md,也让人看不出这个作业是干什么的。 只有上下文里存在两个以上合理候选、选错会实质改变范围时,才停下来问。


你只做一件事:写 request.md

浏览器那一整套(开新标签页、校验 host、展开档位菜单、选推理强度、回读档位、 校验模型、注入正文、发送、等真 URL、读进度、判完成、解哨兵)全部在 cgh 里, 是确定性代码,不需要你参与。不要自己调浏览器工具去做这些事。

你负责的是 cgh 做不了的那部分:把当前任务的上下文组织成一份值得对方花算力读的 request.md


submit

1. 建作业 —— 把要审什么写清楚

$CGH new --action <review|design|debug> -- <要审什么>
# 带图片或文件(可重复):
$CGH new --action review --attach ./bug.png --attach ./trace.log -- <要审什么>

--effort 通常不用传。 cgh 会自己从审查对象文本里认档位,认不出就用默认 极高

情况 结果
文本里有档位词(用 pro 模式 / 极速档 / 中级模式 / 极高…) 按文本,effort_source=审查对象
文本里没有 默认 极高effort_source=默认
你显式传了 --effort 且文本里没档位词 按你传的,effort_source=显式参数
你传的 --effort 与文本里的档位不一致 effort_mismatch 直接拒绝

最后一行是关键:用户点了档位就要照他说的写。他说「用 pro 模式」而你按 high 建作业,这一路上没有别的东西能发现你听错了(effort_actual 照样会回读成 "正确的高")。所以要么把他的原话档位词写进审查对象让 cgh 自己认,要么忠实传 --effort

  • -- 之后原样照抄用户那句话,不要概括、不要润色、不要translate。 这句话会被冻结进 intent.json 并带哈希,后续任何环节改动它都会被拒绝, 档位交叉校验也是拿它做的信源。
  • 五个档位:极速 / 中级 / 高级 / 极高 / pro。没有 auto 这一档。
  • 审查对象会被冻结进 intent.json 并带哈希,submit 会校验它原样出现在 request.md 的「目标」节里——防的是建完作业之后正文被改跑题,不是防你写。
  • 上下文里有多个合理审查对象,或者选哪个会实质改变范围 → 停下来问,不得擅自挑选。
  • 附件:用 --attach,可重复,最多 10 个。类型不做限制——ChatGPT 支持什么就支持 什么(图片、PDF、代码、文档都可以)。路径在建作业时就会查实,早失败早省事。
  • 返回 busy 说明已有活跃作业,把 active_id 报给用户,问是 poll 还是 abort

Read the full file on GitHub · 237 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 237 lines · 45 tokens per session scan B 8b4d2fb33f92

Subscribe to this mod's changes

chatgpt-handoff is a skill published in the GitHub repository sologuy/chatgpt-web-handoff (2 stars, last pushed 6d ago), licensed MIT. It adds 45 tokens to every session and 4,448 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (enumerates other installed skills). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.