ai-prompt-research
Find the questions people ask about a market, how ChatGPT answers them, and which sites get…
Audit a Google Business Profile, compare it to local competitors, and map Maps visibility around a location.
$ npx -y skills add every-app/open-seo --skill local-seo --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/local-seoContext preview
The summary Claude sees to decide when to auto-load this skill.
Audit a Google Business Profile, compare it to local competitors, and map Maps visibility around a location.
name: local-seo description: "Audit a Google Business Profile, compare it to local competitors, and map Maps visibility around a location."
Work out why a business does or does not show up in Google Maps and the local pack near its customers, and what to fix first.
Use this when rankings depend on a physical location or service area. For national organic work, use `competitor-analysis` or `keyword-research`.
The project-context tools are free and shared with the app and other agents.
1. Call `get_project_context` first and ground the work in it — what the business does and where it operates decides which keywords and radius matter. 2. This skill needs `business_overview`. If it is empty, run a minimal inline setup: infer what the business does and its location from the site and confirm it with the user in one question, write it back with `update_project_context`, then continue. Never front-load the full interview; suggest `seo-project-setup` at the end for the rest. 3. Before spending credits, check the research log. If the same research ran within the last 30 days, reuse that result and say so instead of re-buying it. 4. On finish, write back what is durable with `update_project_context` — local competitors that have a website via `addCompetitors` (competitor rows are keyed by domain, so skip listings without one), a corrected `business_overview` — and append a research log entry: `{ appendResearchLog: { summary: "Local SEO: <business> near <area>. Verdict: <conclusion>" } }`.
Deliver through the `seo-report` skill, saving with `skill: "local-seo"`. If that skill is not available, say so and stop before writing HTML.
1. Find the business. Given only a name or website, `search_local_businesses` (name as `query`, wide radius) locates the listing and yields its `cid` and coordinate. If it returns several locations, the business is a chain — see multi-location below. 2. Run `get_local_serp_results` for the main keyword near the business coordinate. Record the top 3-5 competitors' `cid`/`place_id` and the user's own row. 3. Compare the user's listing against the top two competitors: primary category, additional categories, review count, hours completeness, photo count, claimed status. `search_local_businesses` rows usually carry all of this; use `get_business_profile` for what they lack. 4. Sanity-check each listing's website link (`url`/`contact_url` in the rows): it should deep-link to that location's page on the project domain, not a homepage or a stale domain. For broader on-page work, hand off to `run_site_audit`. 5. Call `get_business_reviews` for the user and the strongest competitor. Look at review volume, recency, average rating, and how many reviews got an owner reply. 6. Run `get_local_rank_grid` for the main keyword. Use the grid to separate "ranks at the storefront only" from "ranks across the service area", and each point's `topResult` to name who wins where the target doesn't. 7. Add `get_google_business_questions` and `get_business_updates` when the profile basics are already competitive and the gap is engagement rather than setup. 8. Turn the evidence into a prioritized list. Category and claim problems outrank posting cadence every time.
Always build the profile snapshot table for the whole chain — one `search_local_businesses` call covers it. The per-location deep-dives (reviews, grid, posts, Q&A) are where cost scales:
`h1`: the business name.
If a report template applies (see `seo-report`), its sections and tone replace this list.
Sections in this order:
1. **Snapshot** — one or two opening sentences, then a table of category, rating, review count, and claimed status. One row per location for a chain. 2. **The one fix** — one finding. Category and claim problems outrank posting cadence every time. 3. **Head to head** — a table of signal, this business, the best competitor, and
Open source alternative to Semrush and Ahrefs OpenSEO is an SEO tool for the people. If tools like Semrush or Ahrefs are too expensive or bloated, OpenSEO is a pay-as-you-go alternative that you actually control. All-in-one SEO tool for you and your AI agent.
Repo: every-app/open-seo
Find the questions people ask about a market, how ChatGPT answers them, and which sites get…
Audit how a brand shows up in AI answers about its market and deliver a short report on the…
Map SEO market leaders, winning content themes, keyword coverage, backlinks, and strategic…
Analyze one competitor's organic footprint, ranking keywords, content themes, backlinks, and…
Cluster keywords by intent and map them to existing or proposed pages.
Discover keyword opportunities, evaluate metrics and SERPs, and save/tag promising terms.