Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add swan-gtm/gtm-skills --skill local-ai-visibilitygit clone --depth 1 https://github.com/swan-gtm/gtm-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/swan-gtm/gtm-skills/local-ai-visibility)<a href="https://agentmods.dev/skills/swan-gtm/gtm-skills/local-ai-visibility"><img src="https://agentmods.dev/badge/skills/swan-gtm/gtm-skills/local-ai-visibility/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/swan-gtm/gtm-skills/local-ai-visibility"><img src="https://agentmods.dev/badge/skills/swan-gtm/gtm-skills/local-ai-visibility.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00087 | $0.00553 |
| Opus 5 | $0.00044 | $0.00277 |
| Sonnet 5 | $0.00017 | $0.00111 |
| Haiku 4.5 | $0.00009 | $0.00055 |
Grade A, and why
local-ai-visibility scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 38 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Use when a business serves specific towns, suburbs, or service areas and needs to know where AI recommends it. Produces a town-by-engine presence grid and a ranked list of the gaps where rivals get named instead.
Build the town matrix
List every town the business genuinely serves, not just the head city. Phrase each test question the way a local buyer types it — the service plus the place, in plain words. Ask per town, per engine. Results from the head city predict nothing about the suburb next to it: answer engines assemble local answers from thin, hyper-local evidence, and a brand can be the answer in one postcode and absent one over.
Record the local pack separately
For engines that lean on map results, capture presence in the map pack and presence in the written answer as two signals. They move for different reasons: the pack follows profile completeness, reviews, and proximity; the prose follows mentions, citations, and content. A brand can hold one and not the other, and the fix for each is different work.
Make the gap map
For every town-and-engine cell where the brand is absent, record who is named instead, in the engine's own words. Rank the gaps by demand — the search volume behind the question where it is known, population as the proxy where it is not. The output is a ranked list: town, question, who wins it now, and the quoted evidence.
What good looks like
The expert's tell is the visibility cliff: named consistently across the service area except two towns where one competitor dominates every engine — those two towns are the quarter's work, and the quoted answers explain why. The mediocre version checks the head city once, averages everything into a single local score, and hides exactly the gaps that matter. Good output names towns, names the rivals winning them, quotes the answers, and orders the list so the first row is the most valuable fix.
Rules
- MUST test each served town separately, in buyer phrasing.
- MUST record map-pack presence and written-answer presence as separate signals.
- NEVER average towns into one score.
- NEVER assume traditional local rankings imply presence in AI answers.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 38 lines · 87 tokens per session scan A 774c98d7c04e
local-ai-visibility is a skill published in the GitHub repository swan-gtm/gtm-skills (150 stars, last pushed 2d ago), licensed MIT. It adds 87 tokens to every session and 553 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
html-ppt-zhangzara-coral
OpenDesign's community-growth campaign across GitHub, Discord, and X: the loops, the content calendar, and the pipeline math. Built as a decision-grade marketing & GTM deck for growth team, community lead.
ads
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' 'audience targeting,' 'Google Ads,' 'Facebook ads,' 'LinkedIn ads,' 'ad…
co-marketing
When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says 'co-marketing,' 'partner marketing,' 'joint campaign,' 'who should we partner with,' 'integration marketing,' 'cross-promotion,' 'collaborate with another company,' 'partnership…
analytics
When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this,"…
press-media-relations
Use when the user asks to "build a media list for my launch", "write a launch press release", or "pitch press under embargo"; produces a three-tier media and analyst list (Tier 1 exclusive candidates, Tier 2 vertical press, Tier 3 communities and newsletters), an embargo pitch timing skeleton keyed to the…
launch-monitor
Use when the user asks to "monitor my launch", "track our Product Hunt / Hacker News ranking", or "watch the launch window"; runs the T-0 to T+30 window watch — pre-launch instrumentation verification (UTM/event checks, the upstream of RAMP P1), HN rank/points/comments polling with a comments-over-points flamewar…