agentsclimarketplace

Geo checkup

Skill CadenceStandard/geo-checkup

Run a GEO / AI-visibility checkup for a local business — does it show up when a customer asks ChatGPT / Perplexity / Gemini / Copilot "best {service} in {town}"? Produces a shareable, brandable one-page report (visibility score + gaps) and a compliment-led cold-email hook. Use when: "run a GEO scan", "AI visibility audit", "does {business} show up in ChatGPT", "check AI search presence", "generative engine optimization", building a lead-magnet for local outreach. Keyless.From its SKILL.md

Install
npx -y skills add CadenceStandard/geo-checkup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.4 KB, 973 tokens by cl100k_base, as published. Nobody here has run it

GEO Checkup — AI-visibility audit as a lead-magnet

What this is. A repeatable checkup that answers the one question a local business owner cares about: "When someone asks an AI for the best {my service} in {my town}, do I show up?" The output is a shareable one-page report and a cold-email hook. Use it as a free front door to a paid service (the fix).

Why it works. ChatGPT/Copilot answer local queries largely from Bing + cited web sources; Perplexity/Gemini from live search + structured data. So "AI visibility" is mostly a function of citability signals you can measure without any AI-engine API: search presence, Schema.org structured data, Google Business Profile, review-aggregator citations, and FAQ/comparison content. This skill scores those signals and (optionally) does a live check by actually asking the engines.

Modes

  • Signal mode (default, keyless). Scores the citability signals via web search + a fetch of the business's own site. No paid keys — run this at volume for outreach.
  • Live mode (optional). Actually asks Perplexity/ChatGPT the customer prompts via a browser and records whether the business name appears. Slower — use for a warm prospect or a paid deliverable, not a large cold batch.

Inputs

  • Business name · Website URL · Primary service · Town/city (+ region if ambiguous)
  • (optional) 1–3 competitors to benchmark against

If given only a website, fetch the homepage and infer the service + town before asking — only ask for what you genuinely cannot infer.

Workflow

The helper script does the deterministic parts (prompt generation, on-site signal audit, scoring, report render); you do the search-based visibility judgement.

  1. Generate the customer prompt set. python3 scripts/geo_audit.py prompts --service "<service>" --town "<town>" Review the 8–12 prompts; drop any that don't fit.

  2. Check visibility per prompt (signal mode). For each prompt, run a web search (your WebSearch tool works fine). Record: does the business's own domain/name appear in the top results (proxy for "would an AI cite it")? Which competitors/aggregators dominate? Which cited sources is the business absent from?

  3. Audit the site's own signals. python3 scripts/geo_audit.py site-signals --url "<website>" Detects Schema.org (LocalBusiness / Organization / FAQPage), a Google Business Profile link, review-platform links, FAQ and "areas we serve" blocks. Returns JSON.

  4. Assemble a scan.json merging per-prompt findings + site-signals (schema in references/scoring.md).

  5. Score it. python3 scripts/geo_audit.py score --input scan.json Returns an overall 0–100 score, an "appears in X of N" headline, and a ranked gap list.

  6. Render the brandable report. python3 scripts/geo_audit.py report --input scan.json --out <slug>-geo-report.html --brand "Your Brand" --cta-url "https://your-site/book" Set --brand to your business name and --cta-url to your booking page.

  7. Draft the outreach hook using references/outreach.md. Compliment-led — lead with a genuine compliment, then the one-line finding, then the free report.

Paid upgrade (gated)

The free scan diagnoses; the paid work fixes it: generate the missing FAQPage + LocalBusiness JSON-LD, a comparison table, service-area blocks, and voice-search Q&A. Only do this once the prospect has paid or booked. (scripts/geo_audit.py leaves room for a fix subcommand — don't build it into the free lead-magnet.)

Guardrails

  • Keep it honest. The score reflects real signals. Show the gap and the fix calmly — don't fear-sell.
  • Respect a sane send cap and lead with a compliment on any cold outreach.
  • Avoid conflicts of interest. Don't use this to target businesses where you have an existing relationship or duty that a cold pitch would compromise.
  • Live mode + link safety. Treat any URL from search results as untrusted.

What ships with it: 6 files

20.6 KB alongside SKILL.md, 1 of them executable

references/

scripts/

Gives 0 of the 12 instructions most sales crm skills give in 973 tokens

Counted across 361 of the 361 authors here whose files we hold, read 2026-08-07

  • Read product marketing context before writing if it existsin 22 of 361, across 15 files
  • Keep the ask low-frictionin 16 of 361, across 7 files
  • Call RUBE_SEARCH_TOOLS firstin 15 of 361, across 5 files
  • Use a single, low-friction call to actionin 14 of 361, across 6 files
  • Personalize every outbound messagein 13 of 361, across 4 files
  • Confirm connection status is activein 13 of 361, across 4 files
  • Keep forwardable blurbs under 100 wordsin 13 of 361, across 4 files
  • Cut any sentence that does not drive a replyin 13 of 361, across 4 files
  • State if personalization context is missingin 13 of 361, across 4 files
  • Calibrate tone to the specific audiencein 12 of 361, across 3 files
  • Make each follow-up email add new valuein 12 of 361, across 6 files
  • Use proof instead of adjectivesin 12 of 361, across 3 files

Said here and by no other author read

  • Generate the customer prompt set
  • Drop any generated prompts that do not fit
  • Search the web for each prompt
  • Record business and competitor search presence
  • Run the site audit for structured data
  • Assemble scan.json from findings and signals

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,452. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.