增强 · 实时数据本地 SEO Agent

Listing Accuracy Audit

逐项检查商家信息——类别、电话、地址——标出悄悄压低本地包排名的错误。

Agent 原生

在 Claude、ChatGPT 自定义 MCP 应用、OpenClaw、Hermes、Codex、Claude Code、Cursor、VS Code 或其他支持 MCP 的客户端中运行它。无需专门的 GUI 流程,也无需单独的 LLM API 密钥。

由实时公开数据支撑

每一步都建立在 UnifAPI 返回的实时公开数据记录之上,因此输出会引用真正在排名、在发布或正在被讨论的内容——而不是一份泛泛的最佳实践清单。

可组合且开源

Skills 相互交叉引用,并存放在一个公开的、MIT 风格的仓库中。在 GitHub 上阅读完整的 SKILL.md、fork 它,或原样在你的 Agent 中运行它。

运行提示词

把它粘贴进 Codex 或 Claude Code

这段提示词有意可自由编辑。替换其中的用户名、市场、预算与活动目标,然后让 Agent 在需要实时公开数据时调用 UnifAPI MCP。

Audit my business's public Google listing field by field — name, address, category, phone, rating, reviews — and flag anything inconsistent, missing, or that looks wrong.
这个 skill 如何运作

由 SKILL.md 渲染出的完整 skill

你是一名本地列表审计员。一个错误的品类、一个过时的电话号码,或一个缺失的地址,都会悄悄压低本地三件套(local-pack)排名,并把准备下单的客户送给竞争对手。本技能逐字段读取一个商家的公开地图/本地列表,并标出哪里的细节不一致、不完整,或与应有的样子不符——只读。

这是一个增强版技能:它通过 UnifAPI 读取实时公开数据。

使用 UnifAPI 获取实时证据

你无法凭记忆审计一个列表——你必须读取客户所见的实时记录,逐字段地,并确认它确实能浮现出来。用 unifapi 技能连接(OAuth MCP),然后调用:

  • 列表记录 —— maps/search、local/search —— 逐字段读取公开列表:name、address、category(主 + 副)、phone、website、hours、rating、review_count 和 place_id。先解析到单一 place_id,让审计锁定一条规范记录。循环查询(用商家名从几个邻近搜索点)以捕捉重复图钉——同一真实商家有多个不同 place_id 本身就是一项 Critical 级发现。
  • 可发现性检查 —— seo/serp —— 运行该商家自己的 name + city 查询,确认列表/网站确实浮现出来。一个错误、被压制或缺失的列表,连它自己的名字都搜不出来——而这比任何字段级发现都更优先,因为没有任何字段值得在客户找不到的记录上去修。seo/serp 还会暴露占据品牌查询的竞争图钉。

UnifAPI 仅读取公开数据——它绝不编辑或认领列表。保留任何 billing 元数据,以便输出能说明记录成本。

工作流

  1. **确立真相来源——必需。**从运营者(或其网站)拿到商家正确的 name、address、主 + 副 category、phone、website 和 hours。没有真相来源,就没有可供审计对照的对象;拉数据之前先询问。(如果存在 .agents/product-marketing.md / .claude/product-marketing.md,先读它。)
  2. 拉取公开列表,通过 maps/search / local/search 读取它在地图/本地结果上呈现的样子。捕获 place_id;用商家名循环几个邻近搜索点——如果有多个 place_id 解析到该商家,这种重复就是一项高影响的发现。
  3. 逐字段对照下面的清单,用评分表给每个字段指定一个状态(通过 / 修复 / 缺失)和一个影响等级(critical / high / medium / low)。
  4. 确认可发现性,用 seo/serp:列表在该商家自己的 name + city 上是否浮现?如果没有,这项发现领衔报告——它比任何字段级问题都优先。
  5. **按影响排序。**按影响等级给发现排序,让运营者先修排名和信任的杀手,而不是表面功夫。

字段清单 + 影响评分表

每个字段按它对本地排名和客户信任的撬动力评级:

字段通过条件常见失败错误时的影响
名称准确的真实名称,不塞关键词"Joe's Plumbing - Best Emergency Plumber Austin"Critical(违反指南 → 暂停风险)
地址单一规范地址,无重复图钉两个图钉、旧的套房号Critical(分散排名、错引客户)
主品类最具体的准确品类通用的"Contractor" vs "Plumber"Critical(决定列表有资格进入哪些查询)
副品类设置了相关的额外品类一个都没设High(丢失查询资格)
电话与网站一致的本地号码追踪/过时号码、NAP 不一致High(NAP 不一致、丢失来电)
网站可访问,与商家匹配缺失或域名错误High
营业时间已填写且为当前空白或误标"permanently closed"High(虚假的"已关闭"压低点击)
有评价有评价;评分反映评价零评价High(显著度 + 信任)
评分与评价主体一致—Medium

将影响设为:Critical = 暂停风险或阻断排名(塞关键词、重复地址、错误的主品类);High = 丢失资格、NAP 不一致或信任缺口;Medium/Low = 打磨。每个字段的完整明细以及 NAP 一致性方法见 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).

实战示例

真相来源:"Joe's Plumbing",12 Main St Austin,主品类 Plumber,电话 (512) 555-0190。

  • local/search 的 name 读作"Joe's Plumbing - Best Austin Plumber" → Fix / Critical(塞关键词有暂停风险,且不增加排名)。
  • 主 category 是"Contractor" → Fix / Critical(最大的单一杠杆;它决定"plumber"查询的资格——直接与 local-pack-audit 的相关性差距配对)。
  • 列表上的 phone 是 (512) 555-0148,网站页脚写 (512) 555-0190 → Fix / High(NAP 不一致)。
  • 零 review_count → Gap / High。
  • 对"Joe's Plumbing Austin"的 seo/serp 把列表浮现在第 1 位,无重复图钉 → 可发现性 OK。

裁决:先做两项 Critical 修复(去掉名称里的关键词、把主品类设为 Plumber),其他都靠后;品类修复很可能解决一个"缺席三件套"的单元格。读取:1 次列表 + 1 次 SERP。

护栏

  • **只读("眼睛,而非双手")。**仅公开数据。它识别该修什么;它绝不编辑、认领或验证 Google Business Profile,也不提交任何更改。运营者自己的团队来做任何更正。
  • **已确认 vs 推断。**公开列表数据可能滞后于后台视图——把观测到的字段作为公开快照来报告,把任何没有真相来源值的字段标为"未验证"而不是断言它错误,并让运营者对照自己的资料确认后再行动。
  • **带日期的快照。**给审计打上日期和搜索点;重跑是确认某项修复落地的唯一方式。
  • **不要建议操纵。**把塞名和重复/关键词手段标为需要移除的风险,绝不当作要添加的修复。建议与平台指南保持一致。

引用

相关技能

  • local-pack-audit(Local SEO):显示该商家在其目标查询上于本地三件套中排在哪里——一个错误的列表往往是"缺席三件套"单元格背后的原因。
  • local-competitor-scan(Local SEO):为该列表所面对的竞争对手画像。
  • unifapi:共享的数据技能——连接 MCP 并发现上述操作。

源码:GitHub 上的 listing-accuracy-audit/SKILL.md——可在那里提交 PR 来改进它。

公开数据工具

这个 skill 调用的实时 API

这个 skill 提到的每个操作都属于这些 UnifAPI 平台之一——它们对于产品代码、调试与自定义 Agent 流程仍然可见、可调用。

  • 逐字段表格:商户信息值 vs 预期值,附通过/待修复标记
  • 不一致与缺口的优先级清单
  • 该商户在搜索「自身名称 + 城市」时是否能出现
  • 每个值都引用到公开商户信息记录
相关 skills

本地 SEO Agent 中的更多 skills

在同一个 Agent 中把它们串联起来,从一个决策成果走向下一个——每个都有各自的运行提示词、工作流与预期输出。

local pack 审计

为某家商户的查询拉取实时的 local pack(本地结果包)/ 地图结果,并精确报告它相对竞品的排名。

打开 local pack 审计

本地竞品扫描

梳理在 local pack(本地结果包)中排在你前面的竞品,并用具体数字呈现它们拥有而你缺少的东西。

打开 本地竞品扫描
查看 本地 SEO Agent 中的每一个 skill