Geo audit
NoCodeWork Growth OS — open-source Growth OS for any AI agent: point it at a business URL, persist USP/UVP/ICP context, run a growth audit (SEO, speed, GEO/AI-visibility, competitors, live GA4/GSC), then delegate to marketing skills. Runs on Claude Code, Codex, Hermes & MCP.
npx -y skills add nocodework/growth-os --skill geo-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 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.
What its author says it does
Copied from the file, not written here
Measure how visible a brand is inside AI assistants (ChatGPT, Gemini, Claude, Perplexity) for its ICP's real questions. Runs a repeatable protocol of ~15 natural-language queries, reads whether and how the brand shows up, and reports Visibility, Rank, Sentiment, Recommendation rate, Share of Voice, and citation domains. Use when someone runs /growth-os:geo-audit, says "am I visible in ChatGPT," "AI visibility," "do LLMs recommend us," "GEO baseline," or when the growth audit needs the GEO section.
SKILL.md
5.7 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
geo-audit
Search is splitting. A growing share of buying research now happens inside an AI assistant that answers directly and never sends a click. geo-audit measures whether your brand exists in that layer: when someone asks an assistant the questions your ICP actually asks, do you get named, recommended, and cited — or does a competitor?
What it does
Runs a repeatable measurement protocol and produces a scorecard you can re-run over time to see the trend:
- Visibility — in what share of the query set does the brand appear at all.
- Rank — when it appears, where in the answer (first named, mid-list, footnote).
- Sentiment — how it's framed (recommended, neutral mention, caveated, negative).
- Recommendation rate — how often the assistant actively suggests it, versus merely listing it.
- Share of Voice — brand mentions as a fraction of all brand mentions across the set (you vs the field).
- Citation domains — which sources the assistants pull from when they answer these questions (your owned domains, review sites, competitors, publications). This is the roadmap for
geo-content.
When to use
- As the GEO section of
/growth-os:audit. - Standalone, when someone specifically wants to know their standing in AI answers.
- On a repeating baseline (monthly) to measure whether GEO work is moving the needle.
Inputs
- A written hub (
.agents/product-marketing.md) — the ICP and category drive the query set. Without it, ask for the ICP or route tocontext. - The brand name and its main alternatives (from the hub).
The protocol
The whole point is repeatability. Same queries, same method, same read — so the numbers compare across runs. Design the run once, then keep it fixed.
-
Derive ~15 queries from the ICP. Turn the ICP's real jobs-to-be-done into the natural language a buyer would actually type — not brand-name lookups. Mix:
- Category discovery: "best tools for <ICP job>," "how do teams handle <pain>."
- Comparison: "<category> alternatives," "<competitor> vs others."
- Recommendation: "recommend a <category> for <ICP context>, and cite your sources." Explicitly ask for sources where the assistant supports it — you want the citation domains.
-
Reformulate to natural phrasing. Rewrite each query the way a person speaks, not keyword-stuffed. Assistants reward natural questions; keyword strings skew the result.
-
ASCII-fold and normalize. Strip accents/diacritics and odd punctuation so the same string reproduces cleanly across engines and across runs. Keep a canonical list of the exact strings used — this is the test fixture.
-
Run each query in a clean, signed-out session per engine. Incognito / no logged-in history so personalization doesn't contaminate the read. Run the same set against ChatGPT, Gemini, Claude, and Perplexity.
-
Record structured results. For every query × engine: did the brand appear (Y/N), at what rank, with what sentiment, was it actively recommended, which domains were cited. Note competitor mentions in the same cells for Share of Voice.
-
Aggregate the six metrics across the set and write a compact scorecard plus the citation-domain list.
Methods: UI-first, API optional
- UI-first (default, free). Drive the assistants through the browser (Claude-in-Chrome), one query at a time, reading the rendered answer. No API keys, no per-query cost — the sensible default for most users. Slower and manual, but zero setup.
- API (optional). Where an engine exposes an API and the user has a key, script the run for speed and consistency. Faster and more repeatable, but costs tokens and not every consumer assistant has a comparable API surface. Offer it; don't require it.
State which method a given run used, because results aren't perfectly comparable across methods — keep a run on one method for trend integrity.
Output
A GEO scorecard: the six metrics, a per-engine breakdown, the ranked citation-domain list, and a short read of where the brand is weakest (invisible for which queries, out-cited by whom). Hand the scorecard back to audit when called as a sub-audit; write a standalone section when run directly.
Which adapters / CLI it calls
- Browser automation (Claude-in-Chrome) for the default UI-first method — no Growth OS read-side adapters needed.
- Optionally, assistant APIs if the user has keys (their keys, their
.env). - Reads the hub for the ICP; writes no analytics calls.
How it delegates
- In: called by
auditfor the GEO section. - Out: the citation-domain list and the "invisible for these queries" gaps feed directly into
geo-content, which turns them into a citability plan.geo-auditmeasures;geo-contentfixes.
Guardrails
- Fixed fixture. Don't quietly change the query set between runs, or the trend is meaningless. Version the query list.
- Clean sessions. Signed-out/incognito every time, or personalization poisons the baseline.
- Honest small-N. Fifteen queries is a directional read, not a census. Report it as a snapshot with a method note, not a precise market share.
- Read-only. Observes what assistants say; changes nothing.