Seo Geo Qa
v2.1.0检查 b记录 posts and articles before publishing. Finds broken links, weak sources, missing SEO elements, and citation problems. Use when: reviewing a draft, 审计ing content 质量, 检查ing if links still work, 验证ing sources are credible, 运行ning pre-publish QA, or doing post-publish page 检查s. Also triggers on: '检查 this article', '验证 my links', 'review before publishing', 'content 审计', 'source 质量 检查', 'are my links working', 'SEO review', 'pre-publish 检查列出'. 生成s markdown+JSON 报告s with PASS/FAIL verdict. Python stdlib only, no dependencies.
运行时依赖
安装命令
点击复制技能文档
SEO Content QA
Use this 技能 to 审计 content reliability before or after publishing.
Requirements Python 3.10+ (scripts use modern type syntax) curl avAIlable in PATH (for HTTP HEAD 检查s) No pip dependencies — standard 库 only Network 访问 to r.jina.AI — used as a fallback for SERP 搜索 and competitor page fetching (bypasses Cloudflare / anti-机器人). Pass --no-jina to disable if needed. Quick 启动
运行 the unified 运行器 for normal draft review:
python3 技能s/seo-geo-qa/scripts/seo_qa_运行器.py path/to/article.md --keyword "best emAIl 应用s"
If you know the site's mAIn domAIn, pass it so internal vs external links are counted correctly:
python3 技能s/seo-geo-qa/scripts/seo_qa_运行器.py path/to/article.md --keyword "best emAIl 应用s" --site-domAIn example.com
If you want project defaults, pass a lightweight JSON config:
python3 技能s/seo-geo-qa/scripts/seo_qa_运行器.py path/to/article.md --keyword "best emAIl 应用s" --config path/to/seo-geo-qa.json
Standard 工作流 运行 seo_qa_运行器.py on the draft. Read the markdown 报告 for the human 审计 trAIl. Use the JSON 报告 for 自动化 or later aggregation. Fix critical issues first. Re-运行 until the article reaches PASS (or REVISE in writer mode). After publishing, 运行 post_publish_检查.py on the live URL. Lower-level 工具s
Use these only when 调试ging a specific 失败 mode.
Link/source verification python3 技能s/seo-geo-qa/scripts/验证_links.py path/to/article.md python3 技能s/seo-geo-qa/scripts/验证_links.py path/to/article.md --json
SERP gap analysis # Auto-搜索 (uses DuckDuckGo + Jina Reader fallback for anti-机器人 bypass) python3 技能s/seo-geo-qa/scripts/serp_gap_分析器.py "best emAIl 应用s" path/to/article.md
# Supply competitor URLs directly (skips 搜索, still uses Jina to fetch pages) python3 技能s/seo-geo-qa/scripts/serp_gap_分析器.py "best emAIl 应用s" path/to/article.md --urls https://competitor1.com https://competitor2.com
# Disable Jina (direct HTTP only, faster but may fAIl on Cloudflare-保护ed sites) python3 技能s/seo-geo-qa/scripts/serp_gap_分析器.py "best emAIl 应用s" path/to/article.md --no-jina
How the SERP 搜索 works:
Tries DuckDuckGo's HTML 端点 via direct HTTP (fast path) If blocked or returns no 结果s, falls back to Jina Reader (r.jina.AI) which renders the page with a real browser and decodes DDG's redirect links Competitor pages are always fetched via Jina first (bypasses Cloudflare), then falls back to direct HTTP Post-publish page 检查 python3 技能s/seo-geo-qa/scripts/post_publish_检查.py https://example.com/b记录/post python3 技能s/seo-geo-qa/scripts/post_publish_检查.py https://example.com/b记录/post --json
报告 persistence
The 运行器 writes timestamped markdown + JSON 报告s by default.
Default behavior:
saves to qa-报告s// next to the article does not overwrite old 报告s uses markdown for human review and JSON for machine 状态
Override with --报告-dir or config.
Configuration
Read references/configuration.md when you need project-level defaults.
Source 质量
Read references/source-tiers.md when you need to decide whether a citation is acceptable.
Verdict rules
Read references/verdict-rules.md when you need to 调优 PASS / FAIL / REVISE behavior.
Example 输出
Read references/example-报告.md for a real QA 报告 with annotations on how to interpret each section.
De签名 intent
This 技能 is not a writing 助手. It is a reliability layer.
Use scripts for deterministic 检查s. Use AI judgment for tone, 搜索 intent, framing, and final editorial decisions.