SEO and AI-search report for your website
by SuperpowersOfficial7 installs6 runs
Give your website and the searches that matter; get where you rank on Google and who beats you, whether Google's AI Overview and AI assistants mention you, your share of voice against competitors, and what to fix on your homepage.
Give it to your agent
Paste this into Codex, Claude Code or any agent with a terminal. It reads the recipe, sets up Superpowers if needed and runs it on your balance.
Use the Superpowers recipe at https://superpowers.tools/recipes/seo-geo-report/skill.md
For developersRun it from a script or read exactly what your agent reads
Run the script
curl -s https://superpowers.tools/recipes/seo-geo-report/run.mjs -o seo-geo-report.mjs node seo-geo-report.mjs --site "posthog.com" --brand "PostHog" --keywords "product analytics tool, session replay software, feature flags tool" --competitors "amplitude.com, mixpanel.com"
Reads your key from SUPERPOWERS_API_KEY or ~/.config/superpowers/key and prints the results link.
The recipe
Exactly what your agent reads.
--- name: seo-geo-report description: Make an SEO and AI-search (GEO/AEO) report for a website with Superpowers: Google rankings per search and who outranks it, whether Google's AI Overview names the brand, how often AI assistants with web search mention it against competitors (share of voice), and homepage fixes. Use when the user asks how their site shows up on Google or in ChatGPT, Perplexity, Claude or Gemini answers, wants a Semrush-style check, or wants to compare search visibility with competitors. --- # SEO and AI-search report for your website A Superpowers recipe. Give it a website, the brand name and up to 5 searches buyers type (plus competitor websites if you have them). For each search it reads Google's first page and Google's AI Overview; then it asks four AI assistants with web search (OpenAI, Perplexity, Claude and Gemini models) three buyer questions and counts who they name; and it audits the homepage for search and AI readiness. Measured on 2026-10-09 for posthog.com with 5 searches and 5 competitors: about $0.26 and 2 to 4 minutes. Monthly search volume, cost per click and backlinks are not included yet. Needs a Superpowers API key. If you don't have one yet, set it up first: https://superpowers.tools/skill.md?ref= ## Inputs - **site** (required): the website, e.g. posthog.com. - **brand** (required): the name as people write it. - **keywords** (required): up to 5 searches, separated by commas. - **competitors** (optional): up to 5 competitor websites, separated by commas. - **country** (optional, default us): two-letter country for Google. ## Fastest way: let Superpowers run it curl -s -m 30 -X POST "https://superpowers.tools/v1/recipes/seo-geo-report/run" \ -H "Authorization: Bearer $SUPERPOWERS_API_KEY" -H "Content-Type: application/json" \ -d '{"inputs": {"site": "posthog.com", "brand": "PostHog", "keywords": "product analytics tool, session replay software", "competitors": "amplitude.com, mixpanel.com"}, "idempotency_key": "seo-geo-report-<something unique>"}' The run keeps going on the server. Within about 20 seconds you get either the result or {"status": "running", "idempotency_key": "...", "retry_after_s": 20}. Send the identical request again with that idempotency_key every 20 seconds: you get {"status": "running"} until it finishes, then share_url and charge_usd. You are charged once. With MCP, call run_recipe with {"recipe": "seo-geo-report", "inputs": {...}, "idempotency_key": "..."}. Never start a second run with a new key while one is running. While you wait, only an HTTP 400, 401 or 402 or a "failed" status is final. A timeout, a 404 or a 5xx can happen while Superpowers deploys: wait 30 seconds and resend the same request with the same key; GET https://superpowers.tools/v1/runs (same key) shows the steps that are running. Never switch to the step by step path while a run may still be going. ## Doing it step by step Only when the path above does not work, and never in addition to it. Sum charge_usd of every call. With POST https://superpowers.tools/v1/run (or run_tool): Each call is POST https://superpowers.tools/v1/run with {"tool": "<tool>", "input": {...}, "idempotency_key": "<unique for that call>"} (paid tools refuse a call without a key; reuse a key only to retry the same call). 1. For each search: `litescrape.google-search` and `litescrape.google-ai-overview` with {"q": "<search>", "gl": "us", "hl": "en"}. Find the site's position in organic; check whether the overview text names the brand. 2. `aeo.visibility` with {"brand", "domain", "questions": ["What is the best <search>?", ...up to 3], "competitors": [{"name", "domain"}]}. 3. `seoaudit.page` and `aeoaudit.page` with {"url": "https://<site>/"}. 4. Publish: POST https://superpowers.tools/v1/shares {"title": "<Brand>: SEO and AI-search report", "recipe": "seo-geo-report", "items": [...]}. ## After the run Give the share link and the one-line summary. Say that rankings and AI answers change from day to day and by country, that the assistants are asked through their APIs with web search (close to, not identical to, the consumer apps), and that search volume and backlinks are not included yet. Offer a monthly rerun to see the trend.