SEO Seranking
AgriciDaniel/claude-seo
SE Ranking AI visibility analyst (extension). An agent skill from AgriciDaniel/claude-seo.
When the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of prompts, and how that share of voice compares to named competitors over…
$ npx skills add unifapi-agent/agents --skill llm-mention-tracking -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install unifapi-agent/agents llm-mention-tracking --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/unifapi-agent/agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ai-visibility-agent/llm-mention-tracking .claude/skills/llm-mention-tracking && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "llm-mention-tracking" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/ai-visibility-agent/llm-mention-tracking into .claude/skills/llm-mention-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llm-mention-tracking", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/unifapi-agent/agents/tree/main/skills/ai-visibility-agent/llm-mention-trackingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add unifapi-agent/agents --skill llm-mention-tracking -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install unifapi-agent/agents llm-mention-tracking --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unifapi-agent/agents.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ai-visibility-agent/llm-mention-tracking .agents/skills/llm-mention-tracking && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "llm-mention-tracking" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/ai-visibility-agent/llm-mention-tracking into .agents/skills/llm-mention-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llm-mention-tracking", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add unifapi-agent/agents --skill llm-mention-tracking -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install unifapi-agent/agents llm-mention-tracking --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unifapi-agent/agents.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ai-visibility-agent/llm-mention-tracking .cursor/skills/llm-mention-tracking && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "llm-mention-tracking" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/ai-visibility-agent/llm-mention-tracking into .cursor/skills/llm-mention-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llm-mention-tracking", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/unifapi-agent/agents.git --path skills/ai-visibility-agent/llm-mention-tracking--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add unifapi-agent/agents --skill llm-mention-tracking -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install unifapi-agent/agents llm-mention-tracking --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unifapi-agent/agents.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ai-visibility-agent/llm-mention-tracking .gemini/skills/llm-mention-tracking && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "llm-mention-tracking" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/ai-visibility-agent/llm-mention-tracking into .gemini/skills/llm-mention-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llm-mention-tracking", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install unifapi-agent/agents llm-mention-trackingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add unifapi-agent/agents --skill llm-mention-tracking -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/unifapi-agent/agents.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ai-visibility-agent/llm-mention-tracking .github/skills/llm-mention-tracking && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "llm-mention-tracking" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/ai-visibility-agent/llm-mention-tracking into .github/skills/llm-mention-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llm-mention-tracking", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add unifapi-agent/agents --skill llm-mention-tracking -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install unifapi-agent/agents llm-mention-tracking --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/unifapi-agent/agents.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ai-visibility-agent/llm-mention-tracking .opencode/skills/llm-mention-tracking && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "llm-mention-tracking" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/ai-visibility-agent/llm-mention-tracking into .opencode/skills/llm-mention-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "llm-mention-tracking", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
llm-mention-trackingWhen the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of prompts, and how that share of voice compares to named competitors over…
LLM Mention Tracking is an agent skill from unifapi-agent/agents. When the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of prompts, and how that share of voice compares to named competitors over time. Also use on "LLM mention tracking," "track AI mentions," "share of voice in AI," "AI share of voice," "brand mentions in ChatGPT," "am I being mentioned more or less," "AI visibility trend," or "monitor AI citations over time." For a one-time audit of a prompt set, see ai-visibility-audit.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `README.md` and `scripts/panel.example.json`).
It sits in Marketing & SEO, covering AI search optimization and Marketing analytics. It works with OpenAI. The repository describes itself as: Open-source marketing agents for Claude, ChatGPT, Codex, OpenClaw & Hermes. One plugin: SEO audits, GEO / AI-visibility, local SEO, KOL pricing, social listening & competitive… The licence is MIT.
Read from SKILL.md and the folder at commit fb53247. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
UNIFAPI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
LLM Mention Tracking loads about 1.8k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 849 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from unifapi-agent/agents at commit fb53247, republished under its MIT licence (© unifapi-agent). 849 words, ~1,848 tokens.
.claude/skills/llm-mention-tracking/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Track a fixed prompt panel across ChatGPT and Gemini, preserving the underlying answers, citations, collection settings, and billing. Run inside the user's assistant or scheduler. UnifAPI supplies public data; this skill does not host a monitoring service.
Connect with the unifapi skill and discover the current operation schemas and prices before collecting data.
POST /geo/answers: executes one custom prompt in the ChatGPT or Gemini web interface. Returns separate observations.mentioned (brand-name aliases in answer text) and observations.cited (brand domain in answer sources). These observations support a fixed prompt panel.POST /geo/serp: samples Google AI Mode. It does not collect ChatGPT or Gemini. Its top-level is_target can match links as well as references; inspect answer references for citation evidence. best_rank is a result position, not a brand recommendation rank.POST /seo/serp with include_ai_overview: samples Google Search with AI Overviews. Keep it separate from AI Mode.POST /geo/mentions/search: searches an existing answer corpus; it does not execute each of your prompts. engine: google here means the Google AI Overviews corpus. The ChatGPT corpus is US/English only; that restriction does not describe live web-answer collection.POST /geo/mentions/cross-aggregated-metrics: returns counts for labeled target groups, not a ready-made share-of-voice score. Groups can overlap. Analyze these counts as a separate corpus study.POST /geo/mentions/history, /delta, /new-lost: provide historical corpus counts, signed changes, and newly observed/lost counts. These cannot reconstruct a customer's historical prompt panel. Coverage and collection changes can affect them.POST /geo/keywords/search-volume: estimates demand. Estimates are not actual prompt counts, traffic, or conversions. Freeze optional weights with the panel; report unweighted results alongside.Reuse product context from .agents/product-marketing.md or .claude/product-marketing.md when present. Record prompt ids and exact text, brand ids and aliases, citation domains, whether subdomains count, engines, locale, sample count, and weights. Use 10–30 relevant prompts to start. Repeated samples describe answer variability; they are not independent audience observations.
Use force_web_search: false for natural ChatGPT behavior or true for a forced-search study. Never pool the two. Gemini does not support that setting. The response model may be unavailable; retain null rather than inventing a model name.
A Node 22+ runner is included at scripts/monitor.mjs, with scripts/panel.example.json as a starting point. Replace the example brands and prompts before use. Configure UNIFAPI_API_KEY securely in the environment; do not paste keys into reports.
node scripts/monitor.mjs run panel.json snapshots/2026-09-05.json --dry-run
node scripts/monitor.mjs run panel.json snapshots/2026-09-05.json
node scripts/monitor.mjs diff snapshots/2026-09-05.json snapshots/2026-09-12.jsonThe runner reads the live OpenAPI price before making paid calls. max_credits bounds the run; each request also sends X-Unifapi-Max-Credits, so a price change cannot silently exceed its request budget. A successful /geo/answers response currently costs 30 credits ($0.03), including a valid no-answer result. Twenty prompts × two engines × two samples costs at most 2,400 credits ($2.40). Check the live contract each time.
The JSON snapshot keeps every response and billing block, request id, dispatch time and status. A sibling CSV exports the evidence rows. Rerunning against the same file resumes pending cells without recollecting successful ones. Transport timeouts and interrupted in-flight calls become unknown; the runner budgets their maximum possible cost and never automatically replays them. The API's idempotency header is best-effort across server instances, not an exactly-once guarantee. Inspect failed/unknown cells before collecting a replacement in a new run. Authentication, budget, rate-limit and unknown-outcome errors stop the batch.
Use a new snapshot file for each scheduled run. An external scheduler can invoke the same command. The runner stores data locally and does not send webhooks or configure a hosted scheduler.
Compute separately for each engine and fixed configuration:
mention coverage = successful cells mentioning brand / all successful cells
citation coverage = successful cells citing brand / all successful cells
mention share = brand mention cells / sum of mention cells for all tracked brands
citation share = brand citation cells / sum of citation cells for all tracked brands
weighted citation share = sum(weight × brand cited) / sum over all brands and cells(weight × brand cited)Count each brand at most once per sampled answer. A brand can be mentioned and cited in the same answer. Multiple brands can appear together: coverage need not sum to 100%, while tracked-brand shares sum to 100% when a denominator exists. Return N/A (null), not zero, for an empty denominator.
A valid no-answer response remains in successful-cell coverage as a zero-presence observation. Failed and unknown collections have no visibility observation; report them separately with completion rate and answer rate. Comparisons use the same successfully collected cells from both runs and show the paired denominator. Do not attribute a smaller successful sample to lost visibility.
The runner calculates both weighted and unweighted measures. Its unweighted coverage is the default headline. If using demand weights, label the source/date and explain missing or zero weights. Do not call weighted coverage “share”.
Lead with dated coverage and paired change, followed by tracked-brand share. Include engine, locale, search mode, panel hash, collection completeness, and total credits. List gained/lost mention or citation cells with their request ids and source URLs. Preserve the answer so a reviewer can assess false alias matches or changed wording.
Treat a name-only mention as a research lead, not proof that page structure caused the missing citation. A single run does not establish a ranking or the effect of a content edit. Compare several runs and investigate changes in engine/model, evidence, or collection coverage before claiming a trend or cause.
ai-visibility-audit: diagnose a dated prompt sample.ai-answer-gap: turn observed gaps into evidence-backed content priorities.unifapi: discover APIs, authenticate, and read the current contracts.© unifapi-agent, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts) in skills/ai-visibility-agent/llm-mention-tracking of unifapi-agent/agents.
Open the folder on GitHubat commit fb53247
LLM Mention Tracking next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| LLM Mention Tracking this skillunifapi-agent/agents | 589 | — | ~1.8k | Automated safety check: Pass | MIT | |
| SEO SerankingAgriciDaniel/claude-seo | 19k | — | ~567 | Automated safety check: Pass | MIT | |
| SEO AI Search Share Of Voiceseranking/seo-skills | 160 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Geo Fundamentalswasp-lang/wasp | 19k | 9 repos | ~861 | Automated safety check: Pass | MIT | |
| SEO GeoReScienceLab/opc-skills | 1.8k | 4 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude | 11k | — | ~2.8k | Automated safety check: Notes | MIT |
AgriciDaniel/claude-seo
SE Ranking AI visibility analyst (extension). An agent skill from AgriciDaniel/claude-seo.
seranking/seo-skills
Measure AI Search share of voice for a target domain versus competitors across ChatGPT, Perplexity, Gemini, Google AI Overview, and AI Mode.
wasp-lang/wasp
Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).
ReScienceLab/opc-skills
SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.
zubair-trabzada/geo-seo-claude
Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.
zubair-trabzada/geo-seo-claude
Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.
unifapi-agent/agents
When a seller or SDR wants to catch public buying intent on X/Twitter and LinkedIn — someone asking for a tool they sell, complaining about or switching off a competitor, or hiring for a role that…
unifapi-agent/agents
When the user wants to research customers from public communities, or synthesize customer language, pains, and objections.
unifapi-agent/agents
When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for.
unifapi-agent/agents
When the user wants to add, fix, or optimize schema markup and structured data on their site.
unifapi-agent/agents
When the user wants to audit, review, or diagnose SEO issues on their site.
unifapi-agent/agents
A skill your agent uses when working with UnifAPI public-data APIs or the UnifAPI MCP server: connecting OAuth MCP clients, discovering operations, calling social/search/scrape/news APIs…
Works with
Categories
When the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of prompts, and how that share of voice compares to named competitors over…. LLM Mention Tracking is an agent skill from unifapi-agent/agents. When the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of prompts, and how that share of voice compares to named competitors over time.
LLM Mention Tracking fits situations like: wants to track how often their brand; domain gets mentioned across ChatGPT and AI search engines over a set of prompts; how that share of voice compares to named competitors over time.
Run `npx skills add unifapi-agent/agents --skill llm-mention-tracking -a claude-code`. Or copy the skill folder (skills/ai-visibility-agent/llm-mention-tracking in unifapi-agent/agents) into .claude/skills/llm-mention-tracking in your project. Claude Code loads it when a task matches its description.
Run `npx skills add unifapi-agent/agents --skill llm-mention-tracking -a codex`. Or copy the skill folder (skills/ai-visibility-agent/llm-mention-tracking in unifapi-agent/agents) into .agents/skills/llm-mention-tracking in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add unifapi-agent/agents --skill llm-mention-tracking -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/llm-mention-tracking, .gemini/skills/llm-mention-tracking, .github/skills/llm-mention-tracking and .opencode/skills/llm-mention-tracking in your project.
Going by SKILL.md and its folder, LLM Mention Tracking needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node) and credentials named UNIFAPI_API_KEY. Our summary lists: Node.js; A credential in UNIFAPI_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
LLM Mention Tracking is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with LLM Mention Tracking: SEO Seranking (AgriciDaniel/claude-seo, 19k stars), SEO AI Search Share Of Voice (seranking/seo-skills, 160 stars), Geo Fundamentals (wasp-lang/wasp, 19k stars) and SEO Geo (ReScienceLab/opc-skills, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
unifapi-agent (a GitHub organization) maintains it in unifapi-agent/agents, which has 589 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on September 5, 2026.
Source: unifapi-agent/agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.