Psyke SEO & GEO Audit
name: psyke-audit
by beebeebot · published 2026-04-01
$ claw add gh:beebeebot/beebeebot-psyke-audit---
name: psyke-audit
description: |
Produce a branded Psyke SEO & GEO audit deck for any website. Use when asked to
run an SEO audit, GEO audit, site audit, or website health check for a Psyke client.
Also use when someone mentions "psyke audit", "run an audit", "audit this site",
"SEO score", "GEO readiness", or "AI visibility audit". Outputs a single index.html
slide deck with dual scoring (SEO Health /100 + GEO Readiness /100), competitor
benchmarking, AI citation analysis, and Psyke-branded dark-mode theme.
---
# Psyke SEO & GEO Audit
Branded audit product for Psyke (psyke.co). Produces a scored, dark-mode slide deck covering technical SEO, GEO readiness, competitor benchmarking, and actionable recommendations.
Output
A single `index.html` file deployed to Vercel containing:
References
Read these before building an audit:
Process
Phase 1: Data Collection
**1. Technical Crawl (always)**
- Fetch homepage, robots.txt, sitemap.xml
- Fetch 4-6 key inner pages (services, about, contact, sector pages)
- Use browser to evaluate each page for: title, meta description, canonical, H1s, H2s, H3s, schemas, OG tags, image alt text, viewport meta
- Check for soft 404s on common URL patterns
- Note the CMS/platform if identifiable**2. Ahrefs Data (when MCP connected)**
Pull via Ahrefs MCP or have Psyke provide:
- Domain Rating
- Organic keyword count + top keywords
- Monthly organic traffic
- Referring domains count
- Google AI Overview citation count
- ChatGPT citation count
- Branded vs non-branded split (estimate)
- Same metrics for 2-3 competitors**3. AI Visibility Testing (always)**
Run 5-8 queries through ChatGPT and/or Perplexity:
- "[client industry] + Australia" query
- "best [service/product]" query
- "how does [client service] work" query
- "[client] vs [competitor]" query
- Location-specific query
Record: was client mentioned? which competitors? what was cited?Phase 2: Scoring
Apply the rubrics from `references/scoring.md`:
1. Score each SEO category, noting specific evidence for each deduction
2. Score each GEO category, noting specific evidence
3. Calculate totals — do not round
Phase 3: Build the Deck
**Setup:**
cd ~/Developer
mkdir [client]-seo-audit
cd [client]-seo-audit
git init
echo "# [Client] SEO & GEO Audit" > README.md**Build `index.html`:**
1. Start with the viewport-base styles from the frontend-slides skill
2. Paste the full Psyke theme CSS from `references/psyke-theme.css`
3. Follow the slide structure from `references/slide-structure.md` exactly
4. Include the SlidePresentation JavaScript class (keyboard nav, touch, progress bar, nav dots, intersection observer)
**Font include:**
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">**Key HTML patterns:**
Title slide:
<section class="slide slide-title">
<div class="glow-orb glow-purple" style="top: -10%; right: -5%;"></div>
<div class="glow-orb glow-lime" style="bottom: 10%; left: -3%;"></div>
<div class="content-wrap">
<p class="psyke-logo reveal">PSYKE</p>
<h1 class="reveal reveal-delay-1"><span class="accent">[Client Name]</span></h1>
<p class="subtitle reveal reveal-delay-2">SEO & GEO Audit — [Month Year]</p>
<p class="label-muted reveal reveal-delay-3">[client-url.com.au]</p>
</div>
</section>Dual score slide:
<section class="slide">
<div class="slide-split">
<div class="split-left">
<div class="dual-score reveal">
<div class="score-block">
<div class="score-ring" style="--score-pct: 0.XX;">
<svg viewBox="0 0 100 100">
<circle class="ring-bg" cx="50" cy="50" r="45"/>
<circle class="ring-fill" cx="50" cy="50" r="45"/>
</svg>
<div class="score-number">XX</div>
</div>
<p class="score-label-big" style="color: var(--psyke-purple);">SEO Health</p>
</div>
<div class="score-block">
<div class="score-ring" style="--score-pct: 0.XX;">
<svg viewBox="0 0 100 100">
<circle class="ring-bg" cx="50" cy="50" r="45"/>
<circle class="ring-fill ring-fill-lime" cx="50" cy="50" r="45"/>
</svg>
<div class="score-number">XX</div>
</div>
<p class="score-label-big" style="color: var(--psyke-lime);">GEO Ready</p>
</div>
</div>
</div>
<div class="split-right">
<!-- Breakdown grid -->
</div>
</div>
</section>Competitor benchmark:
<div class="competitor-grid">
<div class="competitor-row header">
<div class="competitor-cell"></div>
<div class="competitor-cell">DR</div>
<div class="competitor-cell">Keywords</div>
<div class="competitor-cell">Traffic</div>
<div class="competitor-cell">AI Citations</div>
</div>
<div class="competitor-row client">
<div class="competitor-cell">[Client]</div>
<div class="competitor-cell">XX</div>
<!-- etc -->
</div>
<!-- competitor rows -->
</div>Phase 4: Deploy
git add -A
git commit -m "[Client] SEO & GEO Audit - SEO: XX/100, GEO: XX/100"
gh repo create beebeebot/[client]-seo-audit --public --source=. --push
npx vercel --yes --prodPhase 5: Deliver
Send the Vercel URL to the requester with:
Writing Style
AI Writing Patterns to Avoid (mandatory)
These are the most common tells. Fix every instance before deploying:
What NOT to Do
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...