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.
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.
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.
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.
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.
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.
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.
panel.json, targets.json and the Codex CLI
44 probe records: the query, what the session issued, the 24 to 32 pages that came back with title, URL, domain and snippet
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.
targets.json
titles.json
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.
The probe records, titles.json and the AI readouts of the last seven days
analysis.json
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.
This round’s analysis and the previous one’s
summary.md: counts, positions and page titles; there is no answer text to keep out
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.
analysis.json and the Bing Webmaster API key of the Bing Visibility agent
Bing submission dates in targets.json; Workflows/gpt-visibility/threads.json
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.
summary.md, the previous round’s record and the changes table
The record’s narrative, the due rows filled, proposals a person decides on
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.
The morning’s analysis, the week’s AI readouts, the target pages, both agents’ changes tables
New or revised posts and pages, their rows, a step on the day’s record
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 logGuides 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.
- 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.
- 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.
- 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.
- 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.
- 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.
SKILL.md
Workflow · Markdown. The steps above and the definitions table, as the runner reads them.
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.
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.
titles.mjs
Script · Node. The live title of every target page, one plain request each.
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.
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.
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.
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.
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.
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.
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.
Would you rather we ran this agent for you? There is a managed service for that.
Talk to usOther agents