Agent skill

Chatgpt Pro Consult

by adamallcock in adamallcock/codex-chatgpt-control

Backward-compatible alias for a visible Chat consultation with the Pro intelligence setting; prefer chatgpt-delegate for new Chat or Work delegation workflows.

MITAuto-check passed

Install Chatgpt Pro Consult

skills CLI
$ npx skills add adamallcock/codex-chatgpt-control --skill chatgpt-pro-consult -a claude-code

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

GitHub CLI
$ gh skill install adamallcock/codex-chatgpt-control chatgpt-pro-consult --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/adamallcock/codex-chatgpt-control.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/codex-chatgpt-control/skills/chatgpt-pro-consult .claude/skills/chatgpt-pro-consult && 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
chatgpt-pro-consult
GitHub stars
406
Token cost
~3.3k tokens
SKILL.md length
1,110 words
Files
2 (incl. references)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Backward-compatible alias for a visible Chat consultation with the Pro intelligence setting; prefer chatgpt-delegate for new Chat or Work delegation workflows.

  • Works in 2 steps: Codex Settings > Computer Use > Chrome >… → Chrome chrome://extensions > Codex…
  • SKILL.md covers Guardrails, Staged Consult Boundary, Runtime Loader and Bridge Bootstrap Handoff, plus 7 more sections
  • Reaches chatgpt.com

What it does

Chatgpt Pro Consult is an agent skill from adamallcock/codex-chatgpt-control. Backward-compatible alias for a visible Chat consultation with the Pro intelligence setting; prefer chatgpt-delegate for new Chat or Work delegation workflows.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/consult-patterns.md`).

It works with OpenAI. The repository describes itself as: Unofficial SDK for Codex agents controlling visible ChatGPT web sessions. The licence is MIT.

Example prompts

  • “/chatgpt-pro-consult”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Codex Settings > Computer Use > Chrome > Permissions > Uploads.
  2. Chrome chrome://extensions > Codex extension > Details > Allow access to file URLs.

What it can do on your machine

Read from SKILL.md and the folder at commit 1e50539. 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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript).

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • chatgpt.com

    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

Chatgpt Pro Consult loads about 3.3k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 45 tokens; SKILL.md has 1,110 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
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from adamallcock/codex-chatgpt-control at commit 1e50539, republished under its MIT licence (© adamallcock). 1,110 words, ~3,259 tokens.

Download SKILL.mdSave it as .claude/skills/chatgpt-pro-consult/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
chatgpt-pro-consult
description
Backward-compatible alias for a visible Chat consultation with the Pro intelligence setting; prefer chatgpt-delegate for new Chat or Work delegation workflows.

ChatGPT Pro Consult

This is a backward-compatible skill alias. Prefer chatgpt-delegate for new work because it chooses between Chat, Work, and official Codex based on the job and uses the strict experience/configuration APIs.

Use this alias when an existing workflow or user explicitly requests the visible Chat Pro intelligence setting for a focused consultation. Typical uses are critical review, synthesis, planning review, and a long-form second opinion through the user's ChatGPT subscription.

This skill is a thin workflow over the codex-chatgpt-control plugin. Use the snippets below for ordinary consults, but switch to the full codex-chatgpt-control skill as soon as bridge bootstrap, tab reuse, file attach, send, wait, read, or selector diagnosis becomes the main issue.

Guardrails

  • This sends prompt and attachment content to ChatGPT web. Do not send secrets, credentials, private source material, financial details, legal evidence, medical details, or sensitive personal data unless the user clearly approved that disclosure.
  • Use only visible ChatGPT web through the Codex/browser bridge. Do not replicate private ChatGPT network calls, read cookies, inspect localStorage/sessionStorage, or extract hidden auth headers.
  • Make Pro selection explicit with experience: "chat" and configuration: { intelligence: "Pro" }. The strict configuration API handles older and newer visible pickers and verifies the postcondition. If the SDK cannot verify Pro, stop and report the blocker and visible candidate labels.
  • Call experience.open({ experience: "chat" }) through the workflow even when Work is currently visible; do not assume the current ChatGPT pane is Chat.
  • Prefer a fresh thread unless the user asked to continue a specific ChatGPT thread.
  • Return Markdown by default. Use redacted reports by default; raw prompt/response content is opt-in only.
  • Treat ChatGPT Pro output as another model's judgment, not verified truth. Verify current, legal, medical, financial, or high-stakes claims with primary sources.
  • Keep each Codex tool call below the host call ceiling. Do not ask one JS call to wait for a long Pro response. Submit the prompt under Pro first, then poll/read in bounded chunks.

Staged Consult Boundary

Use the submit-then-poll pattern in this skill for expensive visible-browser work:

  • Pro consultations.
  • File-backed consults.
  • Long Thinking or Deep Research-style answers.
  • Recovery after a submit, wait, or read call times out.
  • Any result whose completionState is generating or whose generationActive flag is true.

Do not force this staged protocol into ordinary short SDK calls. For normal chatgpt.ask(...), short askInThread(...), quick reads, and exact-string smokes, the smoother one-call wait: true / read: true flow is still the right default. Switch to staged recovery only when the answer is likely to exceed the Codex tool-call ceiling or when a partial/timeout result proves the prompt may already be submitted.

Runtime Loader

Resolve relative paths from this SKILL.md directory. The plugin runtime loader lives at:

text
../../runtime/import-chatgpt-control.mjs

From a bridge-enabled Codex Node runtime:

js
const loaderUrl = new URL(
  "../../runtime/import-chatgpt-control.mjs",
  "file:///absolute/path/to/plugins/codex-chatgpt-control/skills/chatgpt-pro-consult/SKILL.md"
);
const { importChatGPTControl } = await import(`${loaderUrl.href}?t=${Date.now()}`);
const { createChatGPT } = await importChatGPTControl();

const chatgpt = createChatGPT({
  agent: globalThis.agent,
  reporting: { enabled: true, includeContent: false }
});

Do not import from an older manually installed skill runtime; the plugin-bundled runtime is the intended source.

Bridge Bootstrap Handoff

This skill assumes the Codex Chrome bridge is already available in the JS runtime. If globalThis.agent is missing, do not stop after reporting hasAgent: false; initialize the Chrome plugin runtime using the bootstrap steps from the codex-chatgpt-control skill, then retry the consult.

After bootstrap, verify both values before using the snippets below:

js
JSON.stringify({
  hasAgent: !!globalThis.agent,
  hasBrowser: !!globalThis.browser
}, null, 2);

Only report browser_bridge_unavailable after the browser-control bootstrap itself fails or the bridge remains unavailable. If messages.ask, messages.wait, messages.status, messages.readLatest, messages.waitAndRead, mode selection, file attach, or existing-tab selection returns a partial/timeout result, preserve the raw structured result and continue under the full browser-control skill. The Pro wrapper is for consult intent; browser-control is the source of truth for low-level diagnosis.

Quick Consult

js
const POLL_CHUNK = {
  timeoutMs: 25_000,
  stableMs: 1_500,
  pollMs: 750,
  mode: "deep_research"
};

function isStillRunning(data) {
  return data?.completionState === "generating" || data?.generationActive === true;
}

const pro = chatgpt.agent({
  name: "chatgpt-pro-consultant",
  instructions: [
    "You are being consulted as ChatGPT Pro from a visible ChatGPT web session.",
    "Be critical, constructive, specific, and evidence-aware.",
    "Call out assumptions, risks, missing information, and concrete next steps.",
    "Return clear Markdown."
  ].join("\n"),
  defaults: {
    wait: false,
    read: false,
    report: { enabled: true, includeContent: false }
  }
});

async function readBoundedProAnswer() {
  const read = await chatgpt.messages.waitAndRead({
    ...POLL_CHUNK,
    role: "assistant",
    format: "markdown"
  });

  if (
    read.ok &&
    read.data?.complete !== false &&
    !isStillRunning(read.data)
  ) {
    return { status: "complete", read };
  }

  const progress = await chatgpt.messages.status({ maxPreviewChars: 500 });
  return {
    status: isStillRunning(progress.data) ? "pro_still_running" : "read_incomplete",
    read,
    progress
  };
}

const submitted = await chatgpt.runner.run(pro, {
  input: "Review this plan and recommend improvements:\n\n...",
  thread: { type: "new" },
  experience: "chat",
  configuration: { intelligence: "Pro" },
  report: { enabled: true, includeContent: false }
});

const configurationStep = submitted.steps?.find(step => step.id === "configuration");
if (!submitted.ok || configurationStep?.ok === false || configurationStep?.dataPreview?.verified !== true) {
  console.log(JSON.stringify({
    status: "blocked_before_submit_or_configuration_unverified",
    thread: submitted.state?.thread ?? submitted.data?.thread,
    configurationStep,
    interruptions: submitted.interruptions
  }, null, 2));
} else {
  const answer = await readBoundedProAnswer();

  if (answer.status !== "complete") {
    console.log(JSON.stringify({
      status: answer.status,
      message: "Prompt is already submitted. Do not resubmit; poll/read this same thread again.",
      thread: submitted.state?.thread ?? submitted.data?.thread,
      configurationStep,
      progress: answer.progress,
      read: answer.read
    }, null, 2));
  } else {
    console.log(answer.read.data?.responseText ?? "");
  }
}

Before describing the answer as a Pro-setting consultation, inspect configurationStep. It must succeed with dataPreview.verified === true. Do not infer an underlying model solely from the visible label. Do not pass response on the submit run; response formatting belongs on the separate bounded poll. If the poll times out, returns partial, or reports pro_still_running, do not submit the prompt again; reuse the same open thread and run another bounded messages.status / messages.waitAndRead call.

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

Running Or Partial Results

Treat these as in-progress, not as final answers:

  • status: "partial" with non-empty output_text.
  • data.complete === false.
  • data.completionState === "generating".
  • data.generationActive === true.

Use a compact status check when you need to know whether Pro is still working:

js
const status = await chatgpt.messages.status({ maxPreviewChars: 500 });
console.log(JSON.stringify(status, null, 2));

If completionState is generating or generationActive is true, report that ChatGPT Pro is still running and poll the same thread again later. Only treat an answer as final when the wait/read result is complete or when status/read evidence shows generation has stopped.

If a caller prefers a direct polling loop over messages.wait instead of messages.status, pass responseContent: "metadata" so partial and timeout results return compact data.responseChars / data.responseSha256 metadata instead of the full growing answer body; call messages.readLatest once completion is confirmed.

With Files

Attach only files the user has approved sending to ChatGPT:

js
const result = await chatgpt.runner.run(pro, {
  input: [
    {
      type: "input_text",
      text: "Critique these materials and return a prioritized action plan."
    },
    { type: "input_file", path: "/absolute/path/to/plan.md" },
    { type: "input_file", path: "/absolute/path/to/current-shape.md" }
  ],
  thread: { type: "new" },
  experience: "chat",
  configuration: { intelligence: "Pro" },
  report: { enabled: true, includeContent: false }
});

Use the same submit-then-poll pattern as Quick Consult. File-backed Pro answers can run longer than one Codex tool call, so keep pro.defaults.wait and pro.defaults.read disabled and recover the answer with bounded messages.status / messages.waitAndRead calls.

Continue A Known Thread

Use this only when the user gives a specific thread URL, conversation id, title, or search query:

js
const result = await chatgpt.runner.run(pro, {
  input: "Please continue from the latest answer and critique the updated plan.",
  thread: {
    type: "url",
    url: "https://chatgpt.com/c/..."
  },
  experience: "chat",
  configuration: { intelligence: "Pro" }
});

Search fallback:

js
const result = await chatgpt.runner.run(pro, {
  input: "Read the current context in this thread and give a fresh review.",
  thread: { type: "search", query: "SDK Design Proposal", select: "first" },
  experience: "chat",
  configuration: { intelligence: "Pro" }
});

Recover A Timed-Out Consult

If the submit call timed out after opening a thread, first recover from the current ChatGPT tab instead of creating a duplicate prompt:

js
const status = await chatgpt.messages.status({ maxPreviewChars: 500 });
if (isStillRunning(status.data)) {
  console.log(JSON.stringify({
    status: "pro_still_running",
    message: "ChatGPT Pro is still generating. Do not resubmit; poll this same thread again.",
    progress: status
  }, null, 2));
} else {
  const read = await chatgpt.messages.waitAndRead({
    timeoutMs: 25_000,
    stableMs: 1_500,
    pollMs: 750,
    role: "assistant",
    format: "markdown",
    mode: "deep_research"
  });

  console.log(read.ok ? read.data?.responseText : JSON.stringify(read, null, 2));
}

If the browser bridge itself needs inspection after a timeout, bootstrap the Chrome runtime from the codex-chatgpt-control skill and use browser.tabs.*; the bridge does not expose top-level browser.list or browser.selected.

Blockers

If a run fails, report the structured blocker instead of retrying blindly.

  • browser_bridge_unavailable: the active runtime does not expose the Codex Chrome bridge after running the browser-control bootstrap. Report the bootstrap error and whether hasAgent and hasBrowser are true.
  • login_required: ask the user to log in to ChatGPT in Chrome.
  • selector_drift during configuration: report that the visible Pro setting was unavailable or unverified and include candidates.
  • file_permission: tell the user to enable both Codex Chrome upload permission and Chrome extension file URL access before retrying file attach.
  • rate_limited, captcha, or account-level confirmation: stop and ask the user to resolve it manually.

Upload permission fixes:

  1. Codex Settings > Computer Use > Chrome > Permissions > Uploads.
  2. Chrome chrome://extensions > Codex extension > Details > Allow access to file URLs.

See references/consult-patterns.md for request framing and output handling.

Output Contract

When reporting back to the user:

  • Say that the answer used the verified visible Chat Pro setting; do not claim a specific underlying model unless separately verified from a current authoritative source.
  • Summarize the most useful findings; include the full Markdown if the user asked for the full response.
  • Include any blockers, warnings, thread URL, downloaded files, or redacted report path when present.
  • Do not present delegated claims as verified facts unless you independently verified them.

© adamallcock, 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 1 other file (references) in plugins/codex-chatgpt-control/skills/chatgpt-pro-consult of adamallcock/codex-chatgpt-control.

  • SKILL.md
  • references/consult-patterns.md

Open the folder on GitHubat commit 1e50539

Compare with similar skills

Chatgpt Pro Consult 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.

Chatgpt Pro Consult compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Chatgpt Pro Consult this skilladamallcock/codex-chatgpt-control406—~3.3kAutomated safety check: PassMIT
Geo Fundamentalswasp-lang/wasp19k9 repos~861Automated safety check: PassMIT
AI SDKvercel-labs/ai-facts16820 repos~1.2kAutomated safety check: PassNone
AI Image Generation and Editingzhayujie/CowAgent47k—~1.3kAutomated safety check: PassMIT
PR Design DocOpenHands/OpenHands91k—~2.4kAutomated safety check: PassMIT
SEO GeoReScienceLab/opc-skills1.8k4 repos~2.1kAutomated safety check: PassApache-2.0

Similar skills

  • Geo Fundamentals

    wasp-lang/wasp

    Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).

    19k GitHub starsUsed in 9 repos~861 tokens
    Marketing & SEOAuto-check passed
  • AI SDK

    vercel-labs/ai-facts

    Official

    Answer questions about the AI SDK and help build AI-powered features.

    168 GitHub starsUsed in 20 repos~1.2k tokens
    AI & LLM EngineeringAuto-check passed
  • Generates or edits images from text prompts through a Python script that picks an image backend based on which API keys are configured.

    47k GitHub stars~1.3k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • PR Design Doc

    OpenHands/OpenHands

    For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…

    91k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • SEO Geo

    ReScienceLab/opc-skills

    SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.

    1.8k GitHub starsUsed in 4 repos~2.1k tokens
    Marketing & SEOAuto-check passed
  • Open Code Review CLI

    alibaba/open-code-review

    Runs the ocr command-line tool to review Git changes, a commit or a branch comparison with an AI model, returning line-level comments and optionally applying fixes.

    46k GitHub stars~3.1k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from adamallcock/codex-chatgpt-control

  • Codex Chatgpt Control

    adamallcock/codex-chatgpt-control

    A skill your agent uses when Codex agents need to operate visible ChatGPT Chat or Work through the codex-chatgpt-control plugin, including verified configuration, prompts, tasks, progress, steering…

    406 GitHub stars~3.1k tokensUpdated 6 days ago
    Auto-check passed
  • Chatgpt Delegate

    adamallcock/codex-chatgpt-control

    A skill your agent uses when Codex should delegate a visible, user-directed task to ChatGPT Chat or Work, including configuration discovery, long-running Work progress, steering, response capture…

    406 GitHub stars~1.7k tokensUpdated 6 days ago
    Auto-check passed
  • Codex Chatgpt Control

    adamallcock/codex-chatgpt-control

    A skill your agent uses when Codex agents need to operate visible ChatGPT Chat or Work through the codex-chatgpt-control SDK, including verified configuration, prompts, tasks, progress, steering…

    406 GitHub stars~2.9k tokensUpdated 6 days ago
    Auto-check passed

Works with

Questions about Chatgpt Pro Consult

What does Chatgpt Pro Consult do?

Backward-compatible alias for a visible Chat consultation with the Pro intelligence setting; prefer chatgpt-delegate for new Chat or Work delegation workflows. Chatgpt Pro Consult is an agent skill from adamallcock/codex-chatgpt-control. Backward-compatible alias for a visible Chat consultation with the Pro intelligence setting; prefer chatgpt-delegate for new Chat or Work delegation workflows.

How do I install Chatgpt Pro Consult in Claude Code?

Run `npx skills add adamallcock/codex-chatgpt-control --skill chatgpt-pro-consult -a claude-code`. Or copy the skill folder (plugins/codex-chatgpt-control/skills/chatgpt-pro-consult in adamallcock/codex-chatgpt-control) into .claude/skills/chatgpt-pro-consult in your project. Claude Code loads it when a task matches its description.

How do I install Chatgpt Pro Consult in Codex?

Run `npx skills add adamallcock/codex-chatgpt-control --skill chatgpt-pro-consult -a codex`. Or copy the skill folder (plugins/codex-chatgpt-control/skills/chatgpt-pro-consult in adamallcock/codex-chatgpt-control) into .agents/skills/chatgpt-pro-consult in your project. Codex loads it when a task matches its description.

Can I use Chatgpt Pro Consult 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 adamallcock/codex-chatgpt-control --skill chatgpt-pro-consult -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/chatgpt-pro-consult, .gemini/skills/chatgpt-pro-consult, .github/skills/chatgpt-pro-consult and .opencode/skills/chatgpt-pro-consult in your project.

What does Chatgpt Pro Consult need to run?

SKILL.md names no scripts, command-line tools or credentials: Chatgpt Pro Consult is instructions for the agent only.

Does Chatgpt Pro Consult access the network?

SKILL.md names 1 domain. In commands or code: chatgpt.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Chatgpt Pro Consult 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. Review the folder before installing.

What licence does Chatgpt Pro Consult use?

Chatgpt Pro Consult 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 Chatgpt Pro Consult use?

About 3.3k tokens (SKILL.md is roughly 13k 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 265 tokens, read only when the agent opens those files.

What are the alternatives to Chatgpt Pro Consult?

Skills that share tags, products or a category with Chatgpt Pro Consult: Geo Fundamentals (wasp-lang/wasp, 19k stars), AI SDK (vercel-labs/ai-facts, 168 stars), AI Image Generation and Editing (zhayujie/CowAgent, 47k stars) and PR Design Doc (OpenHands/OpenHands, 91k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Chatgpt Pro Consult?

adamallcock (a GitHub user) maintains it in adamallcock/codex-chatgpt-control, which has 406 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 4, 2026.

Source: adamallcock/codex-chatgpt-control on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.