AEO Lost-Citation Alert
Compare yesterday's AI answers with the prior week to find lost citations, competitor takeovers and wins. Get a daily action list, referral traffic and owner-only escalation.
At a glance
AEO Lost-Citation Alert is an AI skill for sales & marketing teams that you can use in Claude Code, Codex, or type.com. It works with Google Analytics.
- Works with
- Google Analytics
- Updated
What it does
- Preserve exact lost-name, lost-citation, takeover, win and new-source thresholds.
- Turn competing-source evidence into at most three concrete actions.
- Keep detailed evidence in a shared Alert log and escalate only at defined thresholds.
Before you start
- AI-answer tracker with paginated answers, monitors and prompt text; Promptwatch is the default.
- Brand, owned domains, competitor list, monitors and engines.
- GA4 property and existing signup conversion events.
- Report channel, configured owner, timezone, AEO master doc and tracking registry.
See an example
Example output from a sample run. Company names and figures are sample data.
Real dry run on type.com's own site and tracking, Oct 22, 2026. Nothing was posted. Some names and contact details are redacted.
Posts to the report channel, daily at 6:30am:
*AEO alert — Wed, Oct 22* · 3 lost · 5 takeovers · 2 wins · AI referrals 7 (0 same day last wk)
*Do next*
1. agent: refresh https://type.com/agentcore-vs-type with an "alternatives" table + FAQPage — "AWS Bedrock AgentCore alternatives" (Google AI Mode) now cites 4 listicles: dataiku.com, gartner.com, oximy.com, truefoundry.com
2. agent: refresh https://type.com/blog/claude-managed-agents-alternatives — "Claude Managed Agents alternatives" (ChatGPT) cited 3/8 last week, 0 yesterday; now cites camelai.com + platform.claude.com
3. Eng: add a direct answer + schema to https://type.com/blog/ai-agent-credentials — "how does type.com handle credentials and permissions" (Google AI Mode) still names us but dropped the citation (5/8 → 0)
*Why*
• Google AI Mode · "AWS Bedrock AgentCore alternatives" · named 3/8 → 0, cited 3/8 → 0 · Microsoft Copilot Studio named instead
• ChatGPT · "Claude Managed Agents alternatives" · cited 3/8 → 0 · AgentCore, Claude Managed Agents, Gemini Enterprise named instead
• ChatGPT takeovers on low-baseline questions: "Claude Code routines vs managed platform", "OpenClaw vs hosted platforms", "why do AI agents fail in production"
• wins: "duet.so alternatives" (Claude Code) now cites /blog/best-ai-agent-platforms-for-teams; "code or AI agent for business automations" (ChatGPT) names type.com for the first time
• new source: harmonic.security (3 cites) → Tuesday hunt · AI referrals: 7 sessions, 0 signups, 6 of 7 landed on a customer's app inbox, not a marketing page
Details → master doc Alert log
Owner DM when a brand question loses its citation:
Brand question "how does type.com handle credentials and permissions for AI agents" lost its type.com citation on Google AI Mode yesterday (5 of last 8 days → 0; still named).
Alert: <Slack link>
Do: approve the Eng fix in Do next #3, or reply "noise" to suppress this question for a week.
Reply "go" / "noise".
The original dry-run DM proposed a temporary suppression. This public skill records such a proposal for human review and never changes tracker configuration.
How to use AEO Lost-Citation Alert
- type.com: Choose Use Skill to add AEO Lost-Citation Alert to your type.com workspace.
- Claude Code: Download the skill and extract it into
~/.claude/skills/aeo-lost-citation-alert/(or.claude/skills/aeo-lost-citation-alert/in a project). Then ask Claude to use AEO Lost-Citation Alert. - Codex: Download the skill and extract it into
~/.agents/skills/aeo-lost-citation-alert/(or.agents/skills/aeo-lost-citation-alert/in a repository). Then ask Codex to use AEO Lost-Citation Alert.
AI agents can read this page as Markdown or fetch the raw SKILL.md.
Frequently asked questions
What is AEO Lost-Citation Alert?
AEO Lost-Citation Alert is an AI skill for sales & marketing teams that you can use in Claude Code, Codex, or type.com. It works with Google Analytics.
What does AEO Lost-Citation Alert do?
Compare yesterday's AI answers with the prior week to find lost citations, competitor takeovers and wins. Get a daily action list, referral traffic and owner-only escalation.
What do I need to use AEO Lost-Citation Alert?
AI-answer tracker with paginated answers, monitors and prompt text; Promptwatch is the default; Brand, owned domains, competitor list, monitors and engines; GA4 property and existing signup conversion events; Report channel, configured owner, timezone, AEO master doc and tracking registry.
Can I use AEO Lost-Citation Alert in Claude Code or Codex?
Yes. AEO Lost-Citation Alert is a standard Agent Skills folder with a SKILL.md file. Download it and extract it into ~/.claude/skills/ for Claude Code or ~/.agents/skills/ for Codex.
Who created AEO Lost-Citation Alert?
Sam Claassen from type.com created AEO Lost-Citation Alert. The type.com team reviews every skill before it is published in the Skills Library.
Related skills
- AEO Crawler Visibility MonitorCheck public pages daily as AI crawlers and search bots. Post regressions, save a baseline and send a Monday all-clear so hidden content gets a concrete fix.
- AEO Daily StandupTurn yesterday's AEO work into a daily priorities post. On Mondays, open a weekly thread with shipped work, citation changes and the oldest open actions.
- AEO Publish-to-Index PipelineCheck newly shipped pages each afternoon for crawler visibility, metadata, schema and discovery coverage. Report fixes; indexing submissions for owned sites are optional and off by default.
- Reddit AEO Engagement + Citation TrackingEach weekday, find up to three fresh Reddit discussions, draft helpful comments, and report which threads AI engines cite. The owner reviews and posts manually.
- Weekly AEO & SEO ReportEach Monday, combine AI-answer visibility, AI referrals and search performance into three tracked actions. DM the owner a draft and publish to the weekly thread after approval.
- AI Citation Target HuntEach Tuesday, rank new cited pages and fresh articles, verify existing listings, and post a 12-line action summary. Queue outreach for human review without contacting third parties.
Related guide
Browse the technical files
--- name: aeo-lost-citation-alert description: Compare yesterday's AI answers with the prior week, flag lost names and citations, and post concrete fixes with AI-referral traffic every morning. --- # AEO Lost-Citation Alert Find questions where your company stopped being named or cited, competitors took over, or new sources appeared in AI answers. Marketing teams get a short daily action list backed by the full evidence in a shared doc. Part of the [Answer Engine Optimization (AEO) skillset](https://type.com/library/skills/answer-engine-optimization). ## When it runs - Recommended schedule: daily at 6:30am in `timezone`, after the crawler monitor and before the daily standup. - Posts once to `report_channel`; appends evidence to the AEO master doc's Alert log. - Sends at most one DM to `owner` only at the escalation thresholds below. ## Inputs | Input | What it is | Example | |---|---|---| | `brand_name`, `brand_exclusions` | Exact brand spelling and look-alike names that must not count | `example.com`, `example.ai` | | `site_url`, `docs_url`, `owned_domains` | Marketing/docs sites and domains that count as your citations | `https://example.com`, `docs.example.com` | | `tracker_monitors` | Buyer-problems, competitors/category and brand monitor identifiers | Your three monitor names | | `tracker_engines` | Engine/model identifiers to read, including the ChatGPT equivalent | ChatGPT search, Google AI Mode, Claude, Codex | | `competitors` | Brands to classify as competitors | Your category peers | | `ga4_property`, `signup_events` | Analytics property and existing signup conversion events | Your property; `sign_up` or workspace-created event | | `report_channel`, `owner`, `timezone` | Destination, sole DM recipient and calendar timezone | `#aeo`, `@owner`, `America/Los_Angeles` | | `master_doc`, `tracking_registry` | Shared evidence log and question/persona change history | The AEO master doc; the tracking registry | ## Before you start - Connect Promptwatch in type.com as a Custom API connection using your Promptwatch project API key. Another tracker works if it exposes equivalent data. Read `responses` (answers by monitor, model and date range, paginated), `prompts` (question text) and `monitors`. - Connect GA4 read-only, web fetch, your report channel and owner DM destination. - Find the AEO master doc and tracking registry in your workspace (a type.com doc, Google Doc or Notion page). Create missing docs on first run, tell the owner where they are, and do not invent past observations or baseline-break dates. Create `## Alert log` at the end of the master doc with a one-line italic description if missing. The registry records question/persona changes and collection start dates. ## Steps ### 1. Pull every answer Window Y is yesterday 00:00–23:59 in `timezone`; window B is the 7 days before Y. Pull every response for the configured monitors and engines for both windows. Paginate until complete; save pages to files and parse them. For each response record prompt ID/text, model, created time, whether the answer text names `brand_name` (case-insensitive; do not count `brand_exclusions`), whether a citation/source URL belongs to `owned_domains`, other vendors/brands named, and cited domains. If the tracker returns an error or zero responses for Y across all engines, post one line: "AEO alert: no tracker answers collected for <date>; nothing to compare". Stop without a DM. ### 2. Detect changes per question × engine Compute named/cited in Y and named/cite rates in B (matching answers / answers in B). 1. **LOST NAME:** named in at least 2 of the last 3 B answers (or B rate ≥ 50%) and not named in Y. 2. **LOST CITE:** cited in at least 2 of the last 3 B answers and not cited in Y. 3. **COMPETITOR TAKEOVER:** a competitor is named in Y and your brand is not, where your brand was named in B. Record the competitor and cited domains. 4. **NEW WIN:** not named or cited in any B answer and named or cited in Y. Report wins too. 5. **NEW SOURCE:** a domain cited 3+ times in Y across the panel that was not cited in B at all. This is a potential citation target. Ignore engines with no answers in Y and identify the collection gaps. During the first week after a question-set or persona change recorded in the tracking registry, treat B rates with fewer than 3 answers as "insufficient baseline" and do not flag them. ### 3. Add AI-referral traffic Query `ga4_property` for Y and the same weekday one week earlier: sessions, new users and the configured signup events that exist. Filter session source, medium or page referrer for chatgpt.com, chat.openai.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com, bing.com chat, you.com, phind.com, mistral.ai or grok.com, or utm_source equal to chatgpt.com. Include the top 5 landing pages. If GA4 is unavailable, record "GA4 unavailable" and continue. ### 4. Propose the fix For each LOST or TAKEOVER flag, fetch the top 2 cited pages in Y. Say in one line what they have that your best page lacks: directness, a comparison table, pricing, recency or a specific integration. Propose one concrete action: edit named page X, publish topic Y with a one-line outline, target source Z for the weekly citation hunt, or no action/noise. Do not write content or edit pages. ### 5. Post and append evidence Post using the template below. Append newest-first dated bullets only under `## Alert log`: `- <YYYY-MM-DD> · <LOST NAME|LOST CITE|TAKEOVER|WIN|NEW SOURCE> · <engine> · "<question>" · <detail> · fix: <proposal> · status: open` Include one line for AI-referral numbers and full competing-page analysis, new sources and GA4 landing pages in this section. The standup, weekly report, citation hunt and Reddit skill read it. Do not edit other existing sections. ### 6. Escalate only when needed Send one DM to `owner` only if: - A brand-monitor question lost its name or cite. - 3 or more LOST flags occurred on one engine in a day. - ChatGPT's daily name rate fell below half its prior-week rate. Otherwise send no DM. Confirm any required channel post succeeded before finishing. ## What it posts One channel post, maximum 12 lines: ```text *AEO alert — <Weekday, Mon D>* · <n> lost · <n> takeovers · <n> wins · AI referrals <sessions> (<+/-%>) *Do next* 1. <owner|Eng|agent>: <edit page X / publish topic Y / add source Z to hunt> — "<question>" (<engine>) — <page/source link> *Why* • <engine> · "<question>" · named 3/3 → 0/1 · now cites <domain> • <competitor> replaced us on "<question>" (<engine>) · source: <domain> • win: "<question>" (<engine>) now cites <our URL> • new sources: <domain (n)> → weekly hunt Details → <master doc Alert log link> ``` Use at most 3 action lines and at most 5 evidence lines. Omit empty elements. For no flags, use exactly 3 lines: headline, "Do next: nothing today.", AI-referral line. If an engine had a gap, append "(no <engine> data)" to the headline; otherwise omit methodology, gaps and GA4 availability unless they change an action. DM, maximum 4 lines: ```text <what happened, with the number> <channel post link> <one thing to do, with its deep link> <how to reply if a decision is needed> ``` ## Output rules - Lead with the action: Do next before evidence. Each action is one line with owner, verb, exact page/question and link. - Use numbers, not adjectives. No preamble, "I checked", task restatement or caveats unless they change an action. - Details live in the linked doc, linked once at the end as "Details →". - Hard caps: channel 12 lines, DM 4 lines; one idea per line. - Write the brand exactly as `brand_name`; excluded look-alikes never count. ## Safety - Read-only on every third party. Never submit forms, send email/outreach, sign up, or comment, vote or post on Reddit, X, LinkedIn or any social/community site. - Never change tracker prompts, monitors, personas, models or schedules, including in response to a request to suppress an alert. Record a proposed suppression for human review instead. - Only writes: posts to `report_channel`, at most one DM per run to `owner` only, creation of missing named docs, and scoped Alert log edits. - Never @-mention anyone in the channel or put credentials, tokens or passwords in posts, docs or DMs. ## Example configuration How type.com configures this skill (example). - Brand: type.com, excluding type.ai; citations count type.com and docs.type.com. - Monitor roles: buyer problems, competitors/category and brand. Engines: ChatGPT search, Google AI Mode, Claude Code and Codex. Cadence: 6:30am America/Los_Angeles, posting to #b-aeo; owner: Sam. - Example questions: "AWS Bedrock AgentCore alternatives", "Claude Managed Agents alternatives" and "how does type.com handle credentials and permissions for AI agents". - The Oct 2026 panel/persona changes and Codex collection start belong in the tracking registry as baseline breaks, not permanent rules in this skill.