Principle: one tool, one job. If two tools could answer the same question, use the one in the Truth table. Truth tools go in client reports. Research tools produce estimates and hypotheses only — never client-facing numbers.
Quick map: common situations
| Situation | Use this | Never |
|---|---|---|
| What are we ranking for / how is organic doing? | Google Search Console Performance report | A Semrush screenshot |
| Check a keyword position right now | DataForSEO rank check (serp_watch) | Manual incognito searching |
| Find keyword opportunities | GSC striking-distance mining first, then suite expansion | Starting in a keyword tool |
| Traffic dropped | GSC + GA4 + release log, then Lane L13 | Concluding from a suite estimate |
| Full technical check | Screaming Frog crawl, then crawl_parse into SEO OS | Online one-click checkers |
| Site is slow | CrUX field data first, PSI for diagnosis | Reporting lab scores as reality |
| Write a new page | claude-seo brief, then claude-blog draft, human review, publish gate | Publishing an AI draft directly |
| Competitor research | Suite (research-only) + live SERP via serp_watch | Trusting one tool number |
| Find link / PR angles | BuzzSumo + competitor citation gaps | Buying links, PBNs |
| Local visibility | Google Business Profile + DataForSEO local pack | Fake reviews or gating |
| Product disapprovals | Merchant Center diagnostics | Ignoring certification requirements |
| Monthly client report | Looker Studio numbers + your written narrative | Charts with no decisions |
A. Truth tools — client-reportable
| Tool | When to use | What you do | Never use for |
|---|---|---|---|
| Google Search Console | Every client, every week | Queries, pages, indexing, coverage, manual actions, links. Access via the client’s own account (Full user) | Never skipped, never replaced by estimates |
| GA4 | Every client, weekly + reports | Behavior, conversions, AI-referral channel. Analyst access via client account | Attribution claims beyond its stated model |
| Bing Webmaster Tools | Setup + monthly | Bing index health, Copilot surface | — |
| Screaming Frog (CLI) | Week 2 audit, before/after releases, migrations | Crawl with saved config, export, run crawl_parse | Sending raw exports to clients |
| DataForSEO API | Rank checks, SERP snapshots, volumes, AI Overview presence, local pack | Run serp_watch for priority clusters | Treating it as strategy — it is evidence |
| PSI + CrUX APIs | Audit + performance complaints | Field LCP / INP / CLS per template; lab data for diagnosis | Reporting lab scores as user reality |
| Google Business Profile | Local clients (Lane L1) | Categories, services, photos, posts, reviews, Q&A | Doorway pages, review gating |
| Google Merchant Center | E-commerce clients (Lane L2) | Feed diagnostics, disapprovals, price parity | — |
| Looker Studio | Monthly reports | Client dashboard from GSC + GA4 connectors | Replacing the written narrative |
B. Research tools — estimates only
| Tool | When to use | Never |
|---|---|---|
| Semrush or Ahrefs (ONE suite) | Competitor gaps, link research, topical expansion | Client reports; client data inside shared accounts |
| Similarweb | Market and competitor traffic context | Presenting estimates as measurements |
| BuzzSumo | Digital PR angles, journalists, content performance | Mass outreach spam |
Shared-access rule: while suite access is shared or group-buy it is research-only. Zero client credentials or client data inside. Migrate to one owned license when revenue supports it.
C. Claude Code — skills and scripts
| Skill / script | When to use it |
|---|---|
| claude-seo | Primary engine: interpret audits, build briefs, on-page optimization, internal-link plans. Every client. |
| aaron-seo-geo | GEO / entity lane: AI-answer visibility work, entity consistency (see GEO page) |
| claude-blog | Drafting ONLY from an approved claude-seo brief. Never self-initiates content. |
| github (official) | Any code change: branch, PR, tests, rollback documented. You approve deploys, never Claude. |
| frontend-design (official) | Template / UX implementation support |
| gsc_pull script | Week 1 baseline (16 months) + weekly deltas by page group |
| crawl_parse script | After every Screaming Frog crawl: converts exports to findings for SEO OS |
| serp_watch script | Week 3 strategy + monthly: SERP snapshots incl. AI Overviews for priority clusters |
D. Operations tools
| Tool | When to use |
|---|---|
| SEO OS v8.0 (HTML control plane) | Every client: registers, evidence gates, findings, forecasts, review. Proof lives here. |
| Employee Console (HTML app) | Daily: tells you the next task, blocks completion without evidence, builds the Friday status report |
| Notion | Client docs, intake questionnaire, outreach CRM |
| Slack | Approvals and weekly status (paste from Console) |
| Cloudflare / Vercel | Redirects, headers, cache, deploys |
| Client CMS (WordPress / Webflow / Sanity / Contentful) | Whatever the client runs — implementation happens there |
| HubSpot / Amplitude | Only when the client already uses them: outcome reconciliation |
E. Not for client SEO — ever
Removed (do not use): INK Writer, TextBuilder AI, SEO Tester Online, KWFinder, KeywordTool.io.
Quarantined: Spamzilla — personal domain research only; no expired-domain redirects into client sites.
Ads lane (separate service): claude-ads, Denote, Tryatria, PPSPY.
Marketplace lane (separate service): Helium 10, SellerAmp, EverBee, Kalodata.
Quarantined: Spamzilla — personal domain research only; no expired-domain redirects into client sites.
Ads lane (separate service): claude-ads, Denote, Tryatria, PPSPY.
Marketplace lane (separate service): Helium 10, SellerAmp, EverBee, Kalodata.