Audit
NoCodeWork Growth OS — open-source Growth OS for any AI agent: point it at a business URL, persist USP/UVP/ICP context, run a growth audit (SEO, speed, GEO/AI-visibility, competitors, live GA4/GSC), then delegate to marketing skills. Runs on Claude Code, Codex, Hermes & MCP.
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
- 3 stars3 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.
What its author says it does
Copied from the file, not written here
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.
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.