Audit
Run the Growth OS growth audit — SEO, page speed / Core Web Vitals, GEO (AI visibility), competitors, and a live GA4/GSC baseline — and write the results as an "## Audit Findings" section in the context hub. Use when someone runs /growth-os:audit, says "audit my growth," "how's my SEO," "give me a growth report," "what should I fix," or after onboarding to get a first read on the business.From its SKILL.md
npx -y skills add nocodework/growth-os --skill auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.2 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
audit
The diagnostic pass. audit looks at a business from every angle Growth OS can measure — how it's found (SEO), how fast it loads (page speed), whether AI assistants know it exists (GEO), who it's up against (competitors), and what the live analytics actually say (GA4/GSC) — then writes a prioritized findings section back to the hub so the whole picture lives in one place.
What it does
Orchestrates five sub-audits and merges them into one ranked report:
- SEO — crawl the site's key pages. Titles, meta descriptions, heading structure, indexability, internal linking, structured data presence, thin/duplicate content, obvious on-page gaps.
- Page speed / Core Web Vitals — pull PageSpeed Insights for the main templates (home, a key landing page, a blog post). LCP, CLS, INP, and the top opportunities.
- GEO — delegate to
geo-auditfor a snapshot of how visible the brand is inside ChatGPT / Gemini / Claude / Perplexity for its ICP's questions. - Competitors — from the positioning in the hub, identify the main alternatives and note where they out-rank or out-answer the business (search presence, AI citations, obvious content coverage gaps).
- Live baseline — if GA4 and Search Console are connected, pull the real numbers: traffic, top pages, top queries, sources, conversions where available. This grounds every other finding in reality instead of guesswork.
Then it ranks: what's costing the most growth for the least effort to fix goes first.
When to use
- Right after
onboard, as the first real read on the business. - On a cadence (monthly/quarterly) to re-baseline.
- When the user asks an open "what should I work on?" question and there's no fresh audit to point at.
Inputs
- A written
.agents/product-marketing.md(required — the audit reasons from the positioning and ICP). If it's missing, stop and route the user to/growth-os:contextfirst. - Whatever accounts are connected. More connections = deeper audit. The audit degrades gracefully: with nothing connected it still does SEO + PageSpeed + GEO; with GA4/GSC it adds the live baseline.
Steps
-
Read the hub. Load
.agents/product-marketing.mdfor the URL, ICP, and competitor list. If absent, route tocontextand stop. -
SEO crawl. Fetch the site's primary pages. Check the on-page fundamentals listed above. Flag anything that blocks indexing or wastes ranking potential. Note where structured data is missing (hand-off candidate for the
schemacapability). -
Page speed. Run
growth-os psi <url>for two or three representative pages. Record CWV field/lab data and the highest-impact opportunities. Call out mobile separately from desktop — mobile is usually where the pain is. -
GEO snapshot. Delegate to
geo-audit. Pull back the visibility/rank/sentiment/share-of-voice numbers and the citation domains. Don't re-implement it here —auditconsumes its summary. -
Competitor read. From the hub's alternatives (or infer them if none are listed), compare presence: who ranks for the category terms, whose domains show up as citations in the GEO results, what content the business is missing that competitors cover. Keep it factual — no speculation about their internals.
-
Live baseline. If
.envhas GA4 and GSC credentials:growth-os ga4 visitors|pages|sources|conversions [days]— traffic shape and where it comes from.growth-os gsc queries|pages|ctr [days]— what people actually search to find them, and where impressions aren't converting to clicks. Cross-reference: a query with high impressions and low CTR is a title/meta fix; a top landing page with slow CWV is a speed fix that's costing real sessions.
-
Rank and write. Merge everything into a single prioritized list. Each finding: what's wrong, the evidence (a number, a crawled fact), the impact, and the fix — ideally naming the Growth OS skill or delegated capability that handles it. Append as
## Audit Findingsin the hub (replace a prior audit block, don't stack duplicates; date-stamp it). -
Summarize. Give the user the top three to five findings in plain language and the single highest-leverage next move. Point them at
/growth-os:dashboardfor the full picture and/growth-os:delegateto act.
Which adapters / CLI it calls
growth-os psi <url>— PageSpeed Insights (works with just the PSI key; 🟢 zero-approval).growth-os ga4 <cmd> [days]— GA4 Data API baseline (needs the service-account/OAuth connection; 🟢).growth-os gsc <cmd> [days]— Search Console (same service account; 🟢).- geo-audit skill — for the AI-visibility snapshot.
- Web fetch — for the SEO crawl and competitor read (no keys needed).
Google Ads and Meta baselines are not required for a useful audit; if their credentials are present the audit can fold in spend/reach context, but they're 🔴 approval-gated and the audit never blocks on them.
How it delegates
- In: consumes
geo-audit's output rather than duplicating GEO logic. - Out: every finding names the fix owner. SEO on-page → the
seo/schemacapabilities; speed → the site/perf work; content gaps vs competitors →geo-contentor content skills; low-CTR queries → copy/title work.auditdiagnoses;delegateroutes the fixes.
Guardrails
- Evidence, not vibes. Every finding carries a crawled fact or a live number. If a check couldn't run (account not connected), say so explicitly rather than inventing a result.
- Graceful degradation. Missing connections shrink scope; they never fake data.
- Read-only. The audit reads the site and the analytics. It changes nothing on the site or in any account.
- One findings block. Re-running replaces the dated
## Audit Findingssection; it doesn't accumulate stale copies.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.