Weekly AEO & SEO Report
Each 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.
At a glance
Weekly AEO & SEO Report is an AI skill for sales & marketing teams that you can use in Claude Code, Codex, or type.com. It works with Google Analytics and Google Search Console.
- Works with
- Google Analytics, Google Search Console
- Updated
What it does
- Compare names and citations across engines without hiding panel baseline changes.
- Connect AI-referral traffic and country-filtered search results to the next three actions.
- Require owner approval before posting and track approved actions in the master doc.
Before you start
- Brand domains, monitor/engine panel, historical baseline and tracking registry.
- Promptwatch Custom API connection or equivalent paginated answer data.
- GA4 property with real conversion events and a verified Search Console property.
- Configured owner, report channel, timezone and shared AEO master doc.
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.
DMs the configured owner on Mondays at 8am; posts to the weekly report thread only after approval:
Weekly AEO report draft. Reply approved / post it, or tell me what to change.
*Next 3 actions*
1. agent: draft an answer-first page for "best way to deploy AI agents to production without DevOps" — 62 listicle/comparison citations on this question this week, 0 to type.com; engines cite northflank.com (8) and qovery.com (6)
2. Sam: pitch type.com into the two alternatives listicles ChatGPT already leans on — duet.so cited 78× and taskade.com's "12 Best AI Agent Platforms 2026" — https://www.taskade.com/blog/ai-agent-platforms
3. Eng: add FAQPage + a direct answer block to https://type.com/evaluate — Google AI Mode named type.com in 11 answers but cited it in only 6; 5 of the misses are the credentials question
_Tracker: 0 added, 0 done, 0 open >14 days (tracker not created yet)_
type.com AEO & SEO: Oct 11–17 vs Oct 4–10
Notes
- AEO: panel went live Oct 14, so Oct 11–17 is the first full week; WoW is "new" for all engines.
- Search: US only while we filter out Habr spam traffic
AI answers (same questions & engines both weeks)
Answers Name type.com Cite type.com WoW
Claude Code 163 8 8 new
ChatGPT 168 15 16 new
Google AI Mode 168 11 6 new
Codex 0 0 0 new (starts Oct 26)
Progress: ChatGPT named type.com in 0–1% of answers before Oct 14 → 15/168 = 8.9% now
Technical-buyer questions (added Oct 19): n/a this week
Daily alerts this week: no daily alerts logged (alert task starts Oct 23)
AI referrals (GA4)
Last Prior WoW
Sessions 9 17 -47%
Signups 0 0 0
Top landing: /, /onboarding, /b2b (all from chatgpt.com)
Google search (US only)
Last Prior WoW
Clicks 180 173 +4%
Clicks Mon–Fri 162 161 +1%
Non-brand clicks 0 0 0
Impressions 2,563 2,968 -14%
*What moved*
- ChatGPT named type.com in 15/168 (8.9%), cited 16. 12 of 15 names are on the 3 brand questions; unbranded wins: "platform where engineers build AI automations…" (2×), "duet.so alternatives" (2×), "Claude Managed Agents alternatives" (1×).
- All engines: 34 names, 30 cites in 499 answers. Claude Code's 8 names are all brand questions. Buyer-problem monitor (20 questions, 282 answers): named 2, cited 2.
- No daily alerts logged this week.
- US search clicks (filtered because of spam) were up 4% (180 vs 173); weekday flat; impressions down 14%.
How to use Weekly AEO & SEO Report
- type.com: Choose Use Skill to add Weekly AEO & SEO Report to your type.com workspace.
- Claude Code: Download the skill and extract it into
~/.claude/skills/weekly-aeo-seo-report/(or.claude/skills/weekly-aeo-seo-report/in a project). Then ask Claude to use Weekly AEO & SEO Report. - Codex: Download the skill and extract it into
~/.agents/skills/weekly-aeo-seo-report/(or.agents/skills/weekly-aeo-seo-report/in a repository). Then ask Codex to use Weekly AEO & SEO Report.
AI agents can read this page as Markdown or fetch the raw SKILL.md.
Frequently asked questions
What is Weekly AEO & SEO Report?
Weekly AEO & SEO Report is an AI skill for sales & marketing teams that you can use in Claude Code, Codex, or type.com. It works with Google Analytics and Google Search Console.
What does Weekly AEO & SEO Report do?
Each 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.
What do I need to use Weekly AEO & SEO Report?
Brand domains, monitor/engine panel, historical baseline and tracking registry; Promptwatch Custom API connection or equivalent paginated answer data; GA4 property with real conversion events and a verified Search Console property; Configured owner, report channel, timezone and shared AEO master doc.
Can I use Weekly AEO & SEO Report in Claude Code or Codex?
Yes. Weekly AEO & SEO Report 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 Weekly AEO & SEO Report?
Sam Claassen from type.com created Weekly AEO & SEO Report. 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 Lost-Citation AlertCompare 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.
- 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.
- 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: weekly-aeo-seo-report
description: Build a weekly AI-answer, AI-referral and search report with three tracked actions, send the owner a draft, and publish to the weekly thread only after approval.
---
# Weekly AEO & SEO Report
Combine AI-answer visibility, AI-referral traffic and search performance into one weekly report with three concrete actions. The owner approves the draft before it appears in the report channel. Part of the [Answer Engine Optimization (AEO) skillset](https://type.com/library/skills/answer-engine-optimization).
## When it runs
- Recommended schedule: Mondays at 8am in `timezone`, after the daily standup opens the AEO weekly thread.
- DM the exact draft to `owner`. Post only after explicit owner approval, as a reply to today's AEO weekly thread; use a standalone post only if that thread does not exist.
- If no answer by noon in `timezone`, send one one-line reminder DM, then stop reminding.
## Inputs
| Input | What it is | Example |
| --- | --- | --- |
| `brand_name`, `brand_domains`, `brand_exclusions`, `brand_query_variants` | Exact brand spelling, citation domains, look-alikes, search-query spellings | Example Co; example.com; common misspellings |
| `tracker_monitors`, `tracker_engines` | Buyer-problem, competitor/category and brand panels, engines and activation dates | A, B, Brand; ChatGPT search |
| `buyer_question_tag`, `historical_baseline` | Buyer cohort and verified historic naming rate/date | Technical-buyer cohort; recorded baseline |
| `ga4_property`, `signup_events` | Analytics property and real signup/conversion events | Your GA4 property; sign_up or key events |
| `search_console_property`, `search_country`, `search_filter_reason` | Verified property, country filter and reason | https://example.com/; US; configured market |
| `owner`, `engineering_owner`, `drafting_owner`, `report_channel`, `timezone` | Action owners, destination and local timezone | @owner; Eng; agent; #aeo; America/Los_Angeles |
| `aeo_master_doc`, `tracking_registry` | Shared alerts, tracker, weekly results and panel 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 paginated `responses` and `monitors` data. Connect GA4, Search Console, Slack or equivalent, and scoped editing access to the named shared docs.
Find the AEO master doc and tracking registry. On first run create missing documents and sections, tell the owner where they are, and initialize Alert log, Weekly results and Action tracker. The Action tracker columns are # | Action | Source | Owner | Status | Added | Done. Populate panel history from actual tracker evidence; do not invent a baseline.
Domain Search Console properties may not be verified on the connected account. Fall back to a verified URL-prefix property for the same site and keep its scope clear in the allowed Search note. If GA4 has no sign_up event, use configured key events that actually exist; retain the event definition in the doc.
## Steps
### 1. Gather AI-answer data
Read every page of `responses` by configured monitor, engine and date range for the last completed Sunday 00:00 through Saturday 23:59 in `timezone`, and the prior equivalent week. Use these same dates throughout the report title, analytics and search queries.
For each engine count total answers, answers naming `brand_name`, and answers citing a URL in `brand_domains`. Exclude look-alikes in `brand_exclusions`. An answer may cite the brand without naming it; compute the two independently.
Compare only questions and engines active in both weeks. Read question, persona and engine changes in the tracking registry. After a material panel/persona change, mark the new baseline week's WoW cells “new”. A newly collecting engine stays “new” until it has a full prior week. If no prior-week data exists for a row, show “new”.
For `buyer_question_tag`, separately count total answers, names, citation count and naming rate. Always include a Progress line: verified historic naming baseline → current named/answers = percentage. If no historical baseline exists, state “baseline not recorded” in the AEO note and use this run as the recorded baseline rather than inventing improvement.
### 2. Read the week's daily alerts
Read Alert log entries inside the same weekly window. Count LOST NAME, LOST CITE, TAKEOVER, WIN and NEW SOURCE separately; retain the split in Weekly results. Identify repeatedly flagged questions and the most frequent takeover competitors. Use these in What moved and the three actions. If the log is absent or empty, say “no daily alerts logged” in the AEO note.
### 3. Gather AI-referral traffic
Query `ga4_property` for the same two completed weeks: sessions, new users and signups using real configured sign_up, workspace-created or key events. Match session source, medium or referrer against chatgpt.com, chat.openai.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com, you.com, phind.com, mistral.ai and grok.com, or utm_source = chatgpt.com. Also get the top 3 landing pages for those sessions. Keep new-user detail in the doc. If GA4 is unavailable show “n/a” in the table and one AEO-note explanation.
### 4. Gather country-filtered Google search data
Pull query-level Search Console data for `search_console_property`, filtered to `search_country` (recommended default US). For each week compute total clicks, Mon–Fri clicks excluding weekends, non-brand clicks, and total impressions. Non-brand queries exclude `brand_name`, `brand_query_variants` and obvious brand misspellings. Calculate WoW percentage changes. Keep Non-brand clicks even when zero.
### 5. Write What moved and choose the next three actions
Write 3–4 one-line What moved bullets, numbers first: primary search engine naming/citation statistics; totals across engines and any engine still at zero; alert counts and leading takeover competitor; country-filtered search clicks, weekday clicks and impressions.
Read open Action tracker rows before choosing the three highest-impact actions. Each action is one line: owner · verb · exact page/question/listing · justifying number · link. Outreach, listings, review sites and login-dependent actions belong to `owner`; site/schema/crawl/indexing fixes belong to `engineering_owner`; drafting belongs to `drafting_owner`. Outreach actions are requests for the owner to review or perform manually.
Do not create another row for an already-open action: state it is still open and how long. Summarize rows added last week, done, and open more than 14 days. After approval add only new actions with Source weekly report, Status open, Added today.
### 6. Format and request approval
Use the report structure below. Put the three actions first, above a single code block containing all three tables. DM the exact draft to `owner`, preceded by “Weekly AEO report draft. Reply approved / post it, or tell me what to change.”
Wait for explicit approval such as “approved”, “post it”, “go”, “looks good” or “send it”. If changes are requested, edit and resend the exact draft, then wait again. Send at most one one-line reminder at noon. Never treat silence as approval.
### 7. Publish the approved draft
Find today's channel message beginning “AEO weekly”. Post the approved draft as a thread reply. If no such thread exists, use a standalone post. Confirm delivery; do not claim a post succeeded without a successful receipt.
### 8. Update the master doc
After the approved report posts, update only Weekly results and the approved new Action tracker rows. Mark Alert log entries covered by a tracker row “status: tracked #<row>”. Preserve other sections and existing owner/status choices.
## What it posts
The complete report must stay under 40 lines including the code block. Omit blank lines, use 3 What moved bullets when needed, and list the configured engines:
```text
Next 3 actions
1. <owner>: <verb + exact object> · <number> · <link>
2. <owner>: <verb + exact object> · <number> · <link>
3. <owner>: <verb + exact object> · <number> · <link>
Tracker: <X> added last week, <X> done, <X> open >14 days
[code block begins]
<brand_name> AEO & SEO: <last Sun–Sat dates> vs <prior Sun–Sat dates>
Notes
- AEO: <tracking status, baseline changes or unavailable source; omit if unchanged>
- Search: <search_country> only · <search_filter_reason>
AI answers (same questions & engines both weeks)
<Engine> Answers Name <brand_name> Cite <brand_name> WoW
<engine 1> <n> <n> <n> <delta or new>
<engine 2> <n> <n> <n> <delta or new>
<engine 3> <n> <n> <n> <delta or new>
<engine 4> <n> <n> <n> <delta or new>
Progress: <historical naming rate/date> → <named>/<answers> = <rate>% now
Buyer questions: named <n>/<answers> (<rate>%), cited <n>
Daily alerts: <lost> lost, <takeovers> takeovers (top: <competitor>), <wins> wins, <new sources> new sources
AI referrals (GA4)
Last Prior WoW
Sessions <n> <n> <delta>
Signups <n> <n> <delta>
Top landing: <page>, <page>, <page>
Google search (<search_country> only)
Last Prior WoW
Clicks <n> <n> <delta>
Clicks Mon–Fri <n> <n> <delta>
Non-brand clicks <n> <n> <delta>
Impressions <n> <n> <delta>
[code block ends]
What moved
- <numbers-first finding>
- <numbers-first finding>
- <numbers-first finding>
```
Replace the code-block markers with actual fences when posting. The draft DM contains this same report plus the one-line approval request; its source-specific cap is the report's under-40-line limit, rather than the four-line alert-DM cap used by other skills.
## Output rules
- Every action and bullet gets its own line. No sub-bullets or paragraphs.
- Numbers, not adjectives. No preamble or method.
- Do not include a master-doc link in this report. The two Notes lines are the only allowed notes; put material source limitations there and full details in Weekly results.
- Keep the Progress line and Non-brand clicks row. Write `brand_name` exactly.
- Whole report under 40 lines including the code block. Keep it actionable rather than expanding tables into explanations.
## Safety
- Read-only on every third party: never submit forms, send email/outreach, sign up, comment, vote or post on Reddit, X, LinkedIn or other social/community sites. Action text may ask the owner to review a draft or act manually.
- Never change tracker prompts, monitors, personas, models or schedules.
- Only writes: draft/reminder DMs to `owner` alone, the approved report-channel post, and scoped edits to Weekly results, Action tracker and covered Alert log status fields.
- Never publish without explicit owner approval. Never @-mention anyone in the channel. Never include credentials, tokens or passwords.
## Example configuration
How type.com configures this skill (example):
- Mondays 8am America/Los_Angeles; owner Sam; engineering owner Eng; drafting owner agent; report channel #b-aeo.
- Brand type.com; exclude type.ai; non-brand search excludes type.com, type com, typecom, type .com and misspellings. US-only search removes the observed Habr/Yandex spam effect.
- Engines: Claude Code, ChatGPT search, Google AI Mode and Codex. The October 2026 Codex start date is October 26.
- The question set changed October 19 and technical-buyer persona stacking started October 20. October 19–25 is a new baseline; show “new” for affected comparisons. Cohort example: tech-buyer-oct19.
- Historic Progress comparison: ChatGPT named type.com in 0–1% of answers before October 14, 2026.
- Dry-run learning: the connected domain property was unverified, so the URL-prefix property worked but excluded docs; GA4 had no sign_up event, so key events supplied the signup metric.