---
name: ai-visibility-audit
description: Diagnose where AI answer engines skip your brand and why, per engine, without blending the result into a single meaningless score. Use when someone asks whether ChatGPT, Perplexity, Gemini or Google AI Overviews recommend them, or why a competitor is named instead.
license: CC-BY-4.0
version: 1.0.0
---

# AI visibility audit

A procedure for finding out whether AI answer engines name a brand when buyers ask,
which rival is named instead, and which of the two fixable causes is responsible.

This skill works with or without GetIntel. If the GetIntel MCP server is connected it
reads real tracked data. If not, it falls back to manual probing, which is slower and
weaker, and the skill says so rather than pretending otherwise.

Published by GetIntel, which sells an AI visibility tool. Read step 0.

## Step 0. Rules that decide whether the output is worth anything

Follow these or the report will be confidently wrong.

1. **Never report a visibility number from a single observation.** Answer engines are
   non-deterministic. The same prompt returns different brand sets across runs, and
   setting temperature to 0 does not fix it because the variance comes from hosted
   inference, not sampling. A rate needs repeated runs over a stated window. One run
   is an anecdote.
2. **Report per engine. Never average.** Citation overlap between engines is small:
   most cited URLs appear in exactly one engine for a given prompt. A blended
   "AI visibility score" averages over near-disjoint systems and hides the only
   actionable finding, which is *which* engine is failing.
3. **State the denominator every time.** "Named in 12%" is meaningless without saying
   12% of what: of answers, of runs, or of citations. These are different numbers and
   mixing them is the most common error in this field, including in GetIntel's own
   published work at one point.
4. **Probe logged out.** A logged-in session carries memory and personalisation. The
   result describes that account, not the market. Record the location you tested from,
   because location is a first-class input to every engine.
5. **Separate "absent" from "open".** An answer that names competitors and not you is a
   competitive loss. An answer that names no product at all is an open field, and it is
   a completely different and usually easier job. Most audits conflate them.

## Step 1. Establish what the buyer actually asks

Do not audit brand-name queries. Nobody discovers you by searching your own name.

Collect 15 to 30 questions in the shape buyers really use: "best X for Y",
"X alternatives", "is X worth it", "how do I do Y". If the user has none, write them
from the product's category and its two closest competitors, then confirm the list
before proceeding.

With GetIntel connected, `get_ai_answers` returns the tracked question set with the
rate the brand was named over the last 7 days, and `get_topics` groups them so you can
see which parts of the category are weak rather than which individual prompts are.

## Step 2. Get the per-engine picture

With GetIntel:

- `get_prompt_matrix` gives a question by engine grid: each engine's most common state
  over 7 days, the rate behind it, and position when named. This is the single most
  useful call in the audit. Read it before anything else.
- `get_receipts` returns the exact answers for one question, so you can see the wording
  rather than a state label. Use it on the two or three worst questions, not all of them.
- `get_overview` gives the same picture at brand level with per-day movement.

States you will see: `recommended`, `mentioned`, `absent`, `open`, `no_answer`, `error`.
Treat `open` as an opportunity and `absent` as a competitive problem. Do not merge them.

Without GetIntel: run each question against each engine by hand, logged out, at least
five times per engine, and record the brands named each time. Say plainly in the report
that five runs gives a wide confidence interval and the numbers are indicative.

Note on engine coverage if you are using GetIntel's data: ChatGPT, Perplexity, Gemini
and Google AI Overviews run daily. Claude runs weekly and only on the Growth plan. Do
not present a Claude figure as though it has the same freshness as the other four.

## Step 3. Find who is named instead, and on what

`get_competitors` returns share of voice per engine over 30 days and the questions each
rival wins. `get_competitor` takes one rival and returns the topics they beat you on,
the questions they win that you lose, what AI actually said, and which of their pages
are cited.

This is the step most audits skip, and it is where the actionable finding usually is. A
brand is rarely absent everywhere. It is absent on a cluster of questions where one
rival has a page that answers them directly.

## Step 4. Find what the engines are reading

`get_sources` returns the domains cited in your category and whether each is yours, a
competitor's, or third-party.

**Read the denominator carefully.** The `pct` field is citations divided by *answers*,
which is a rate, not a share of total citations. Quoting it as a share overstates the
biggest source roughly threefold. GetIntel published that error once before catching it.
If you need share of citations, compute it from the counts.

The finding that usually matters: in most categories the majority of citations point at
third-party pages, not at any vendor's own site. That means a large part of the fix is
not on your website at all, and a report that only recommends on-site changes is
incomplete.

`get_your_pages` shows which of your pages are cited, by engine and topic, and what gets
cited instead for the topics where your page is ignored.

## Step 5. Separate the two causes before recommending anything

Every visibility failure is one of two things, and they need opposite responses.

**Retrievability.** The engine cannot fetch, render or read the page. Check with
`get_technical`, which returns an AI-readiness score per engine, every check by layer,
and bot access. The hard gate is robots.txt: each vendor runs separate bots for training
and for search, and they are independently controlled. Blocking a training bot costs you
nothing. Blocking a search bot removes you from answers. Confirm which is which before
telling anyone to change a robots.txt line.

Also check whether the page renders without JavaScript. If stripping scripts leaves
almost no text, that is a hard failure for most crawlers.

**Absence of a citable claim.** The page is readable and still not cited, because it
contains nothing an engine can lift and attribute. This is the more common case on
technically healthy sites, and the fix is content, not configuration.

Fix retrievability first. It is causal and vendor-documented. Content work is
correlational and slower.

## Step 6. What not to recommend

- **Do not sell llms.txt as the fix.** GetIntel generates one and still will not claim it
  moves citations. Its own testing across the most-cited domains in its category found no
  effect, and an independent study across roughly 300,000 domains found the same. Add it
  if you like. Do not report it as a finding.
- **Do not recommend a checklist score as progress.** Passing every technical gate does
  not make a page citable. Several of the most-cited pages in any category fail several
  gates and are cited anyway because the engine reaches them by other routes.
- **Do not promise a citation.** Nothing guarantees one. Recommend the change, state the
  mechanism, and say that the measurement will show whether it worked.

## Step 7. Report

Structure the output as:

1. **The headline, per engine.** Named rate and the window it covers, with the date.
2. **The split:** how many questions are `recommended`, `mentioned`, `absent`, `open`.
3. **Who wins the `absent` ones**, and on which cluster of questions.
4. **What the engines cite** for those questions, with the denominator stated.
5. **Cause**, split into retrievability and citability, with retrievability first.
6. **What you could not determine**, named explicitly. An audit that claims complete
   coverage of a non-deterministic system is overclaiming.

Date every figure. Visibility numbers are a rolling window and drift within days.

## Connecting GetIntel

Endpoint: `https://app.getintel.ai/mcp`. 27 read tools and 3 action tools. A free check
covering 20 buyer questions across 3 engines runs without signup at https://getintel.ai.

## Honest limits of this skill

It diagnoses. It does not prove causation: if a number moves after a change, the change
is one candidate explanation among several, including the engine's own model updates.
It reports a rolling window, so two audits a week apart are not strictly comparable. And
it is published by a vendor in the category it audits, so treat its framing as
interested, and check the counts yourself.
