Borrowing it
Nothing to install: this file belongs to upgrade-ventures/upgradeseo. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/upgrade-ventures/upgradeseo/main/.agents/skills/seo-audit/SKILL.mdgit clone --depth 1 https://github.com/upgrade-ventures/upgradeseoWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/upgrade-ventures/upgradeseo/seo-audit)<a href="https://agentmods.dev/skills/upgrade-ventures/upgradeseo/seo-audit"><img src="https://agentmods.dev/badge/skills/upgrade-ventures/upgradeseo/seo-audit/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/upgrade-ventures/upgradeseo/seo-audit"><img src="https://agentmods.dev/badge/skills/upgrade-ventures/upgradeseo/seo-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00031 | $0.01300 |
| Opus 5 | $0.00015 | $0.00650 |
| Sonnet 5 | $0.00006 | $0.00260 |
| Haiku 4.5 | $0.00003 | $0.00130 |
Grade A, and why
seo-audit scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
88% identical to seo-audit — 19 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
UpgradeSEO SEO Audit
Goal
Audit a domain and produce a one-page HTML report that anyone, including a complete SEO beginner, can read once and act on. The whole report exists to support ONE action the owner can take this week; everything else is supporting detail.
Use this when asked for an SEO audit or review of a domain, especially when the output is a shareable report for a non-expert. For expert-facing analysis of a competitor or market, use competitor-analysis or competitive-landscape instead.
Required inputs
- Domain to audit
projectId(uselist_projects; if no project matches the domain, create one withcreate_project)
UpgradeSEO MCP tools
whoami: confirm connection and remaining credits before spending anything. If UpgradeSEO is not connected, stop and ask the user to connect it.list_projects/create_project: resolve theprojectId.run_site_audit: start the crawl (default page budget), then pollget_audit_statusand readget_audit_issues. Useget_audit_pageswhen per-page evidence helps.get_backlinks_overview: backlink and referring-domain picture; usually the deciding data for the "one thing".get_domain_overview: estimated organic traffic and organic keyword count. Skip when the site is clearly dead.research_keywords: keyword ideas with volume and difficulty, used to propose a starting focus area. One call with 1-3 seeds taken from what the site is actually about. Skip when the site is down.
Keep total spend modest: one audit, one backlinks overview, at most one domain overview, and at most one keyword-research call. Only the overview and keyword lookups spend credits.
Workflow
whoami, then resolve theprojectId.run_site_auditfor the domain. While it crawls, fetchget_backlinks_overview.- When the crawl finishes, read
get_audit_issues(andget_domain_overviewif the site is alive). - If the audit comes back broken or nearly empty (certificate errors, 5xx, one page crawled): investigate before writing. Check the certificate and redirect variants yourself, and search the web for the business. A dead domain often has a live successor site, which flips the whole recommendation to "redirect the old domain".
- Verify every finding you plan to report against the live page HTML by fetching pages yourself. Report nothing you have not seen evidence for.
- Decide the one thing. Derive it from the data, never from generic advice. Common patterns:
- Clean site, no backlinks: outreach to guests, partners, or directories, with a ready-to-send message.
- Dead domain, live successor site: permanent redirect via hosting support, with the exact sentence to send them.
- Blocked or noindexed pages: remove the block. It must be doable this week by a non-technical person, with copy-paste-ready mechanics included.
- When the site is healthy, propose a starting focus area: run one
research_keywordscall seeded from the site's actual topic, then pick one theme and 3 to 5 specific, low-difficulty keywords the site can realistically rank for, each with the page or post to make. This is a starting direction, not a keyword strategy; point the user at thekeyword-researchskill for the full workflow. Skip this step entirely when the site is down — the one thing is all that matters there. - Write the report using
template.htmlin this skill directory (see Output format). - Review before delivering: run an adversarial pass with a second agent or model if your environment has one, otherwise do a fresh self-review. Give the reviewer the verified facts and have it attack four things: claims beyond the facts, unglossed jargon, anything overwhelming for a beginner, and dramatic language. The reviewer may also flag true facts it was not given; check those against your evidence instead of "fixing" them.
- Deliver the report: if your environment can publish or preview HTML (for example as an artifact), do that; otherwise save the HTML file and tell the user to open it in their browser.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 64 lines · 31 tokens per session scan A 0bb921fe9eb9
seo-audit is a skill published in the GitHub repository upgrade-ventures/upgradeseo (1 stars, last pushed 21d ago), licensed MIT. It adds 31 tokens to every session and 1,300 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 88% identical to seo-audit, differing in 19 lines, and is treated as a copy.
Other skills, from other repositories
semrush-backlink-audit
Audit backlink profiles with the semrush CLI. Use when the user asks for backlink analysis, referring domains, authority score, anchor text, indexed linked pages, backlink competitors, link gaps, backlink history, toxic or suspicious link signals, or off-page SEO recommendations based on Semrush CLI backlink data.
semrush-batch-workflows
Create, estimate, run, and adapt semrush CLI TOML batch recipes. Use when the user needs reusable Semrush CLI workflows, competitor audit recipes, keyword opportunity recipes, backlink audit recipes, paid-search recipes, traffic summary recipes, scheduled SEO data pulls, or API-unit estimates before multi-step Semrush…
semrush-cli-setup
Install, configure, validate, and troubleshoot the semrush CLI. Use when the user needs Semrush API auth, SEMRUSHAPIKEY or SEMRUSHOAUTHTOKEN setup, output/cache/rate-limit configuration, shell completions, API balance checks, structured error handling, or a prerequisite check before running other Semrush CLI skills.
semrush-competitor-research
Analyze SEO competitors, organic keywords, top pages, subdomains, and keyword gaps with the semrush CLI. Use when the user asks for competitor research, organic competitor discovery, content gaps, domain comparison, missing or untapped keywords, page-level SEO opportunities, or a competitive SEO audit using Semrush…
semrush-keyword-research
Research, expand, score, and prioritize SEO keywords with the semrush CLI. Use when the user asks for keyword research, search volume, CPC, difficulty, related keywords, broad-match keywords, question keywords, keyword clustering inputs, SERP domains for a query, or a prioritized keyword opportunity table powered by…
semrush-local-seo
Manage and analyze local SEO data with semrush CLI v4 commands. Use when the user asks for Semrush local listings, local business location records, Google Maps or map-rank campaigns, map-rank keywords, heatmaps, local competitors, NAP/listing QA, or local SEO reporting through the Semrush CLI.