GPT Visibility agent

Five numbers on GPT-6 Sol’s own web search every morning, and a page written or revised every afternoon when they say so.

Before GPT-6 Sol answers a buyer’s question it searches the web, and it can only cite a page that search returns. It finds vendors with one or two broad searches and then checks each one by name, so a page that is not in the results of that first broad search is never checked, and nothing on the answer side says which pages were there instead.

Running on our own company since Oct 25, 2026 · Codex CLI web search (GPT-6 Sol) · Risk: Low. Everything on this page is public; there is nothing to sign in for.

Goes inThe 19 category queries GPT-6 Sol itself issued for the buyer questions, two brand queries, a site: probe for each of the 23 target pages, 44 isolated Codex CLI sessions that each search once, the previous round, and the week’s AI readouts (what GPT-6 Sol searched for each question and whether our domain was in its results)
Comes outOne summary a day beside the previous round: category queries with us in the results, target pages GPT-6 Sol’s search can find, stale snapshots, the brand query, and the answers whose own searches returned us; every query diagnosed at its block; the Reddit threads its searches keep returning, for the Reddit comment agent; the pages it cannot find handed to Bing’s URL submission; its run record for the public log. Every afternoon: new or revised posts and pages for the questions whose searches do not return us, each with a check row
Human stepNone before a post or a page goes live, as for Claude Visibility: what the writing session wrote passes its checks and a separate content review, ships, and the record names each. The reviews and listicles to approach and the next query panel stay proposals a person decides on
Runs onA machine you control: Node, the Codex CLI signed in to a ChatGPT subscription under a separate measurement home, and the Claude Code CLI for the judgement and the writing. No browser, and no account with OpenAI beyond the subscription

Tasks and outputs

What it takes on

Probe

Starts one isolated Codex session per query, on GPT-6 Sol with web search as its only tool, told to run the search exactly once with the query verbatim, open nothing and answer nothing, and keeps the list of pages that came back. A session that rewrote the query, searched twice or opened a page is discarded; more than three discarded means the instrument broke and the round is not a reading.

44 result lists, in the repository

Count and summarise

Requests each target page once for its live title (a page GPT-6 Sol still shows under an old title is a stale snapshot), counts the four numbers of the probes and pools the fifth from the week’s AI readouts, diagnoses every category query at its first block, lists who holds the queries and which Reddit threads GPT-6 Sol’s searches keep returning, and hands the pages it cannot find to Bing’s URL submission; writes the summary beside the previous round’s with the run record at the top.

summary.md, threads.json, Bing submissions

Write or revise

Every afternoon, with the same machinery as Claude Visibility: joins the round with the week’s AI readouts into one entry per buyer question, and a writing session creates or revises posts and pages in the words GPT-6 Sol searches for the questions whose searches do not return us. Each piece passes the content review before it ships, is registered as a live row with its checks, and is committed and deployed; the two agents’ cooldowns are read together, so a page is never changed twice in a week.

Posts, pages, check rows

Who it is for: Teams whose buyers ask OpenAI’s models for a shortlist, and who want to know, page by page, whether GPT-6 Sol’s search can find them at all, whether it holds a stale copy, and which reviews, listicles and Reddit threads hold the searches it actually runs instead.

How we use it: We probed claw-world.app on 2026-10-18 by hand before turning the scripts into this agent: none of the six category queries that round probed returned one of our pages; of the 23 pages we want found, 18 could be, so most of the site is in the index GPT-6 Sol searches and simply does not rank; the comparison page /vs was still shown with the title it had before October 5; and in the four daily AI readouts before it, none of GPT-6 Sol’s 80 answers came with one of our pages in its own search results. The scheduled rounds start the week of October 20. The AI Visibility agent measures the answers to the same questions; this one measures the search under GPT-6 Sol’s, and the two are read together: a page cannot be cited before it can be found.

.agents/skills/gpt-visibility/SKILL.mdDefinitions table of the skill

What each number is counted to

01Category queries with us in the results: of the 19 queries GPT-6 Sol issued for the buyer questions (the first broad one for each; one question never got a broad query and has none), how many result lists held one of our pages. The panel is frozen; GPT-6 Sol rewords its own searches every day, so the panel is the ruler and the fifth number is the real world.

02Target pages GPT-6 Sol’s search can find: of the 23 pages we want found, how many appeared in any probe’s results this round, their own site: probe or another’s. Its site: lists stop at twelve results and a bare site: query returns nothing, so absence is strong evidence, not proof.

03Stale snapshots: found pages whose title in GPT-6 Sol’s results matches none of the titles the live page carries (the title tag, og:title and the h1). GPT-6 Sol reads the snapshot, not the page.

04Brand query: for a search of our name with the category word (ClawWorld AEO), how many results are ours and the position of the first.

05Answers whose searches returned us: in the daily AI Visibility readouts pooled over seven days, how many of GPT-6 Sol’s answers to the twenty buyer questions came with one of our pages in their own search results. This one is the answer layer’s, with its noise band: one answer a question a day.

06Diagnosis: each category query at its first block. Hit; no page (nothing written for the question); awaiting index (pages written, none found); indexed but not ranked (a page found, this query does not list it). A page is only ever written or revised for the last two.

07Noise: the retrieval layer is stable; the same query probed twice minutes apart returned the same top ten in six of six repeats on 2026-10-18, so a change of one in the first four numbers is worth opening the probe file. Counts of queries, pages and answers, never rates; a discarded probe leaves the denominator.

Read from the skill fileEvery summary names the round it is compared to

The rules the agent’s output is written to, from the file named above. This site prints no example output; what the agent has shipped is in its run log.

Workflow

How a run goes, step by step

Pick a step to see what goes in, what comes out, and where a person is involved.

Step 1 of 7

Probe

Starts one isolated Codex CLI session per query with the same isolation as the AI readout (GPT-6 Sol, web search as its only tool, a read-only sandbox in a neutral folder, the measurement account), tells it to run the search exactly once with the query verbatim, open nothing and answer nothing, and reads the result list out of the session’s event stream. The reply is thrown away. Sessions run one at a time, about eight seconds each.

Goes in

panel.json, targets.json and the Codex CLI

Comes out

44 probe records: the query, what the session issued, the 24 to 32 pages that came back with title, URL, domain and snippet

Where a person steps in

None. A usage limit pauses the round 15 minutes; a round cut short records what it has and the record says so.

Step 2 of 7

Fetch titles

Requests each target page once and keeps its title, so the title GPT-6 Sol’s results carry can be compared with the title the page has today.

Goes in

targets.json

Comes out

titles.json

Where a person steps in

None. A page that cannot be fetched is unknown, not stale.

Step 3 of 7

Count

Counts the four numbers of the probes, diagnoses every category query at its first block, finds every page of ours in any result list, lists the URLs that hold two or more of the queries, and pools the week’s AI readouts on the GPT side for the fifth number and the Reddit threads its searches returned.

Goes in

The probe records, titles.json and the AI readouts of the last seven days

Comes out

analysis.json

Where a person steps in

None.

Step 4 of 7

Summarise

Writes the five numbers beside the previous round’s, then every query with its diagnosis, every target page, the brand queries, who holds the queries, the pages of ours the search can see, the week’s AI readouts on the GPT side, the Reddit threads and the pages due for a Bing submission. Opens the file with the run record.

Goes in

This round’s analysis and the previous one’s

Comes out

summary.md: counts, positions and page titles; there is no answer text to keep out

Where a person steps in

None.

Step 5 of 7

Hand off

Submits the target pages GPT-6 Sol cannot find and that were not submitted in the last 14 days to Bing’s URL submission API in one call, and records the date on each page’s row; then writes the Reddit threads its searches keep returning, by how often, to a list the Reddit comment agent reads two days a week. Only search results go into the list; the threads themselves are not opened.

Goes in

analysis.json and the Bing Webmaster API key of the Bing Visibility agent

Comes out

Bing submission dates in targets.json; Workflows/gpt-visibility/threads.json

Where a person steps in

None. Whether to comment on a thread, and what, is the Reddit comment agent’s call, under its own rules.

Step 6 of 7

Check and propose

A judgement session evaluates the due rows of the changes table against the round (a page submitted to Bing found, a query listing a page the agent wrote, a title refreshed), writes the record’s narrative and proposes what the agent cannot ship itself: reviews and listicles to approach, a query that keeps coming back outside the panel.

Goes in

summary.md, the previous round’s record and the changes table

Comes out

The record’s narrative, the due rows filled, proposals a person decides on

Where a person steps in

The proposals. The session itself never submits, writes or rewrites anything.

Step 7 of 7

Write and ship

In the afternoon, the same page-change machinery as Claude Visibility: a script joins the round with the AI readouts of the last seven days into one entry per buyer question (what GPT-6 Sol searched, whether our domain was in its results, the pages written for it, who holds the query and the snippet GPT-6 Sol saw), and a writing session works down the list: a new post for a question no page answers, or a revision of a post’s or a marketing page’s title, opening and one section in the words GPT-6 Sol searches. Every piece is validated, put through the content review and registered as a live row with its checks, then committed and deployed. The two agents’ cooldowns are read together: a page either agent changed in the last seven days is skipped, and a question the Claude side already wrote for today is left alone.

Goes in

The morning’s analysis, the week’s AI readouts, the target pages, both agents’ changes tables

Comes out

New or revised posts and pages, their rows, a step on the day’s record

Where a person steps in

None before a piece is live. A piece sent back by the review is reverted and the record names it; a person can revert a live change from its row.

Before you start

What you’ll need to bring

Company material

Your domain, the suffix your page titles carry, and the pages you want found, each with the buyer question it is written for.

Source material

The queries GPT-6 Sol itself issues for your buyer questions, read from a measurement that recorded them (the AI Visibility readout keeps them) and frozen once written, and that readout’s daily records for the fifth number. The agent probes them and, in the afternoon, writes posts and revises pages for the questions whose searches do not return you.

Platform account

A ChatGPT subscription signed in to the Codex CLI under a separate measurement home, with no connected apps: the probes spend its quota, 44 short sessions a day. A Claude subscription for the judgement, the afternoon’s writing session and the review of each piece. The Bing Webmaster API key the Bing Visibility agent already uses. No password handed over.

Run environment

A machine with Node.js, the Codex CLI, the Claude Code CLI, and an agent runner that follows a written workflow. We use Claude Code. The sandbox folder sits outside your user profile; nothing opens a browser.

Run log

Recent runs, as they happened

The full log is public and read-only. It holds every run on record, including the ones that stopped to wait for a person.

View the full run log
Latest 3 runsAs of Oct 25, 2026
SucceededOct 25, 2026, 07:20GPT readout · SundaySummary written. GPT-6 Sol’s search returned one of our pages for zero of 19 buyer queries (zero of 19 the day before); 19 of 23 target pages could be found at all (19 of 23); two of the 19 found are held with a title the page no longer has (two); a search for our name returned eight of our pages in 15 results, the first at position 1 (eight of 14, first at 1); in the week’s six AI readouts, zero of 120 answers came with one of our pages in GPT-6 Sol’s own search results (zero of 140).SucceededOct 24, 2026, 09:49GPT readout · Saturday (first full round, by hand)Summary written. GPT-6 Sol’s search returned one of our pages for zero of 19 buyer queries (zero of six on Oct 18, 2026); 19 of 23 target pages could be found at all (18 of 23); two of the 19 found are held with a title the page no longer has (one); a search for our name returned eight of our pages in 14 results, the first at position 1 (six of 21, first at 1); in the week’s seven AI readouts, zero of 140 answers came with one of our pages in GPT-6 Sol’s own search results (zero of 80).Needs attentionOct 18, 2026, 13:34GPT readout · Sunday (dry run, by hand)Summary written, needs a person. GPT-6 Sol’s search returned one of our pages for zero of six buyer queries (six of the 19 were probed); 18 of 23 target pages could be found at all; one of the 18 found is held with a title the page no longer has; a search for our name returned six of our pages in 21 results, the first at position 1; in the week’s four AI readouts, zero of 80 answers came with one of our pages in GPT-6 Sol’s own search results. First round, nothing to compare to.

Guides and files

Set it up yourself

The setup guide, and the files the agent is built from. You run it in your own environment, with your own accounts.

Open · no account neededA Claude Code skill (markdown instructions and the definitions table) plus Node scripts: the probes, the live titles, the counting, the summary and the Bing submission; the isolated session starter is the AI Visibility skill’s, and the afternoon’s candidates and checks are Claude Visibility’s script with a GPT branch. Not packaged for public download yet — the setup guide below describes what they do; the managed tier runs it for you today.
Setup guide
  1. 01

    Runtime

    • Node.js 20 or later, for the scripts.
    • The Codex CLI, for the probes: each one is a short command-line session on GPT-6 Sol with web search as its only tool.
    • An agent runner that follows a written workflow, for the judgement step and the afternoon’s writing — we use Claude Code. It runs after the probes and never searches anything itself.
  2. 02

    Browser setup

    • None. The probes, the writing session and the Bing submission are command-line sessions and one API call; nothing in this agent opens a browser, and the Reddit threads it lists are read from search results, never opened.
  3. 03

    Account setup

    • A ChatGPT subscription signed in to the Codex CLI under a separate measurement home (its own CODEX_HOME, no connected apps), kept apart from the profile you use day to day. The probes spend that subscription’s quota: 44 short sessions a day, on the same account as the AI Visibility readout.
    • A Claude subscription with the Claude Code CLI signed in: the judgement session, the afternoon’s writing session and the review of each post spend it, as for Claude Visibility.
    • No account with OpenAI beyond the subscription: OpenAI has no webmaster console or submission form. No Bing account beyond the Bing Webmaster API key the Bing Visibility agent already uses.
  4. 04

    Configuration

    • panel.json: the first broad query GPT-6 Sol itself issued for each buyer question, taken from the AI readout’s records, with the question each serves, plus the brand queries. Frozen once written: GPT-6 Sol rewords its own searches every day, so the panel is a fixed ruler and the AI readout is the real-world reading.
    • targets.json: the pages you want GPT-6 Sol’s search to find, each with its site: probe (the title’s distinctive words) and the questions it is written for; the agent records each Bing submission date here.
    • brand.json: your domain, the site suffix your titles carry, and which panel row is the brand query.
    • The sandbox folder: the same neutral folder outside your user profile as the AI Visibility readout, read-only for the session. Here the model never answers, so a leak could only show as a rewritten query, which the record catches and discards.
  5. 05

    First run

    • Run one round and read section 3 of the summary: a page you know is indexed should sit at position 1 or 2 of its own site: probe. GPT-6 Sol’s site: lists stop at twelve results and a bare site: query returns nothing, so write each probe from words in the page’s title.
    • Read section 2: a query diagnosed indexed but not ranked names the pages that hold it in section 5; one diagnosed awaiting index names pages for the Bing experiment.
    • Probe one query twice a few minutes apart before trusting a change of one: on 2026-10-18 the same top ten came back in six of six repeats.
    • Read the first afternoon’s record and the pieces it shipped before trusting the writing step: as for Claude Visibility, the content review sends back what contradicts itself, but no person reads a post before it is live.
Files · 10

SKILL.md

Workflow · Markdown. The steps above and the definitions table, as the runner reads them.

Workflow

lib.mjs

Script · Node. What the scripts share: the config, the snapshot root, how a round’s probe records are read back, how the week’s AI readouts are pooled for the GPT side. The URL and title helpers are Claude Visibility’s, imported rather than copied.

Script

probe.mjs

Script · Node. One round of probes, one record per query, resumable; discards a session that rewrote the query, searched twice or opened a page.

Script

titles.mjs

Script · Node. The live title of every target page, one plain request each.

Script

analyze.mjs

Script · Node. Counts a round into analysis.json: the five numbers, the diagnosis of every query, who holds the queries, the Reddit threads, the pages still to submit.

Script

summarize.mjs

Script · Node. Writes summary.md beside the previous round, with the run record this log reads at the top, and the thread list for the Reddit comment agent.

Script

engines.mjs

Script · Node. Shared with the AI Visibility skill: the isolated session starter, the only place the Codex CLI is started with the flags that shut out everything but web search.

Script

bing-submit.mjs

Script · Node. Submits the target pages GPT-6 Sol cannot find to Bing’s URL submission API, each at most once in 14 days, and records the date in targets.json.

Script

improve.mjs

Script · Node. Shared with Claude Visibility: the afternoon’s join of the round, the AI readouts and the target pages into one entry per buyer question, the check of what the writing session wrote, and the registration of each piece as a live row; the two agents’ cooldowns are read together.

Script

threads.json

List · JSON. The Reddit threads GPT-6 Sol’s searches keep returning, by how often, with the questions they came up for. The Reddit comment agent reads it.

List

Not packaged for public download yet. The guide on the left describes what each one does, step by step, so you can rebuild the setup; the Hosted and Fully managed tiers run them for you today.

Rather have us run it?

Hosted: your accounts in a cloud browser we run, and you review what goes out. Fully managed: we set the strategy and run the agents.

Good to know

Where it stops and asks for you

  • More than three probes are discarded. The Codex CLI’s event format changed or the sessions stopped running the query verbatim: the instrument broke. No number is read that day; the record is marked failed at the probes and a person fixes the parser.
  • A usage limit is hit. The round pauses 15 minutes and goes on; probes run one at a time, so the measurement account never has two sessions open. A round that still cannot finish within its time limit records the probes it has, with the denominator to match.
  • Bing’s API refuses the submission. Nothing is recorded as submitted, the pages stay due, and the next round tries again.
  • The content review sends a piece back. The piece is reverted, the day’s record names it and the review ledger says why. Nothing unreviewed goes live.
  • A page handed to Bing stays missing for four weeks. Whether Bing’s index feeds OpenAI’s is what the submissions test; if no submitted page becomes findable, the step is dropped and the record says so.

Risk notice

What to watch for

  • The instrument follows the Codex CLI: when its event format changes, every probe is discarded, the run is recorded as failed at the probes, and a person fixes the parser.
  • The probes run on the Codex CLI’s web search, the tool GPT-6 Sol uses; whether chatgpt.com’s search returns the same lists has not been measured, so these pages name GPT-6 Sol and never ChatGPT.
  • Whether a title and an opening in the words GPT-6 Sol searches move a page into its 24 to 32 results has no evidence yet, and the front of its lists is held by large sites and forums: of the dry run’s eight discovery lists (the six category queries and two of Claude’s, probed for comparison), techradar.com was in all eight, reddit.com in seven and arxiv.org in four. The first four weeks are read as an experiment; if the check rows show nothing, the page-writing stops and the lever is the third-party pages.
  • The probes share the measurement account’s quota with the AI Visibility readout. A usage limit pauses the round 15 minutes; a round that cannot finish records the probes it has, with the denominator to match.
  • A post or page the agent changes goes live without a person reading it, as with Claude Visibility. The review sends back a contradiction or a number given two ways; what it cannot catch is a file that was itself wrong. The changes table, the changelog and the commit name every change, and a person can revert one from there.

FAQ

Questions about this agent

What does the agent change on the site?

Blog posts and the text of the marketing pages, through the same machinery as Claude Visibility: a new post in the words GPT-6 Sol searches for a buyer question no page answers, or a revision of a post’s or a page’s title, opening and one section. Every piece passes a separate content review before it ships; a piece sent back is reverted and the record says so. The reviews and listicles that hold the queries are proposals for a person, and the Reddit threads go to the Reddit comment agent.

Why probe GPT-6 Sol’s search and not Bing?

OpenAI’s search is said to draw on Bing’s index, but GPT-6 Sol does its own ranking: on 2026-10-18, zero to three of the 25 to 32 results it got for a query were in DuckDuckGo’s top ten, which stood in for Bing’s. Bing can say whether a page is in an index, not whether GPT-6 Sol will list it. Probing the Codex CLI’s search measures what GPT-6 Sol gets.

There is nowhere to submit a page to OpenAI. What happens to a page it cannot find?

The morning run hands it to Bing’s URL submission API, at most once every 14 days, and records the date on the page’s row. Whether that reaches OpenAI’s index is not known; the check rows read whether a submitted page becomes findable within four weeks, and if none does, the step is dropped.

Why does it hand Reddit threads to another agent?

GPT-6 Sol reads Reddit as a source: reddit.com was in seven of the dry run’s eight discovery lists, with 56 results from 39 threads. The agent writes the threads its searches keep returning to Workflows/gpt-visibility/threads.json, and the Reddit comment agent reads that list two days a week under its own rules. This agent never touches Reddit.

Why is this agent separate from Claude Visibility?

The two engines read different pages: for the same buyer questions, GPT-6 Sol’s results and Claude’s share zero to three domains, so a diagnosis or a page proposal for one says little about the other. What they share is the page-change machinery, and its cooldowns are read across both, so the same page is never changed twice in one week.