ai-visibility-report
Skill1 starsChanged 31 days agoMITView on GitHub
Executive report on how a brand shows up in AI answer engines (ChatGPT, Perplexity, Gemini, Google AI, Claude, Grok) from Era's monitoring data — visibility, share of voice, sentiment, position, citations, per-engine breakdown, what moved and why. Use for "how are we doing in AI search", weekly/monthly AI visibility reports, or an AEO status update.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- MarkUpX/equalai-claude-plugintheir own version, first seen Oct 17, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- MarkUpX/equalai-claude-plugin★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- ai-keyword-researchSkill
- answer-engine-contentSkill
- article-reviewSkill
- citation-sourcesSkill
- competitor-gapSkill
- content-briefSkill
- content-calendarSkill
- eraSkill
- geo-auditSkill
- llms-txtSkill
- on-page-seoSkill
- publish-to-siteSkill
- schema-markupSkill
- technical-seo-auditSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Before a planning session, to ground it in measured data.
- Very specific: line 19
Not for: a prompt-level fight with one competitor (competitor-gap), a source list for outreach (citation-sources), or a page audit …
- Distinctive: line 84
Read-only. This skill never changes prompts, competitors or content.
- Distinctive: line 85
Do not infer causality the data cannot show.
- Distinctive: line 89
Keep the executive version under 600 words plus tables.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AI visibility report
Produce a report a marketing lead can forward: the headline numbers for one brand, how they changed, which engines drive the change, which sources the engines lean on, and the three things to do about it — every claim backed by a number or a quoted answer.
When to use
- "How are we doing in ChatGPT / Perplexity / AI search?"
- A recurring (weekly, monthly, quarterly) AI visibility or AEO report.
- Before a planning session, to ground it in measured data.
Not for: a prompt-level fight with one competitor (competitor-gap), a source list for
outreach (citation-sources), or a page audit (geo-audit).
Inputs
- Brand — a name; resolve it with
list_brands. Ask if ambiguous. - Window —
days, default 30. For "what changed", compare to the previous window of the same length when the data allows (90-day analytics contain the daily series needed for a 30-vs-30 comparison). - Audience — executive (short, decisions) or practitioner (full tables). Default executive.
Steps
- Resolve the brand.
list_brands→brand_id, brand website, tracked providers (list_providersif the dashboard does not list them). - Headline numbers.
get_brand_dashboard(brand_id, days)for visibility, share of voice, sentiment, average position, citation counts. These are the five numbers at the top of the report. - Trend and per-engine breakdown.
get_brand_analytics(brand_id, days)for the daily series and the per-provider split. Compute: the window average, the change versus the first half of the window (or the previous window), and the best and worst engine for visibility. Name the engine where the move happened. - Share of voice context.
get_share_of_voice(brand_id, days)for the competitor table. Rank by current share of voice; note who gained and who lost. - Sentiment.
get_sentiment(brand_id, days)— overall score and the positive/neutral/negative counts. If negatives exist, pull two or three withlist_answers+get_answerand quote the sentence that carries the sentiment. - Citations.
get_top_citations(brand_id, days)andlist_cited_domains(brand_id, days, limit=15). Split into the brand's own domain, competitor domains, and third parties. The third-party list is where the engines are getting their facts. - Explain the biggest move. For the metric that changed most, list recent answers on
the engine that moved (
list_answersfiltered byprovider, and bydate_from/date_to), open three to five withget_answer, and say what the engine did differently: a competitor it started naming, a source it started citing, a question it now answers without brands at all. For more than five answers, hand the ids to theanswer-evidence-readersubagent (ships with this plugin) and use its digest, so the full answer texts never crowd the report. - Charts (when the client renders them):
chart_brand_dashboard,chart_brand_visibility,chart_share_of_voice,chart_sentiment. Put them after the summary, not before. - Write the report using the template in
references/report-template.md.
Output
Lead with a five-line summary block:
Brand · window · engines monitored
Visibility 42% (▲ 6 pts vs previous 30 days) best: Perplexity 61% · worst: Gemini 18%
Share of voice 27% (#2 of 6; leader: Competitor A 34%)
Sentiment +0.42 (31 positive · 12 neutral · 3 negative)
Citations 118 total · 9 to our own domain · top third-party: g2.com, reddit.com, techradar.comThen, in order: What moved and why (evidence: quoted answers, named sources), Engine by engine (table), Competitors (table), Where the engines get their facts (domain table with own/competitor/third-party labels), Three actions (each with the metric it should move and how you would know within a month), Method (window, prompt count, providers, definitions in one line).
Numbers are quoted from the tool payloads, rounded to whole percentages. Say "no data" rather than inventing a comparison when a previous window does not exist.
Guardrails
- Read-only. This skill never changes prompts, competitors or content.
- Do not infer causality the data cannot show. "Visibility on Gemini fell after Gemini began citing competitor.com for 'best X'" is fine when the answers show it; "because of the algorithm update" is not.
- One brand per report. For a portfolio, run the skill per brand and let the user compare.
- Keep the executive version under 600 words plus tables.
Era tools used
list_brands,list_providers(read) — resolution.get_brand_dashboard,get_brand_analytics,get_brand_visibility,get_share_of_voice,get_sentiment(read) — metrics.get_top_citations,list_cited_domains(read) — sources.list_answers,get_answer(read) — evidence.chart_brand_dashboard,chart_brand_visibility,chart_share_of_voice,chart_sentiment(read) — charts.get_glossary(read) — definitions, if the user asks what a metric means.
REST equivalents: GET /api/v1/brands/{brand_id}/dashboard?days=30,
/analytics, /citations/domains, /citations/urls, /answers, /answers/{answer_id}
with X-API-Key.
Without Era
Without monitoring data there is no report. Offer to run geo-audit on the brand's key
pages instead, and explain in one sentence that visibility and share of voice come from
running the brand's prompts against the engines on a schedule, which is what Era does.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

