Notesai-search14 min

AI Search Audit Full: an SEO audit that quotes its rules

A free, open-source Agent Skill that audits one page or up to 50 pages for Google, Bing and AI assistants, and backs every finding with the rule it rests on, quoted from the source. We ran it on our own site; here is what it found, and how to read it.

The short answer

what
AI Search Audit Full 2.111, an open-source Agent Skill: 122 problem codes checked against 83 verbatim rule quotes and 39 rules it labels as its own, an answer map, a heat map, a site report for up to 50 pages, before/after compares and a local history.
why
Because an audit finding is only as useful as the reason behind it. A list of problems without the published rule invites an argument; a list with the rule quoted and linked invites a fix.
who
SEO specialists who need to answer "says who?" for every finding, content leads who own pages that should be quoted by AI assistants, and developers who get the fix tickets.
where
On GitHub under the MIT licence. It runs in Claude Code, Codex, opencode, Hermes Agent and other agents that load SKILL.md skills, or as a zip in claude.ai and the Claude desktop app.
when
Released on 18 October 2026. The example audit quoted here read three getlooploop.com pages live on 17 October 2026; the rule quotes were matched against their pages the same day.
how
Bundled Node scripts fetch, read and check the pages with no model or embedding calls; the agent running the skill writes the judgement parts, which the report labels with its model. Nothing is sent to GetLoopLoop.

In plain words

Before Google or an AI assistant can show your page, three things have to go right: its robot has to be allowed in, the page has to say clearly what it is, and the words have to survive the robot's reading. This free tool checks all three on your own computer and makes a list of what went wrong. For each problem it says, in plain words, what is wrong; then it copies the exact sentence from Google's or another official rulebook that says why; then it gives a hint for fixing it. It can check one page or fifty, and it remembers past checks, so next time it can tell you what got better.

Most audits end in an argument. The tool says the page has a problem, somebody asks who says so, and the answer is a score or a vendor's opinion. AI Search Audit Full is built the other way round. Every problem it reports carries the rule it rests on, quoted word for word from the source that published it, with a link and the date the quote was checked. Where nobody publishes a rule, it says the threshold is its own.

We introduced the skill beside Vectorscope and Lite in AI reads your page in pieces. Three free skills show which ones. This piece goes deeper into Full alone, at version 2.111: what it checks, what it found on our own site, the four things it gained since that article, and where its limits are.

What it checks

Before Google, Bing or an AI assistant can show or quote a page, three things have to hold. A crawler has to be allowed in, by robots.txt and by the page's own robots tags. The page has to say what it is: title, description, canonical, structured data, language versions. And the text has to survive the machine's reading: what a cleaner keeps, how it is cut into passages, and what falls past the point where a retriever stops.

Full checks all three against published rules, then adds three readings only an AI can make: the questions people would ask about the page, how the agent's own model describes the brand, and what it believes about the brand's reviews. Those readings are marked as the model's estimate, with the model named, everywhere they appear.

Its example in the repository is a three-page site audit of getlooploop.com: the Vectorscope page in English, Ukrainian and Spanish, read live on 17 October 2026.

Three rows, one per audited page. /vectorscope: 25 of 35 checklist items pass, 4 warn, 1 fails, 3 have nothing to check and 2 are not measured; 19 findings, 0 blocking, 0 high, 7 medium, 12 low; 12 of 12 AI and search crawlers allowed. /uk/vectorscope: the same checklist; 21 findings, 0 blocking, 0 high, 8 medium, 13 low; 12 of 12 crawlers allowed. /es/vectorscope: the same checklist; 18 findings, 0 blocking, 0 high, 7 medium, 11 low; 12 of 12 crawlers allowed.
AI Search Audit Full 2.110 on three getlooploop.com pages, read live on 17 October 2026: the 35-item checklist, findings by severity, and crawler access.

The headline first, because it is the reason to run an audit at all: nothing blocks these pages. All twelve crawlers the skill checks, from Googlebot and Bingbot to OAI-SearchBot, Claude-SearchBot and PerplexityBot, are allowed. No finding is blocking or high. On each page 25 of the 35 checklist items pass outright.

The one item that fails is the useful kind. The checklist's broken-links check found two links in the "Keep reading" block that lead to 404 pages: /notes/what-is-semantic-chunking and /notes/optimise-content-for-ai-search, on all three language versions. We had not noticed. Both pages had been planned and never written; on 23 October, while writing this, we pointed the block at articles that exist. An audit that finds something real on its authors' own pages, and gets it fixed the same day, is doing its job.

Every problem comes with its rule

Each finding in a Full report opens into three layers, written for three readers.

What goes wrong is for a manager or a junior: plain words, no advice. For the broken links: "Links on the page lead to an error page. People who follow them hit a dead end, and search engines drop such addresses from their index."

What the rule says is for whoever asks "says who?": a short quote from the official source, its link, and the date it was checked. For the same finding it quotes Google's page on HTTP status codes:

In the case of Google Search, Google doesn't index URLs that return a 4xx status code, and URLs that are already indexed and return a 4xx status code are removed from the index.

Google Crawling Infrastructure, HTTP status codes, as quoted by the skill and checked on 17 October 2026

The fix direction is for the developer, terse and technical, folded inside "Details for specialists" so it never crowds the plain layer: "Update or remove hrefs that return 4xx or 5xx; 301 moved targets to their new URL."

The same pattern explains findings that are not errors at all. The pages carry FAQPage markup, and the audit reports it as low: the markup "does no harm, but it no longer earns the expanded result it was once added for", because, in the words it quotes from Google's documentation updates, "The FAQ rich result feature is no longer shown in Google Search results". The fix direction is honest about the choice: nothing required for Google; keep it if another consumer reads it, or remove it to lighten the page.

Bar chart of the 83 rule quotes by publisher, each with its favicon: Google Search Central 53, W3C 8, WHATWG 5, web.dev 3, MDN Web Docs 3, RFC Editor 2, the llms.txt proposal 2, the Open Graph protocol 2, sitemaps.org 2 (no favicon, shown as an empty square), OpenAI 1, Anthropic 1, IndexNow 1. Below, a dashed bar: 39 rules the skill labels as its own, with no quote attributed to anyone. In all, 122 problem codes.
Where AI Search Audit Full 2.111 takes its rules from: 83 verbatim quotes and 39 of its own, across 122 problem codes.

Counted from the skill's own rule table (explain.mjs and rules.mjs), 122 problem codes rest on 83 quotes and 39 rules of its own. Google Search Central supplies 53 of the quotes, which is what you would expect of an audit for search. The rest come from the standards bodies (W3C, WHATWG, the IETF's RFC 9309 for robots.txt), MDN, and the AI companies' own crawler pages: the OpenAI quote is the one that decides whether a site can appear in ChatGPT's search answers at all.

The 39 own rules matter as much as the 83 quotes. A passage that starts mid-sentence, a section thinner than the skill's threshold, an llms.txt that lists one language on a three-language site: nobody publishes a rule for these, so the report says "This skill's rule" and the README names the threshold. Nothing is attributed to Google that Google did not write. And the quotes are not a snapshot taken once: npm run verify-rules fetches every source again and compares each quote word for word.

The answer map: which questions the page can answer

New since our first article, the answer map puts the questions people would ask about a page in one table: whether the page answers each one, a quality out of 100, and what is missing. The questions and verdicts are the agent's judgement; the quality is a fixed sum the script computes, so the same files always give the same number. A complete answer earns 50 and a partial one 25; an answer quotable on its own earns 25; an answer that opens its passage, measured by the script, earns the last 25. A partial answer can never reach 100.

Try it on your own page

See what Voicescope finds on a page of yours

Everything above is measurable on your own work, and the check takes about a minute. Paste one address and read what comes back.

Open Voicescope

Free · no account · one at a time

The answer map for getlooploop.com/vectorscope: 12 questions, 6 answered, 4 in part, 2 not answered, quality 48 out of 100. Not answered, 0 of 100: can I paste a link to a PDF, and can it read a page behind a login; both marked add first. In part, 25 of 100: will an assistant see the FAQ at the bottom (add first), can I check a page from my phone, will text loaded later by a React app be read, and is there a limit for twenty pages. Answered, 75 of 100 and quotable alone: five questions about the passage count, long guides, keeping a copy, cutting by headings or meaning, and window size. Answered, 100 of 100, quotable alone and opening its passage: whether the tool can tell if a page is indexed. The same questions score 50 out of 100 on the Ukrainian and Spanish pages.
The answer map, computed with the 2.111 formula from the committed judgement files of 17 October 2026. The README's screenshot of the same page shows the same 48/100.

Read from the bottom, the page is in good shape: half of the twelve questions get a complete answer that can be quoted on its own, and one, "can this tell me if it's indexed?", gets a perfect answer that opens its passage: "This does not establish that any assistant has indexed the page." Read from the top, it is a content brief. Nothing on the page says whether a PDF link works, or what happens to a page behind a login, and the launch-day question about the FAQ below the cut is answered only in part. The three "add first" labels are the next three paragraphs to write, ordered for you.

The quality is deliberately strict. Five complete answers stop at 75 because their answer sits in the middle of a passage rather than at its start. Assistants quote passages, and the first sentence of a passage is the one most likely to be quoted, so the score rewards the answer that comes first.

Heat: where on the page the problems sit

A list of nineteen findings does not say where to start. The page map does: it draws the page as a schema, from <head> and robots.txt down to the footer, and pins each finding to the place it was found. Since 2.111 each place is also shaded by heat, its findings weighted by severity (blocking 8, high 4, medium 2, low 1) against the hottest place. The site report's grid of pages and problems is shaded the same way.

A grid of places on the page against the three audited pages, shaded by weighted findings. <head>: 5 on every page. robots.txt and llms.txt: 1 on every page. The hero: 3, 5 on the Ukrainian page, 3. Important passage outside the cap: 1 on every page. How to read your result: 4 on every page. What is semantic chunking: 1, 0, 2. Keep reading: 6, 6, 5, the hottest place. Every other place, from the site header and the sidebar (not read) to the footer: 0. Not tied to one place: 5, 6 and 5 findings.
Heat on the page map, AI Search Audit Full, getlooploop.com, 17 October 2026, from the committed exports and the weights in heat.mjs.

The picture is reassuring and specific at once. Nine or ten of the fourteen places on each page carry no finding at all. The heat sits in three: the "Keep reading" block at the bottom (the broken links, a passage that starts mid-sentence, a repeated sentence shape, a partial answer), the <head> (a required field missing from the structured data, two retired rich results, the page's weight), and the "How to read your result" section, which is long enough to be cut mid-sentence. Three fixes, in three known places, on three pages built from one template: one ticket, not nineteen.

The hero on the Ukrainian page is the one place where the language versions differ: it reads 5 there and 3 elsewhere, because the audit's keyword check found the Ukrainian page's main phrase confined to few sections. That is the kind of difference a site report exists to show.

How generated the text sounds

Since 2.109 the bottom of every page report carries a block called "How generated the text sounds". It puts three readings side by side: the Pattern score from the writing patterns (stock phrases and repeated sentence shapes, counted with their positions), the words language models are known to overuse, and the agent's swap test, a verdict per passage on whether it could be pasted into a competitor's page unchanged. Where the agent and the script disagree, both are shown, never averaged. It is not an authorship detector, and the block says so.

PagePattern scoreOverused wordsGeneric passages (swap test)
/vectorscope1 of 10004 of 17
/uk/vectorscope2 of 10004 of 17
/es/vectorscope0 of 10005 of 18
How generated the text sounds, getlooploop.com, from the committed exports of 17 October 2026.

Low scores across all three languages, and not one overused marker word. The passages the swap test calls generic are the caveats ("This does not establish that any assistant has indexed the page") and the "who is it for" paragraph: sentences that any tool's page could carry, which is a fair note for an editor. The value is in the positions: each signal points to a passage and a word, so a reviewer can check the claim in seconds rather than trust it.

A history that outlives the chat

Every run is saved as a snapshot, and every report shows what changed since the last one: title, description, canonical, h1, word count, schema types, robots.txt and each bot, hreflang, passages new, lost and changed, and findings fixed, new and unchanged. Since 2.110 the history lives in the user's own folder, ~/.ai-search-audit/history, which a new chat, a new working folder or a new version of the skill does not reset. And because a chat sandbox such as claude.ai may forget its disk, every report also carries the whole history inside it: --history-from report.html takes it back on the next run.

The committed example shows how carefully the drift is read. The first run of /vectorscope, on 16 October, read a saved copy and found 18 problems; the live run on 17 October found 19. Nothing got worse. A saved file has no HTTP response headers, so the first run reported the security-headers check as not measured; the live run measured it and found three headers missing. The drift records the word count going from 2,463 to 2,469 and exactly one of the 17 passages changing. /es/vectorscope, read live twice less than a minute apart, shows 18 and 18 and no change, which is what a stable audit should say.

What changed since 2.106

Five releases in two days, from the repository's commit history:

VersionDateWhat it added
2.10717 Oct 2026The GetLoopLoop mark in the brand blue
2.10817 Oct 2026Refuses a Russian domain, Russian hosting or a page that declares a Russian-language version
2.10918 Oct 2026How generated the text sounds; the reports in Polish
2.11018 Oct 2026The history outlives the chat, the folder and the version
2.11118 Oct 2026The answer map; heat on the page map and the site matrix; Vectorscope 2.111 synced
From the package versions and commit messages in the repository, 17–18 October 2026.

Install and run

The skill needs Node 20.18 or later and no npm install: its scripts are bundled. For Claude Code, clone the repository and copy the skill folder into your skills folder (Codex, opencode and Hermes Agent take the same folder in their own paths, listed in the README):

gh repo clone Olexan-art/ai-search-audit-full
mkdir -p ~/.claude/skills
cp -r ai-search-audit-full/skills/ai-search-audit-full ~/.claude/skills/

Then ask the agent in plain words: "an AI search audit of https://example.com/page", or "audit these pages of my site". For claude.ai and the Claude desktop app, download ai-search-audit-full.zip from the repository's releases, turn on code execution, and upload it under Customize > Skills without unpacking it. Under the hood the agent runs two scripts, with its own judgement files in between:

# one page
node dist/read.mjs https://example.com/page --out reading.json
# the agent writes questions.json, style.json, brand.json and reviews.json
node dist/audit.mjs reading.json --questions questions.json --style style.json \
  --brand brand.json --reviews reviews.json --html report.html --json export.json

# a site, at most 50 pages
node dist/read.mjs --sitemap https://example.com/sitemap.xml --out-dir readings
node dist/audit.mjs --site readings/site.json --questions-dir questions \
  --style-dir style --brand brand.json --reviews reviews.json --out-dir report

# before and after: add an older export to the one-page command
#   --compare old-export.json

A site audit is polite by construction: pages are read one at a time, at least a second apart, longer when robots.txt sets a crawl delay, and only where robots.txt lets it in. In the example, 81 requests went out for three pages and 39 more were answered from memory, because robots.txt, the sitemap and shared links are fetched once.

What it doesn't do

  • No score for the page. Findings, each with its evidence and its rule; never a number out of 100 for the page as a whole. The answer map's quality is per question.
  • No field data, no index status. Core Web Vitals and "is this in Google's index" are always reported as not measured: they need real-user data and Search Console.
  • No prediction of what assistants answer. The brand and review readings are one model's knowledge, labelled with that model's name. On our pages the model, Claude Opus 5.5, did not know GetLoopLoop, and the audit says exactly that.
  • Not a whole-site crawler. At most 50 pages; site-wide checks see only the audited set, and the report says that an orphan page there may still be linked from outside it.
  • Public pages only. No login, no cookies, no private addresses, and no JavaScript rendering unless asked. Every cap is named in the report, never applied silently.

Questions people ask about AI Search Audit Full

Is AI Search Audit Full free?

Yes. It is open source under the MIT licence and runs on your own agent and machine. Nothing is sent to GetLoopLoop.

How is Full different from AI Search Audit Lite?

Full runs every Lite check and adds a plain explanation, the quoted rule and a fix direction for each problem, audits up to 50 pages with a site report, compares runs, and keeps a local history.

Does it call an AI model or an embedding API?

The scripts call no model and no embedding API. The agent running the skill writes the judgement parts, such as the questions and the brand reading, and the report labels them with its model.

Where do the rules come from?

83 rules are quoted word for word from their sources, 53 of them from Google Search Central, each with a link and the date it was checked. 39 rules are the skill's own and are labelled that way.

Can it audit a page without network access?

Yes. Save the page as HTML, and its robots.txt if you can, and give both to the agent; every check that needs the network is marked as not checked.

The verdict

On three real pages, the audit did what an audit should. It cleared the things that would have been serious, with evidence: every crawler allowed, no blocking or high findings, 25 of 35 checks passed. It found a real defect its own authors had missed, two dead links, and explained it in a sentence a manager can read, a rule a specialist can check, and a fix a developer can apply. It turned twelve questions into a ranked list of three paragraphs to write, and nineteen findings into three hot places on one template. And every one of those claims can be checked: the rules against their sources, the numbers against the files in the repository.

That is the case for running it before you publish, and again after you fix. Install it from GitHub, point it at the page that matters most, and read the first thing it finds. The rest of the setup is on Agent Skills for SEO, GEO and marketing teams, and what the assistants actually say about your brand, measured over weeks rather than once, is what GetLoopLoop is for.

The product

Watch it on every page, every day

One reading tells you where a page stands today. The product asks the same questions of the same assistants continuously, so a change is something you are told about rather than something you go looking for.

Request an invitation

Invite-only while we keep the readings honest

On this topic

Is my page ready for AI search?

Every day Crawls with the Vectorscope reading beside every page, re-checked after each fix. How the product works

Author

Olexandrauthor

15+ years in marketing and SEO. Dozens of products, mostly the US market. Research and measurement.

LinkedIn

Pass it on

Read in your language

Opens a browser translation of this English article. The original source stays in English.