FLOW SEO Framework
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
When a local business wants to check that its public map/local listing is accurate and complete — name, address, category, phone, rating, and review presence.
$ npx skills add unifapi-agent/agents --skill listing-accuracy-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install unifapi-agent/agents listing-accuracy-audit --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/local-seo-agent/listing-accuracy-audit .claude/skills/listing-accuracy-audit && 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 "listing-accuracy-audit" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/local-seo-agent/listing-accuracy-audit into .claude/skills/listing-accuracy-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listing-accuracy-audit", 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/local-seo-agent/listing-accuracy-auditType 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 listing-accuracy-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install unifapi-agent/agents listing-accuracy-audit --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/local-seo-agent/listing-accuracy-audit .agents/skills/listing-accuracy-audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "listing-accuracy-audit" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/local-seo-agent/listing-accuracy-audit into .agents/skills/listing-accuracy-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listing-accuracy-audit", 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 listing-accuracy-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install unifapi-agent/agents listing-accuracy-audit --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/local-seo-agent/listing-accuracy-audit .cursor/skills/listing-accuracy-audit && 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 "listing-accuracy-audit" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/local-seo-agent/listing-accuracy-audit into .cursor/skills/listing-accuracy-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listing-accuracy-audit", 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/local-seo-agent/listing-accuracy-audit--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 listing-accuracy-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install unifapi-agent/agents listing-accuracy-audit --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/local-seo-agent/listing-accuracy-audit .gemini/skills/listing-accuracy-audit && 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 "listing-accuracy-audit" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/local-seo-agent/listing-accuracy-audit into .gemini/skills/listing-accuracy-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listing-accuracy-audit", 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 listing-accuracy-auditInstalls 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 listing-accuracy-audit -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/local-seo-agent/listing-accuracy-audit .github/skills/listing-accuracy-audit && 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 "listing-accuracy-audit" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/local-seo-agent/listing-accuracy-audit into .github/skills/listing-accuracy-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listing-accuracy-audit", 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 listing-accuracy-audit -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 listing-accuracy-audit --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/local-seo-agent/listing-accuracy-audit .opencode/skills/listing-accuracy-audit && 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 "listing-accuracy-audit" agent skill from https://github.com/unifapi-agent/agents/tree/main/skills/local-seo-agent/listing-accuracy-audit into .opencode/skills/listing-accuracy-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "listing-accuracy-audit", 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.
listing-accuracy-auditWhen a local business wants to check that its public map/local listing is accurate and complete — name, address, category, phone, rating, and review presence.
Listing Accuracy Audit is an agent skill from unifapi-agent/agents. When a local business wants to check that its public map/local listing is accurate and complete — name, address, category, phone, rating, and review presence. Also use on "is my Google listing correct," "NAP consistency," "listing audit," "check my business profile," "wrong address on Google," "missing phone number," "listing accuracy," or "why does my listing look wrong." Reads public listing data only — read-only research.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `README.md` and `references/listing-checklist.md`).
It sits in Marketing & SEO, covering Local SEO. 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.
5 steps, taken from the first numbered list in SKILL.md.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From 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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Listing Accuracy Audit loads about 2.4k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 922 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); files beside SKILL.md are not scanned.
The full file from unifapi-agent/agents at commit fb53247, republished under its MIT licence (© unifapi-agent). 922 words, ~2,442 tokens.
.claude/skills/listing-accuracy-audit/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.You are a local-listing auditor. A wrong category, a stale phone number, or a missing address quietly suppresses local-pack rank and sends ready-to-buy customers to a competitor. This skill reads a business's public map/local listing field by field and flags where the details are inconsistent, incomplete, or off from what they should be — read-only.
This is an enhanced skill: it reads live public data through UnifAPI.
You cannot audit a listing from memory — you have to read the live record exactly as a customer sees it, field by field, and confirm it actually surfaces. Use the unifapi skill to connect (OAuth MCP), then call:
maps/search, local/search — read the public listing field by field: name, address, category (primary + secondary), phone, website, hours, rating, review_count, and place_id. Resolve to a single place_id first so the audit targets one canonical record. Loop the query (the business name from a few nearby search points) to catch duplicate pins — more than one distinct place_id for the same real business is itself a Critical finding.seo/serp — run the business's own name + city query and confirm the listing/site actually surfaces. A wrong, suppressed, or missing listing won't appear for its own name — and that outranks every field-level finding, because no field is worth fixing on a record customers can't find. seo/serp also exposes competing pins occupying the brand query.UnifAPI reads public data only — it never edits or claims the listing. Keep any billing metadata so the output can state record cost.
name, address, primary + secondary category, phone, website, and hours from the operator (or its website). Without a source of truth there is nothing to audit against; ask before pulling data. (Read .agents/product-marketing.md / .claude/product-marketing.md first if it exists.)maps/search / local/search as it appears on the map/local result. Capture place_id; loop the business name across a couple of nearby search points — if more than one place_id resolves to the business, that duplication is a high-impact finding.seo/serp: does the listing surface for the business's own name + city? If it doesn't, that finding leads the report — it outranks every field-level issue.Each field is rated by how much it moves local rank and customer trust:
| Field | Pass condition | Common failure | Impact if wrong |
|---|---|---|---|
| Name | Exact real name, no stuffed keywords | "Joe's Plumbing - Best Emergency Plumber Austin" | Critical (guideline violation → suspension risk) |
| Address | Single canonical address, no duplicate pins | Two pins, old suite number | Critical (splits rank, misroutes customers) |
| Primary category | Most specific accurate category | Generic "Contractor" vs. "Plumber" | Critical (gates which queries the listing is eligible for) |
| Secondary categories | Relevant additional categories present | None set | High (lost query eligibility) |
| Phone | Correct local number matching the website | Tracking/stale number, mismatched NAP | High (NAP inconsistency, lost calls) |
| Website | Resolves, matches the business | Missing or wrong domain | High |
| Hours | Present and current | Blank or "permanently closed" in error | High (false "closed" suppresses clicks) |
| Reviews present | Has reviews; rating reflects them | Zero reviews | High (prominence + trust) |
| Rating | Consistent with review body | — | Medium |
Set impact as: Critical = suspension risk or rank-blocking (name stuffing, duplicate address, wrong primary category); High = lost eligibility, NAP inconsistency, or trust gap; Medium/Low = polish. Full per-field detail and the NAP-consistency method are in references/listing-checklist.md.
# Listing Accuracy Audit — <business> — <date>
Resolved place_id: <…> · duplicate pins: <none / list>
## Field table
| Field | Listing value | Expected (source of truth) | Status | Impact | Note |
| ---------------- | ------------------------------------ | -------------------------- | ------ | -------- | ------------------------------------ |
| Name | Joe's Plumbing - Best Austin Plumber | Joe's Plumbing | Fix | Critical | Keyword-stuffed; guideline violation |
| Primary category | Contractor | Plumber | Fix | Critical | Blocks "plumber" query eligibility |
| Phone | (512) 555-0148 | (512) 555-0190 | Fix | High | Mismatch vs. website footer |
| Reviews | 0 reviews | — | Gap | High | No reviews → low prominence + trust |
| Address | 12 Main St | 12 Main St | Pass | — | — |
## Prioritized fixes (Critical → High → Medium → Low)
- One line per Fix/Gap row with the corrective action the operator's team would take.
## Discoverability
- Surfaces for "<name> <city>" on seo/serp? yes/no · duplicate-pin flag if found.
Every value cited to the public listing record it came from. Record cost consumed (or best estimate).Source of truth: "Joe's Plumbing", 12 Main St Austin, primary category Plumber, phone (512) 555-0190.
local/search name reads "Joe's Plumbing - Best Austin Plumber" → Fix / Critical (keyword stuffing risks suspension, adds no rank).category is "Contractor" → Fix / Critical (the single biggest lever; it gates eligibility for "plumber" queries — pairs directly with a relevance gap from local-pack-audit).phone on the listing is (512) 555-0148, website footer says (512) 555-0190 → Fix / High (NAP inconsistency).review_count → Gap / High.seo/serp for "Joe's Plumbing Austin" surfaces the listing #1, no duplicate pin → discoverability OK.Verdict: two Critical fixes (de-stuff name, set primary category to Plumber) before anything else; the category fix likely resolves a missing-from-pack cell. Reads: 1 listing + 1 SERP.
© 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 2 other files (references) in skills/local-seo-agent/listing-accuracy-audit of unifapi-agent/agents.
Open the folder on GitHubat commit fb53247
Listing Accuracy Audit 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 |
|---|---|---|---|---|---|---|
| Listing Accuracy Audit this skillunifapi-agent/agents | 589 | — | ~2.4k | Automated safety check: Pass | MIT | |
| FLOW SEO FrameworkAgriciDaniel/claude-seo | 19k | 2 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Google Mapscablate/mcp-google-map | 469 | — | ~909 | Automated safety check: Pass | MIT | |
| Google Maps Local SEOcablate/mcp-google-map | 469 | — | ~633 | Automated safety check: Pass | MIT | |
| Google Maps Travel Planningcablate/mcp-google-map | 469 | — | ~710 | Automated safety check: Pass | MIT | |
| SEO Project Setuppetera2c/simple-table | 229 | 2 repos | ~1.5k | Automated safety check: Pass | MIT |
AgriciDaniel/claude-seo
Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.
cablate/mcp-google-map
Search places, resolve addresses, compare routes, inspect neighborhoods, and retrieve geographic or environmental facts through the standalone @cablate/mcp-google-map CLI.
cablate/mcp-google-map
Analyze Google Business Profile visibility, geographic grid rankings, local search keywords, and nearby competitors through the standalone Google Maps CLI.
cablate/mcp-google-map
Build evidence-backed day trips, multi-day itineraries, and efficient stop sequences with Google Maps data through the standalone CLI.
petera2c/simple-table
Set up a durable local SEO workspace with project context, notes, goals, positioning, preferences, MCP checks, and Search Console data intake.
AgriciDaniel/claude-seo
Hub for site-wide SEO work: audits, technical checks, schema, content quality, local, hreflang and AI-search readiness, run through slash commands.
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…
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.
Categories
When a local business wants to check that its public map/local listing is accurate and complete — name, address, category, phone, rating, and review presence. Listing Accuracy Audit is an agent skill from unifapi-agent/agents. When a local business wants to check that its public map/local listing is accurate and complete — name, address, category, phone, rating, and review presence.
Listing Accuracy Audit fits situations like: tasks that involve Local SEO.
Run `npx skills add unifapi-agent/agents --skill listing-accuracy-audit -a claude-code`. Or copy the skill folder (skills/local-seo-agent/listing-accuracy-audit in unifapi-agent/agents) into .claude/skills/listing-accuracy-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add unifapi-agent/agents --skill listing-accuracy-audit -a codex`. Or copy the skill folder (skills/local-seo-agent/listing-accuracy-audit in unifapi-agent/agents) into .agents/skills/listing-accuracy-audit 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 listing-accuracy-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/listing-accuracy-audit, .gemini/skills/listing-accuracy-audit, .github/skills/listing-accuracy-audit and .opencode/skills/listing-accuracy-audit in your project.
SKILL.md names no scripts, command-line tools or credentials: Listing Accuracy Audit is instructions for the agent only.
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. Review the folder before installing.
Listing Accuracy Audit is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Listing Accuracy Audit: FLOW SEO Framework (AgriciDaniel/claude-seo, 19k stars), Google Maps (cablate/mcp-google-map, 469 stars), Google Maps Local SEO (cablate/mcp-google-map, 469 stars) and Google Maps Travel Planning (cablate/mcp-google-map, 469 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.