npx skills add ...
npx skills add every-app/open-seo --skill seo-audit
Audit a website and deliver a one-page, plain-language SEO report anyone can act on, centered on a single do-this-week action.
npx skills add every-app/open-seo --skill seo-audit
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.
projectId (use list_projects; if no project matches the domain, create one with create_project)The project-context tools are free and shared with the app and other agents.
get_project_context first and ground the report in it — what the business does decides which findings matter and what the one thing should be.business_overview. If it is empty, run a minimal inline setup: infer what the business does from the site and confirm it with the user in one question, write it back with update_project_context, then continue the audit. Never front-load the full interview; suggest seo-project-setup at the end for the rest.business_overview, the pages the report singles out via addKeyPages — and append a research log entry: { appendResearchLog: { summary: "Site audit: <domain>. Verdict: <conclusion>" } }.Deliver through the seo-report skill, saving with skill: "seo-audit". If that skill is not available, say so and stop before writing HTML.
whoami: confirm connection and remaining credits before spending anything. If OpenSEO is not connected, stop and ask the user to connect it.list_projects / create_project: resolve the projectId.run_site_audit: start the crawl (default page budget). Leave Lighthouse off (its default) — it adds several minutes and this report doesn't need it; pass runLighthouse: true only when the user asks for performance/Core Web Vitals depth. Then check get_audit_status (the crawl takes a minute or two — wait between checks rather than polling in a loop) and read get_audit_issues. Use get_audit_pages when 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.
whoami, then resolve the projectId.run_site_audit for the domain (Lighthouse stays off unless the user asked for performance depth). While it crawls, fetch get_backlinks_overview.get_audit_issues (and get_domain_overview if the site is alive).research_keywords call 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 the keyword-research skill for the full workflow. Skip this step entirely when the site is down — the one thing is all that matters there.seo-report skill (see Output format).h1: the domain. Then one or two opening sentences: the overall state and the one thing.
If a report template applies (see seo-report), its sections and tone replace this list.
Sections in this order:
seo-report, pointing at https://openseo.so/docs/skills/seo-audit ("OpenSEO SEO Audit skill"), then what the tools reported and what you verified by hand.Use a note for anything you could not verify or where the site's goal makes a standard recommendation the wrong call.