HMM · Search Growth, Engineered

One System.
Any Site.

Any tool can hand you two hundred SEO problems. Knowing which six to fix first, what they're worth, and whether the fix worked. That's the whole job. Six nodes, thirty-two specialist checks, yours to download and run. Underneath, every site is the same six steps. Pick a business type below and watch what actually changes.

Free · 32 skills · runs on your own machine · no card
Node 01
Your business
Context
Your economics, your site, and the one question we're answering
Discover
Node 02
Your business
Outbound
Data from outside: competitors, the category, what buyers type
Discover
Node 03
Your business
Inbound
Data from inside: your pages, your rankings, your traffic
Audit
Node 04
Always the same
Diagnose
Our rules run here: root causes, scoring, sequencing, before anything is touched
DiagnosePrioritise
Node 05
Always the same
Execute
Draft the change. You approve it. Nothing goes live by surprise
Execute
Node 06
Always the same
Schedule
Set it to run every week, on its own, without you
MonitorReport

Three parts carry your business. Three carry the method, and those never change.

Choose the business type

Same machine. New client.

Switching industries did not rebuild anything. It changed three things: the question we're answering, and the two places we go looking.
The question
What switches on
What we look at
Skills this engagement runs on
These load before Stage 01. They carry the judgment: the thresholds, the kill rules, the things we refuse to guess at.
If a skill can't be loaded, the system is told to stop and name it, never to quietly fall back on generic best practice.
The command · ready to run
Run the full six-node SEO loop on my site and give me one self-contained HTML
dashboard at the end. Do not stop between nodes to ask me questions. Make the
reasonable call, state it in one line, and keep going.

CONTEXT
Business: [name] · [what you sell]
Site: [url] · Market: [country] · Currency: [INR]
What a win is worth: [average order value or qualified lead value]
The decision I am trying to make: Which six things do I fix first, and what are they worth?
Period: last 90 days

SKILLS · LOAD THESE FIRST
Before you run a single node, load these from my account. They carry my judgment;
without them you are guessing:
  · seo-growth-os: the staged pipeline and its approval gates
  · seo-audit: the crawl, the fan-out, the scoring weights
If any one of them is NOT available in this session, STOP and tell me exactly which
skill is missing, before you run the node that needs it. Do not silently fall back
to generic best practice. Name the gap, say what you will use instead, and let me
decide whether to continue.

NODE 1 · CONTEXT (who this is)
Detect the business type from homepage signals: SaaS, local service, e-commerce,
publisher or agency. Note the market, the buyer, and what a conversion is worth.
This decides which specialists switch on later, so settle it first.
→ Write file: 01-Discover/Context.md

NODE 2 · OUTBOUND (data from outside)
Pull: competitor sites · the SERPs for my money terms · what buyers actually type ·
the category's content patterns.
Ask me to confirm the competitor set before you analyse anything.
State only what is true. No recommendations in this node.
→ Write file: 01-Discover/Research-Brief.md

NODE 3 · INBOUND (data from inside)
Crawl up to 500 pages once, respecting robots.txt, and cache every page.
Every specialist reads from that cache. None of them re-fetch the site.
Run the seven core checks always. Add conditional specialists only where the business
type from Node 1 or a connected data source justifies them.
Score 0–100. If a category could not be assessed, say so and redistribute its weight.
Never score a category on guessed data.
→ Write file: 02-Audit/Audit-Report.md

NODE 4 · DIAGNOSE (my rules run here)
This is the node that does the work. Two passes, in order:

  4a · Root causes. Sort every finding into Broken (exists but wrong),
  Missing (should exist, doesn't), or Leaking (works, underperforms).
  Collapse findings that share a cause into ONE gap. Thirty pages with the same
  invalid markup is one gap, not thirty. Count causes, not symptoms.
  → Write file: 03-Diagnose/Gap-Inventory.md

  4b · Sequence. Score every gap: Impact × Effort × Confidence × Time-to-Impact.
  Sort into Quick Wins, Big Bets, and Kill/Defer. Order the dependencies: a markup
  fix that unblocks rich results comes before the content that needs them.
  Every item traces back to the finding that produced it.
  → Write file: 04-Prioritize/Roadmap.md

Wait for my yes before anything gets built.

NODE 5 · EXECUTE (drafts only)
Work the roadmap top-down. Produce content briefs, ready-to-paste structured data,
comparison pages, scale-page templates.
Everything is a draft. Flag what a human must verify: facts, brand claims,
internal URLs. Nothing publishes by surprise.
→ Write files under: 05-Execute/

NODE 6 · SCHEDULE (it runs without me)
Capture a baseline the day fixes ship. Then set up a recurring weekly task that
re-runs Nodes 3 and 4 from a cold start and delivers the result.
The scheduled prompt must carry its own full instructions. A scheduled run
remembers nothing about today.
Answer two questions separately each week: did anything break, and are we trending
up. Attach a leading indicator to every executed item: something I can check
myself without commissioning another audit.
Notify me only when it is done, or when something is wrong.
→ Write files: 06-Monitor/Baseline.md, 06-Monitor/Drift-Log.md, 07-Report/

FINAL OUTPUT · ONE HTML
A single self-contained .html file. Dark. Brand colours #0E0E0E obsidian and
#FF5C1A signal orange. It must show the PROCESS, not just the answer:
  · the six-node flow at the top, with what each node produced
  · per node: the sources used, the finding, and the evidence behind it
  · the gap inventory and the ranked roadmap
  · an approval checklist with real checkboxes
  · the schedule receipt: task name, cadence, next run
  · a closing "what this could NOT check" section
No CDN, no external images, no server. It must open on a laptop with no internet.

RULES
· Never invent a number.
· If a data source isn't connected, skip the check and mark it incomplete.
· Match the same date range across every source, or the timing gap reads as a
  false trend.
· Nothing goes live without my explicit yes.
· Lead with the answer. No jargon without a number next to it.
· If a skill above could not be loaded, say so at the top of the output, not
  buried at the bottom.
The full stack · every skill, by stage

Thirty-two specialist components.

Nothing here is aspirational. Each one is wired into at least one stage of the pipeline. Twenty-two run the moment you download it. The rest need a data source connected, and four of those are free accounts you already own.

Orchestration · runs the pipeline and the fan-out
OS
Growth OS
runs all six nodes in order
Core
AU
Audit Engine
crawls once · fans out · scores
Core
Stage 01 · Discover · market, competitors, topic architecture
PL
Strategy Blueprint
industry plan · competitive read
Core
CL
Topic Clustering
groups keywords by what Google ranks together
Core
Stage 02 · Audit (core) · runs on every site, every time
TE
Technical Foundation
crawlability · indexing · Core Web Vitals
Core
CO
Content & Authority
depth · experience signals · thin pages
Core
SC
Structured Data
what's there · what's invalid · what's missing
Core
SI
Site Structure
sitemap coverage · orphaned pages
Core
GE
AI Search Readiness
can AI Overviews and ChatGPT cite you
Core
SX
Search Experience
why a perfect page still doesn't rank
Core
IM
Image Optimisation
alt text · weight · formats · layout shift
Core
Stage 02 · Audit (conditional) · switched on by what we detect
LO
Local SEO
Business Profile · NAP · reviews
Local
MA
Maps Intelligence
rank across your service area, not just your pin
Local
EC
E-commerce
product markup · Shopping · marketplace gaps
Store
BL
Backlink Profile
referring domains · anchors · toxic links
Cond.
DR
Change Detection
compares today against your last baseline
Cond.
PG
Single-Page Check
one URL, when a full crawl is overkill
On demand
Stage 05 · Execute · the roadmap becomes real artefacts
CB
Content Briefs
writer-ready · word counts · competitor scoring
Core
CP
Comparison Pages
"X vs Y" and "alternatives to": highest intent
Cond.
PR
Pages At Scale
templates with hard thin-content guardrails
Cond.
HR
International
right country sees the right page
Multi-region
IG
Visual Assets
social previews · hero images · infographics: paid
Paid
Stage 06 · Monitor · proof, on a schedule
DA
Recurring Brief
traffic · visibility · competitor moves
Core
DR
Regression Watch
did the last deploy break anything
Core
Connected data sources · named, so there is no guesswork. Absent means the check is skipped, never estimated
GS
Google Search Console
rankings · impressions · indexing · field CWV: free, you grant access
Connect
GA
Google Analytics 4
organic sessions and conversions: free, you grant access
Connect
BW
Bing Webmaster Tools
Bing index + IndexNow, this is what feeds Copilot: free
Connect
MC
Microsoft Clarity
scroll depth · rage clicks · session replay: free
Connect
UL
Unlighthouse
Lighthouse across every page template: free, runs locally
Connect
DS
DataForSEO
live SERP positions · keyword volume · backlinks: paid, per call
Paid
FC
Firecrawl
JavaScript-rendered crawling for React and Vue sites: paid
Paid
AH
Ahrefs
referring domains · organic keywords · content explorer: paid
Paid
SR
SE Ranking
AI share of voice across ChatGPT · Gemini · Perplexity · AI Overviews: paid
Paid
PF
Profound
LLM citation rates over time. Cited more this month than last? paid
Paid
Standalone · outside the pipeline, on purpose
FL
FLOW Prompt Library
41 prompts · Find · Leverage · Optimise · Win
On demand
Built in: runs the moment you download it Connect: needs a data source wired up first Free / Paid: noted on each card
The question a client actually asks
What’s wrongWrong
What it’s costingCosting
What's broken on my site right now?
Is my structured data valid, and what am I missing?
Can AI engines read and cite my pages?
What should I fix first, and in what order?
Did last week's deploy break anything?
Why isn't this page ranking?
Partly
What am I currently ranking for, and where?
How much traffic, and revenue, is each fix worth?
Which keywords am I losing to competitors?
Who links to my competitors but not to me?
Are my real-world Core Web Vitals actually passing?
Is ChatGPT citing me more this month than last?
The left column ships with the download. The right column needs a data source connected. Four of the connections are free accounts you already own. They just need wiring up.
Book a setup call
What the client decides
The question, and the two places we go looking for data.

A local business needs geo-grid coverage. A store needs product markup. A SaaS needs comparison pages. Different business, different sources. Same six nodes.

What we decide, once
Our thresholds. Our root-cause rules. Our scoring. Our approval gate.

Written down one time. Applied identically to every client, and to every engagement we take on later. It's why two audits six months apart are actually comparable.

Why that split matters
An audit is a list. This is a system.

The client context is cheap and changes weekly. The judgment is expensive and took years. Only one of them should be retyped for every new engagement.

What lands on your desk

Artefacts, not adjectives.

Every stage writes a file, and they cross-reference each other, so any recommendation traces back to the evidence that produced it, and forward to the metric that proves it.

Health Score
0–100 across seven weighted categories, evidence attached
Gap Inventory
Every problem as a root cause: Broken, Missing or Leaking
Ranked Roadmap
Quick wins, big bets, and what to deliberately not do
30/60/90 Plan
What ships when, and what each phase should move
Content Briefs
Handed straight to a writer: structure, length, angle
Structured Data
Validated markup your developer pastes in as-is
Drift Log
Dated record of what changed, so regressions can't hide
Stakeholder Report
Founder one-pager, client narrative, or task list
Why this is different

Five things most SEO reports can't say.

We never invent a number.

If a data source isn't connected, the check is skipped and marked incomplete, never estimated. A category we couldn't measure is stated plainly and its weight redistributed, so the score you see is the score we actually earned.

Every recommendation says how it could be wrong.

Each carries the observation it rests on, what it depends on, an explicit "here's how we'd know this failed", and a leading indicator you can check yourself. Advice you can't falsify isn't advice. It's decoration.

Nothing gets lost between audits.

Everything writes to a linked record that persists. Re-engage in six months and the system knows what was found, what was fixed, and what regressed. No "let's start with a fresh audit" tax.

Built for AI search, not just blue links.

Four of the thirty-two components exist purely to answer whether AI Overviews, ChatGPT, Perplexity and Copilot can find, read and cite you, and whether that's improving month over month.

You approve before anything ships.

Two hard gates: you confirm the competitor set before analysis, and you approve the roadmap before anything is built. Every deliverable arrives as a draft with the human checks flagged.

Six nodes. Thirty-two checks.
One record that remembers.

Everything marked in terracotta changes with the site. Everything in mint is the method, and it took years to write down. Download it, run it on your own machine, keep whatever it finds. The audit was never the hard part.

Free · 32 skills · yours to keep · no card