Check blog posts and articles before publishing, and audit live pages after publishing. Finds broken links, weak sources, missing SEO elements, and citation problems. Post-publish check runs 251 SEO rules via SEOmator CLI and adds custom checks for llms.txt, hreflang, and Core Web Vitals.
SkillScore100Maintained
Automatic
◆Marketing & Content pack
Last verified 10/7/2026
What it changes
Passed 23 of 23 test cases with the skill, and 13 of 23 without it.
Without skill57%
With skill100%
Checks it passed that the model alone missed
Lists WARN as a possible live check verdict.
Notes that the report will state the coverage limit.
Includes the `--json` flag for JSON output formatting.
and 10 more in the full report
10 fixed13 passed either way0 still failing0 broke2 errored
Pass-rate lift
+43 pp
Tokens
+20%
Agent turns
0%
Response time
-51%
Model gemini-3.6-flashMeasured 10/7/2026v323 of 25 cases passed with skill · 23 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 10
Prompt
Where are report files stored by default when running a draft audit on `content/posts/kubernetes-tips.md` without setting custom directory flags or custom configuration paths?
What was checked, without and with the skill
Checked
Without skill
With skill
Identifies default report output path as `qa-reports/kubernetes-tips/` beside the article.
Missed
Passed
case-08 · gemini-3.6-flash · 10/7/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md77 lines11 filesincludes scripts
SEO Content QA
Audit a saved draft or live page, keeping automatic measurements separate from editorial judgment. This Skill does not publish or rewrite an article unless requested.
Inputs and requirements
Draft mode: article Markdown path; keyword for optional SERP analysis; site domain for internal-link classification; optional JSON config.
Live mode: the published URL; optional SEOmator installation and PageSpeed Insights key.
Python 3.10+ and curl; pre-publish scripts use only the Python standard library. Search / fetch checks require network access. For AIHubMix pass --site-domain aihubmix.com or the actual target site.
SERP analysis uses DuckDuckGo and may use Jina Reader (r.jina.ai) for public search / competitor URLs. Use --no-jina for direct HTTP only, or --skip-serp to omit SERP checks. Do not send internal or credential-bearing URLs to external reader services.
SEOmator is optional for expanded live-page audits. Missing installation falls back to basic checks; report that coverage limit. Optional PageSpeed data is skipped without a key. No SEOmator rule count is guaranteed across versions.
Commands below run from the product-skills checkout. If this Skill is installed on its own, use its actual scripts/ directory instead of assuming the repository layout. Resolve input paths relative to the current working directory.
Draft review
python3 skills/seo-geo-qa/scripts/seo_qa_runner.py /path/to/article.md \
--keyword "target keyword" --site-domain aihubmix.com
# Use existing project defaults
python3 skills/seo-geo-qa/scripts/seo_qa_runner.py /path/to/article.md \
--keyword "target keyword" --config /path/to/seo-qa-config.json
# Skip public SERP access; still verifies article URLs over the network
python3 skills/seo-geo-qa/scripts/seo_qa_runner.py /path/to/article.md \
--site-domain aihubmix.com --skip-serp
# Return JSON on stdout only, without saving report files
python3 skills/seo-geo-qa/scripts/seo_qa_runner.py /path/to/article.md \
--site-domain aihubmix.com --skip-serp --stdout-json
Default output: timestamped Markdown and JSON under qa-reports/<article-stem>/ beside the article. --report-dir selects the exact output directory; config reportDir is relative to the invocation working directory and adds an article-slug subdirectory. See configuration.md.
Run the draft runner and read the latest report for this article revision.
Address critical_issues first, then review warnings, unavailable checks and llm_review_items.
Verify core claims against the actual cited sources, even when URLs are live and tiers are favorable. Automatic source tiers / SERP overlap are heuristics; document any evidence-backed editorial disagreement without altering the raw report.
Hand concrete fixes to the writer, or fix them if authorized. --mode writer names fixable failures REVISE; it is not a passing verdict.
Recheck the revised artifact. Cap write / QA iteration at three rounds, then report unresolved items rather than looping or hiding failures.