---
title: "AI prompt observation report | SEO Skill"
description: "Check fixed prompts against exact current AI models, retain answer and citation evidence locally, and compare only compatible observations over time."
canonical: "https://seoskill.dev/docs/reports/ai-prompt-observations"
language: "en"
---

# AI prompt observation report

See what a small set of AI models returned for the questions that matter now. Every answer keeps its prompt, model, settings, citations, cache state and exact cost, so later changes can be compared without inventing a visibility score.

## Install and run the report

Install the CLI once, then run `seo start` to connect your site and Google data. After setup you can run this report yourself or ask your agent to run it.

Install the SEO CLI globally.

```
npm i -g seo
```

Run setup after installation.

```
seo start
```

Record one fixed prompt against an exact current model.

```
seo reports run ai-prompt-observations --params '{"prompts":[{"id":"analytics-tools","prompt":"Which privacy-friendly analytics tools suit a small publisher?"}],"models":[{"surface":"chatgpt","model":"current-model-name"}],"target":{"label":"Example Analytics","domains":["example.com"]},"countryCode":"GB","languageCode":"en"}' --json
```

## What you get from this report

Run a small fixed set of prompts against explicit current AI models, retain the evidence locally, and compare only like-for-like observations.

Best for

You need the current answer, mentions, or citations for a small decision-critical prompt set.

Needs

Fixed prompts and exact model names

You get

One evidence envelope per observation with the answer, citations, supporting searches, model, token use, task id, cache state, coverage, checked time, and cost.

Use next

Research AI mentions and citations

## What you need before you run it

This report uses dataForSEO response evidence for each exact prompt, surface, chosen model, model the provider actually ran, market label, web-search setting, and collection time. optional retained Search Console query and landing-page rows for a property you own. earlier local observations with the same comparison key.

### Fixed prompts and exact model names

Defines up to five prompts and four current ChatGPT, Claude, Gemini, or Perplexity models. The free model catalog is checked before paid work.

### Named target and competitors

Supplies aliases and domains used to find answer mentions and citations without relying on provider-specific target fields.

### Optional Search Console query rows

Adds bounded first-party query and landing-page context for a property you own.

### Live AI response evidence

Provides answer text, citations, extra supporting searches returned as fan-out queries, the model the provider actually ran, token use, task id, cache state, and exact returned cost.

## What the AI search evidence checks

The report uses observed crawl, search or referral evidence. It keeps technical access, assistant visibility and recorded visits as separate questions.

01

Rejects unknown models, unsupported web search, more than 20 prompt and model combinations, and invalid output-token limits before paid acquisition.

02

Caps live work at 20 requests and concurrency at four, then bounds retained answers, citations, fan-out queries, first-party matching work, local history, and agent output.

03

Keeps base-fee estimates separate from exact returned task cost and keeps unavailable observations visible instead of converting them to zeros.

04

Compares only fresh, complete, untruncated observations with the same provider, prompt, requested and effective model, market label, web-search setting, and output-token limit.

## Keep access, visibility and visits separate

A page can be crawlable without appearing in an answer. A mention can also happen without sending a measurable visit. Read the evidence for the question this report actually answers.

| Read first | Why it matters |
| --- | --- |
| Result | One evidence envelope per observation with the answer, citations, supporting searches, model, token use, task id, cache state, coverage, checked time, and cost. |
| More detail | Named-target matches, cited-domain summaries, like-for-like change evidence, repeated supporting-search themes, optional Search Console overlap, findings, warnings, caveats, and next steps. |
| Read it with | Read data status, source coverage, warnings, cache state, effective model, citations, exact returned cost, and first-party status before reading target matches or change findings. |

## What the result cannot prove

The market and language label separates each fixed prompt set, but the provider does not expose the same location or language controls on every AI surface. Prompt wording remains the direct language instruction. Supporting-search themes and Search Console word matches are bounded research leads. They do not prove shared intent, independent demand, a content gap, or the value of a programmatic template.

Read data status, source coverage, warnings, cache state, effective model, citations, exact returned cost, and first-party status before reading target matches or change findings. Treat every answer as one observation under its recorded configuration. A missing mention applies only to that retained sample. Repeat only prompts that matter, using the same exact configuration. Start a new baseline when the effective model changes.

Schedule only a small stable prompt set. Keep prompts, exact models, market labels, web-search settings and output-token limits fixed, and start a new baseline whenever an effective model changes.

## Use a different report for these jobs

You need a universal visibility score, an assistant ranking, or proof that a target never appears. You need broad provider-indexed mention research rather than a maximum of 20 live answer requests.

[

### You want broader provider-indexed mention counts, cited domains, or related question samples for one market.

Run AI mention research. It queries a bounded indexed dataset instead of generating a fresh answer for every supplied prompt and model.

AI mention research report

](https://seoskill.dev/docs/reports/ai-mention-research)[

### You need a prompt set grounded in searches already associated with the site.

Build a stable prompt seed set from retained Search Console queries first, then choose a small decision-critical subset for live observation.

AI search query report

](https://seoskill.dev/docs/reports/seo-to-ai-query)[

### You need measured visits from known AI products.

Run AI referrals. A generated answer or citation does not prove that a visit reached the site.

AI referral traffic report

](https://seoskill.dev/docs/reports/ai-referrals)

## Use the report with an agent or in code

The command above is enough for most work. These options let an agent, script or application run the same report with explicit input and structured output.

### CLI

Use the report catalog when an agent, script or CI job needs predictable JSON instead of the normal terminal output. Check the current input first, then run the report with the validated parameters.

Check the current input before the agent or script runs the report.

```
seo reports describe ai-prompt-observations --json
```

Once the input is valid, run the report through the report catalog.

```
seo reports run ai-prompt-observations --params '{"prompts":[{"id":"analytics-tools","group":"commercial","prompt":"Which privacy-friendly analytics tools suit a small publisher?"}],"models":[{"surface":"chatgpt","model":"current-model-name"}],"target":{"label":"Example Analytics","aliases":["Example"],"domains":["example.com"]},"competitors":[{"label":"Competitor Cloud"}],"countryCode":"GB","languageCode":"en","site":"sc-domain:example.com"}' --json
```

### MCP

An MCP agent follows the same two-step flow. It inspects the current schema, fills the required fields and only then runs the report.

Ask the MCP server for the current report input.

```
{
  "id": "ai-prompt-observations"
}
```

Run the report after the agent has checked and filled the input.

```
{
  "id": "ai-prompt-observations",
  "params": {
    "prompts": [
      {
        "id": "analytics-tools",
        "group": "commercial",
        "prompt": "Which privacy-friendly analytics tools suit a small publisher?"
      }
    ],
    "models": [
      {
        "surface": "chatgpt",
        "model": "current-model-name"
      }
    ],
    "target": {
      "label": "Example Analytics",
      "aliases": [
        "Example"
      ],
      "domains": [
        "example.com"
      ]
    },
    "competitors": [
      {
        "label": "Competitor Cloud"
      }
    ],
    "countryCode": "GB",
    "languageCode": "en",
    "site": "sc-domain:example.com"
  }
}
```

### TypeScript

Install the package in a Node 22 project when your application needs to run the report directly. The result includes the same evidence, warnings and limits returned through the CLI and MCP server.

Add the SEO package to your project.

```
npm install seo
```

Run the report from your TypeScript application.

```
import { executeReport } from 'seo/mcp'

const result = await executeReport(
  'ai-prompt-observations',
  {
  "prompts": [
    {
      "id": "analytics-tools",
      "group": "commercial",
      "prompt": "Which privacy-friendly analytics tools suit a small publisher?"
    }
  ],
  "models": [
    {
      "surface": "chatgpt",
      "model": "current-model-name"
    }
  ],
  "target": {
    "label": "Example Analytics",
    "aliases": [
      "Example"
    ],
    "domains": [
      "example.com"
    ]
  },
  "competitors": [
    {
      "label": "Competitor Cloud"
    }
  ],
  "countryCode": "GB",
  "languageCode": "en",
  "site": "sc-domain:example.com"
},
)

console.log(result)
```

## What to do next

Open the exact answer, citations, effective model, cache state and returned cost before acting on a match. Validate repeated themes against keyword, result and existing page evidence before planning content or a programmatic template.

1.  01Inspect the full answer, citations, effective model, cache state, and cost before acting on a target match.
2.  02Validate repeated themes with keyword metrics, current search results, and existing page evidence.
3.  03Check source rights, stable identifiers, field coverage, missing values, useful variation, and representative output before scaling a programmatic template.
4.  04Repeat only prompts that matter, using the same exact configuration. Start a new baseline when the effective model changes.

## Related reports

[

Compare provider-indexed mentions, cited domains, and bounded question samples for one AI surface and market, then add Search Console overlap when you own the site.

AI mention research report

](https://seoskill.dev/docs/reports/ai-mention-research)[

Turn real Search Console queries into prompts for repeatable AI answer monitoring.

AI search query report

](https://seoskill.dev/docs/reports/seo-to-ai-query)[

Check a limited keyword set against independent market estimates while keeping missing fields, provider coverage, cache status, and local request cost visible.

Keyword metrics report

](https://seoskill.dev/docs/reports/keyword-metrics)[

Inspect one bounded search snapshot with exact retained organic ranks, market context, result features, provider coverage, cache status, and request cost.

Live SERP results report

](https://seoskill.dev/docs/reports/serp-results)[

Extend observed template and query-cluster evidence with optional keyword discovery, live results, competitor patterns, costs, and data-source checks.

Programmatic SEO opportunities

](https://seoskill.dev/docs/reports/pseo-opportunities)[

See which known AI products sent referral sessions recorded by Google Analytics and which landing pages received them.

AI referral traffic report

](https://seoskill.dev/docs/reports/ai-referrals)

## Sources used by this report

These primary sources define the provider data or search controls used by the result.

-   [DataForSEO AI Optimization API reference](https://docs.dataforseo.com/v3/ai_optimization/overview/)
-   [Search Console Search Analytics API guidance](https://developers.google.com/webmaster-tools/v1/how-tos/search_analytics)
