ai-citations-tracker
Use when you need to **measure** (not just describe) brand citation frequency across AI search surfaces over time. Runs a configurable brand-mention prompt set…
Use when the user wants a basic SEO health check on a domain WITHOUT paying for any SEO tools — e.g. "kostenloser SEO-Check", "SEO ohne Sistrix", "ich habe nur Google Search Console und nichts anderes", "Anfänger-Audit", "wo fange ich beim SEO an", "billiges SEO" oder als
$ npx -y skills add maxschottke-spec/seo-survival-kit --skill seo-audit-free --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/seo-audit-freeContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the user wants a basic SEO health check on a domain WITHOUT paying for any SEO tools — e.g. "kostenloser SEO-Check", "SEO ohne Sistrix", "ich habe nur Google Search Console und nichts anderes", "Anfänger-Audit", "wo fange ich beim SEO an", "billiges SEO" oder als
name: seo-audit-free description: 'Use when the user wants a basic SEO health check on a domain WITHOUT paying for any SEO tools — e.g. "kostenloser SEO-Check", "SEO ohne Sistrix", "ich habe nur Google Search Console und nichts anderes", "Anfänger-Audit", "wo fange ich beim SEO an", "billiges SEO" oder als Vorstufe vor dem entscheidet ob die kostenpflichtigen Tools (Sistrix, DataForSEO) sinnvoll sind. Anti-Use: NICHT für tiefere Wettbewerbsanalyse, Sichtbarkeitsverlauf, oder professionelle Outreach-Reports — dafür existiert `seo-outreach-report` mit den paid APIs.' user-invocable: true argument-hint: '[domain]' allowed-tools: [Read, Bash(curl:*), Bash(node:*), Bash(npx lighthouse:*)] license: MIT metadata: author: Max Schottke version: '0.5.4' category: marketing
Ein gewollt minimaler SEO-Check, der **ohne kostenpflichtige APIs** (Sistrix, DataForSEO, Ahrefs, SEMrush) auskommt. Nutzt nur:
**Zweck:** Du willst eine Website grob bewerten ohne Budget. Oder du willst wissen ob ein größeres Audit (Sistrix + DataForSEO) sich überhaupt lohnt.
**Nicht anwenden für:**
Frage: ist die Website überhaupt indexiert?
site:example.com
Im Google-Sucheingabe-Feld. Liefert eine grobe Indexgröße. Wenn 0 Treffer → indexing-Problem (robots.txt? noindex?).
curl -s https://example.com/robots.txt | head -100 curl -s https://example.com/sitemap.xml | head -50
Pflicht-Checks:
curl -sI https://example.com/ | head -25
Pflicht-Checks:
> **Sicherheits-Hinweis:** Die Beispiele unten schreiben nach `/tmp/`, was auf Shared-Hosts world-writable ist und Symlink-Race-Attacks zulässt. Für Solo-Workstations (typischer Use-Case) ist das unbedenklich. Für Shared-/Server-Umgebungen ersetze `/tmp/` durch `$(mktemp -d)/` oder einen Pfad in deinem eigenen Home: `WORK=$(mktemp -d -t seo-audit-XXXXXX) && trap "rm -rf $WORK" EXIT` am Anfang des Blocks setzen, dann `$WORK/home.html` statt `/tmp/home.html`.
curl -s -A "Mozilla/5.0" https://example.com/ > /tmp/home.html echo "=== Title ===" && grep -ioE '<title[^>]*>[^<]+' /tmp/home.html | head -1 echo "=== Meta Description ===" && grep -ioE '<meta[^>]+name=["'"'"']description["'"'"'][^>]+content=["'"'"'][^"'"'"']+' /tmp/home.html | head -1 echo "=== H1s ===" && grep -ioE '<h1[^>]*>[^<]+' /tmp/home.html | head -5 echo "=== JSON-LD ===" && grep -c 'application/ld+json' /tmp/home.html echo "=== Schema @types ===" && grep -oE '"@type"\s*:\s*"[^"]+"' /tmp/home.html | sort -u echo "=== Canonical ===" && grep -ioE '<link[^>]+rel=["'"'"']canonical["'"'"'][^>]+href=["'"'"'][^"'"'"']+' /tmp/home.html | head -1 echo "=== Robots Meta ===" && grep -ioE '<meta[^>]+name=["'"'"']robots["'"'"'][^>]+content=["'"'"'][^"'"'"']+' /tmp/home.html echo "=== Lang ===" && grep -oE 'lang=["'"'"'][^"'"'"']+' /tmp/home.html | head -1
Bewertung pro Punkt: | Befund | Bewertung | |--------|-----------| | Title fehlt | KRITISCH | | Title <30 Z. oder >65 Z. | Verbesserungsbedarf | | Meta-Description fehlt | Hoch | | H1 fehlt oder mehrere | Mittel | | JSON-LD = 0 | Hoch | | Schema-@types <3 | Mittel | | Canonical fehlt | Mittel | | Robots-Meta = noindex | KRITISCH (außer absichtlich) | | lang fehlt | Niedrig |
# Mit API-Key (empfohlen, 25k/Tag Quota) curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https%3A%2F%2Fexample.com%2F&strategy=mobile&category=performance&category=seo&category=accessibility&category=best-practices&key=YOUR_KEY" > /tmp/psi-mobile.json curl -s "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https%3A%2F%2Fexample.com%2F&strategy=desktop&category=performance&category=seo&category=accessibility&category=best-practices&key=YOUR_KEY" > /tmp/psi-desktop.json
Wichtige Felder extrahieren:
node -e "
const j = JSON.parse(require('fs').readFileSync('/tmp/psi-mobile.json'));
const r = j.lighthouseResult;
console.log('Performance:', Math.round(r.categories.performance.score*100));
console.log('SEO:', Math.round(r.categories.seo.score*100));
console.log('LCP:', r.audits['largest-contentful-paint'].displayValue);
console.log('CLS:', r.audits['cumulative-layout-shift'].displayValue);
console.log('TBT:', r.audits['total-blocking-time'].displayValue);
console.log('CrUX:', j.loadingExperience?.overall_category || 'no field data');
"API-Key holen: [console.cloud.google.com](https://cons
Recovery-first decision support for ecommerce/D2C SEO. Claude Code skills for Core Update recovery diagnosis, prioritized action plans, weekly monitoring, and a Change Governor / Settlement Gate that prevents over-optimizing during recovery windows.
Repo: maxschottke-spec/seo-survival-kit
Use when you need to **measure** (not just describe) brand citation frequency across AI search surfaces over time. Runs a configurable brand-mention prompt set…
Use when a site has lost visibility in AI search surfaces (Google AI Overviews, Google AI Mode, ChatGPT citations, Perplexity citations) or wants to…
Use when an e-commerce business sells across multiple channels (own shop, Amazon, OTTO, eBay, Etsy, Zalando, etc.) and wants to know which channel is actually…
Use when an e-commerce or content site wants to deeply understand WHO their organic competitors are (often surprising — not the brands they think) and WHERE…
Use when the user wants Google Search Console data pulled directly into the session instead of manually screenshotting / CSV-exporting from search.google.com.…
Use when a website experienced a sudden visibility/ranking drop that correlates with a published Google Core Update — symptoms include broad ranking loss…