GEO Doctor plugin
A skill and CLI for GEO: check whether AI models can read your site, find who they recommend instead, draft fixes and re-measure.
- 607 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The publishing script updates the site through WordPress or an arbitrary API and needs write access.
- Automatic AI sampling uses your API keys and spends their limits, and the autopilot runs weekly.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/geo-doctorDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The publishing script updates the site through WordPress or an arbitrary API and needs write access.
- Automatic AI sampling uses your API keys and spends their limits, and the autopilot runs weekly.
This is third-party code. Review the repository files before installing.
What it does
GEO Doctor walks through an eight-step optimization for AI answers. The agent interviews the owner about the product and target AI, audits the site, builds a "fact card" from official pages, drafts 20 to 30 questions in real users' wording and picks ten core ones. It then asks for the target model's answers to be exported, computes the recommendation rate, ranks competitors and lists the questions where a competitor is recommended and you are not. The site audit scores it from 0 to 100 across seven groups: access and redirects, robots.txt rules for nine AI and search crawlers, firewall blocking, noindex, canonical, body text in raw HTML, and sitemap and structured data. It runs without installing the skill: `npx github:Fangx-AI/geo-doctor <url> --phrase "<phrase from the page>"`. At the writing step the skill prepares one article, FAQ or comparison page per gap question, relying only on confirmed facts. A script catches placeholders, exaggeration, unconfirmed facts and duplicates. At publishing, the site updates automatically (static site, WordPress, any API) while material for third-party platforms is packaged for manual posting. The same questions are then asked again and results compared. On GitHub an autopilot can be enabled: a weekly measurement, drafts for new gaps and a pull request.
Who it is for. Owners of products, sites and apps who need to know why ChatGPT, DeepSeek, Doubao or Claude recommend competitors, and who want to fix it themselves.
Good fit when
- You need to know whether an AI crawler sees your site's text or only an empty app container.
- You suspect that AI models name competitors in answers to your target queries.
- You want one list of verified product facts so texts do not contradict one another.
- You need a batch of articles and FAQs for real user questions, but only from confirmed facts.
- You want a before and after measurement on one question set and a weekly autopilot report.
Not a fit when
- You need a guarantee that an AI model will recommend you: the author says plainly that nobody can promise it.
- The business is a local offline one: a version for local outlets is still in development.
- You want automatic mass posting without fact checks: the script blocks duplicate and unconfirmed material.
Example request
Help me do GEO for our time-tracking service: check whether AI models can read the site and show who they recommend instead of us.Limitations
Ordinary chat apps such as Doubao and DeepSeek cannot install skills: diagnosis runs in Claude Code, Codex, Kimi Code or WorkBuddy while answers are taken in the apps themselves. One-sentence installation has been tested only in WorkBuddy on Windows.
Answers through an API can differ from answers in the app, because an API usually does not browse and has no login. Automatic sampling therefore suits trends, while decisive measurements are made by hand in the app.
The site audit script identifies itself as an AI crawler to expose firewall blocking and visits only the given address, its robots.txt and sitemap.xml.
How to disable. For Claude Code run `/plugin uninstall geo-doctor` or delete the `skills/geo-doctor` folder from the skills directory. Remove the autopilot workflow from `.github/workflows`.
FAQ
How do I install GEO Doctor in Claude Code?
Run `/plugin marketplace add Fangx-AI/geo-doctor`, then `/plugin install geo-doctor@geo-doctor`. Then say "help me do GEO" and the skill asks about the product.
Does it cost anything?
No. The skill and audit scripts are open under the MIT license and spend only your AI assistant's quota. Automatic API sampling uses your DeepSeek, Qwen, Kimi and other keys.
What does the site audit check?
Seven groups: access and redirects, robots.txt for nine crawlers, firewall blocking, noindex, canonical, body text in raw HTML, and sitemap and structured data.
How is this different from spamming articles?
Each article answers a specific question where AI does not recommend you and takes facts from the confirmed card. The script blocks reworded duplicates, placeholders and exaggeration.
Is there a graphical interface?
Yes, `npx -p github:Fangx-AI/geo-doctor geo-studio` opens a workbench at http://127.0.0.1:4173 with recommendation trends and question gaps.
Discussion
No questions or reviews yet.
Related
PluginsSEO and AI-search optimization skill: a 100-point site score, an action plan, ready fixes and 20 diagnostic scripts.
A CLI, Python library and MCP server that scores how ready a site is to be cited by ChatGPT, Perplexity and AI Overviews
A Claude Code skill set for auditing sites for AI search: citability, AI crawler access, llms.txt, schema and reports
A Claude Code skill with a script and checklist: Yandex and Google indexing, Webmaster, Metrika and visibility in AI assistants
E-GEO scores a page on 10 GEO criteria, rewrites it and writes JSON-LD so AI search engines cite the site more often
A plugin for Claude Code and Codex: a seven-stage GEO project from intake to a re-audit of visibility in AI answers, with skills for each stage
README in short
The Chinese README opens with the promise that AI will start recommending you, gives one-sentence install and a per-tool table, describes the eight steps, a FAQ, an audit badge and a ranking of AI crawler blocking on 97 Chinese sites. It ends with links to a GEO handbook and contribution rules.
README badge
Original SKILL.md
--- name: geo-doctor description: GEO 医生:中英双语 GEO(生成式引擎优化)全流程助手。用户说“帮我做 GEO”,或提到 AI 搜索优化、让豆包/DeepSeek/元宝/ChatGPT/Claude 推荐我、AI 不提我或说错我的信息、AI 爬虫、robots、事实卡、AI 可见度、发什么内容/发到哪个平台能被 AI 引用时使用。帮助软件、产品、网站、小程序改善在豆包、DeepSeek、元宝、千问、文心、Kimi,以及 ChatGPT、Claude、Perplexity、Gemini、Google AI 概览、Copilot 中的可见度和事实准确性,不保证推荐。流程:问诊 → 体检 → 事实卡 → 问题集 → 采样(可用 API 自动问)→ 诊断 → 批量写内容 → 发布(官网自动发,第三方平台打包由人发)→ 复查。GEO doctor (generative engine optimization): use when the user says "help me with GEO", asks how to get recommended or cited by ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews or Copilot, or says AI ignores or misdescribes their product. license: MIT metadata: version: "0.9.0" homepage: https://github.com/Fangx-AI/geo-doctor --- # GEO 医生 你是一名严谨的 GEO 医生。**用用户的语言交流**:用户说英文,你就全程用英文回复,`geo/` 里的产出和写出的内容也用英文;本技能的说明文件是中文的,读懂后用用户的语言转述。 病人是用户的**软件、产品、网站或小程序**;病症是"AI 不提它、说错它、推荐了别人"。你的工作和看病一样:**体检、问诊、诊断、开方、复查**,每一步都要有证据。 ## 三条铁律(任何一步都不能违反) 1. **只用事实。** 只用用户提供的材料和你实际查到、能给出处的信息。不编造价格、功能、客户、案例、数据、评价;缺资料就写"未知"并列出要补什么。 2. **不承诺结果。** 没有人能保证任何 AI 推荐谁,推荐也买不到。效果只用复查数据说话,并写明问了几题、每题几次。 3. **不做投毒。** 不批量生成同质化软文,不编造用户评价和"真实体验",不教用户刷评、养号、站群。详见 [references/compliance.md](references/compliance.md)。 ## 看诊流程 先读对应的说明文件再动手,不要凭记忆。所有产出写进用户当前项目的 `geo/` 目录。先检查已有进度,补缺或追加,不覆盖旧原文;复查使用新批次。 ### 运行环境与资源 - 以本 `SKILL.md` 所在目录为技能根目录,读取对应的 `references/`、`assets/` 和 `scripts/`,不要把它们当成用户项目里的路径。第 2–4 步分别使用 [fact-card.yaml](assets/fact-card.yaml)、[questions.csv](assets/questions.csv)、[runs.csv](assets/runs.csv)。 - 第 1 步的体检用 `scripts/geo-audit.mjs`,第 4、5 步的自动采样和统计用 `scripts/geo-probe.mjs`,第 6、7 步的批量检查、发布和打包用 `scripts/geo-publish.mjs`,第 7 步没有能被 AI 读懂的官网时用 `scripts/geo-site.mjs` 从事实卡生成事实站,第 6 和第 8 步可以用 `scripts/geo-autopilot.mjs` 按缺口批量起草、每周自动复查并开 PR,都是零依赖的 Node.js 脚本。 - 缺少参考文件或模板时,说明具体缺哪个文件,请用户补充完整技能包;不要假装读过或凭空补出模板。只收到链接或粘贴文本,不代表已持久安装。 - 根据实际工具能力选择执行方式,不按平台名称假定能联网、运行命令或写文件。不能写文件时,在对话中按目标文件名给出可复制的完整内容,并注明“待保存”;不能运行脚本时,按第 1 步做可完成的人工检查,未检查项标为“未验证”,不编造得分。 - 没有联网能力时使用用户提供的材料,缺出处的事实标为“未知”;不要为了继续流程重复索要无关账号登录。 | 步 | 做什么 | 说明文件 | 产出 | | --- | --- | --- | --- | | 0 | **问诊**:确认对象、目标 AI、所在行业 | 本页"开始之前" | `geo/case.md` | | 1 | **体检**:AI 爬虫能不能读到网站 | [01-audit.md](references/01-audit.md) | `geo/audit.md` | | 2 | **事实卡**:所有渠道统一的唯一事实源 | [02-fact-card.md](references/02-fact-card.md) | `geo/fact-card.yaml` | | 3 | **问题集**:用户会怎么问 AI | [03-questions.md](references/03-questions.md) | `geo/questions.csv` | | 4 | **采样**:用户在目标 AI 里问,把回答贴回来;有 API Key 时可自动问,结果单独成批 | [04-sampling.md](references/04-sampling.md) | `geo/runs/<批次>/`、`geo/runs.csv` |