Skills psyke-audit
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/beebeebot/psyke-audit" ~/.claude/skills/clawdbot-skills-psyke-audit && rm -rf "$T"
manifest:
skills/beebeebot/psyke-audit/SKILL.mdsource content
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:
- SEO Health score (out of 100)
- GEO Readiness score (out of 100)
- Scored breakdown by category
- Issue slides with evidence and fixes
- Competitor benchmark (when Ahrefs data available)
- AI visibility test results
- Prioritised action plan
- Psyke CTA slide
References
Read these before building an audit:
— scoring methodology (SEO + GEO rubrics)references/scoring.md
— complete CSS theme (paste intoreferences/psyke-theme.css
)<style>
— fixed slide order and design rulesreferences/slide-structure.md
— GEO assessment processreferences/geo-framework.md
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:
- Score each SEO category, noting specific evidence for each deduction
- Score each GEO category, noting specific evidence
- 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
- Start with the viewport-base styles from the frontend-slides skill
- Paste the full Psyke theme CSS from
references/psyke-theme.css - Follow the slide structure from
exactlyreferences/slide-structure.md - 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 --prod
Phase 5: Deliver
Send the Vercel URL to the requester with:
- Both scores and breakdown summary
- The presentation link
- 2-3 sentence summary of key findings
Writing Style
- Direct and specific. No filler.
- Evidence before opinion. Show the data, then make the observation.
- One sharp insight per issue, not three paragraphs restating the same point.
- Recommendations must be specific: "Add FAQ schema to /services/ page" not "consider adding structured data".
AI Writing Patterns to Avoid (mandatory)
These are the most common tells. Fix every instance before deploying:
- Em dashes (—): Replace with periods, commas, or restructure. Use sparingly if at all.
- AI vocabulary: Don't use "crucial", "landscape", "delve", "enhance", "foster", "showcase", "underscore", "pivotal", "vibrant", "testament", "garner", "interplay", "tapestry". Use plain words.
- Rule of three: Don't force ideas into groups of three. "Buying guides, how-tos, and comparison content" → "buying guides and comparisons".
- Negative parallelisms: Don't write "It's not just X, it's Y". Just say what it is.
- Promotional language: No "breathtaking", "groundbreaking", "stunning", "nestled", "in the heart of".
- -ing superficial analysis: Don't tack on "ensuring...", "highlighting...", "showcasing..." to add fake depth.
- Vague attributions: No "experts believe", "industry reports suggest". Cite specifics or don't claim it.
- Filler phrases: No "it's important to note that", "in order to", "at the end of the day".
- Sycophantic tone: No "Great question!", "Excellent point!", "That's a really good observation".
- Generic positive conclusions: No "the future looks bright" or "exciting times ahead".
What NOT to Do
- Don't improvise the slide order — follow the structure
- Don't use light-mode slides — everything is dark Psyke theme
- Don't skip the GEO assessment, even without Ahrefs — the AI query testing and citability audit always apply
- Don't round scores for optics — 43 is 43
- Don't write generic recommendations — every fix should reference a specific URL or element
- Don't include the Psyke logo on every slide — title and closing only