By popiliadam
Enforce pre-flight checks and post-verification on file edits to prevent unsafe modifications, and execute bash commands on session start, stop, user prompt, and subagent stop for safety monitoring.
Use when: kullanıcı "aktif proje", "switch", "geç", "set active", "şu projeye geç", "context değiştir" der ya da `/pseo-active <slug>` çağırırsa. Also use when: portföyde birden fazla proje var ve sonraki komutların (`/pseo-status`, `/pseo-quickwin`, `/pseo-monthly`, `/pseo-driftcheck`) hangi projeye uygulanacağını belirten `shared/active.json` marker'ı set edilecek. Do not use when: yeni bir proje açma (`/pseo-init`), aktif projenin durumunu görme (`/pseo-status`) ya da tek seferlik bir komuta slug'ı argüman olarak doğrudan geçirmek yeterliyse.
Use when: kullanıcı "onayla", "approve", "izin ver", "consent", "şu aksiyona izin" der ya da `/pseo-approve <run_id> <action> <target>` çağırırsa. Also use when: bir AMO run'ı geri-alınamaz/dışa-dönük bir aksiyon (git push / silme / POST / GSC sitemap submit / Indexing URL_UPDATED / oversized DFS) için operatör onayı bekliyor; consent defterine `projects/{slug}/_state/consent.jsonl` hash-chained bir satır yazılacak. Do not use when: aksiyonu fiilen çalıştırma (gate 2b kontrol eder), session bağlama (`/pseo-bind`), portföy-geneli aktif proje set etme (`/pseo-active`) ya da durum görme (`/pseo-status`).
Use when: kullanıcı "bu session'ı bağla", "bind", "session bağla", "bu projeyi bu pencereye kilitle", "paralel proje" der ya da `/pseo-bind <slug>` çağırırsa. Also use when: aynı anda 3-5 projeyi ayrı Claude session'larında (VS Code / Mac app / CLI) yürütürken her session'ın HANGI projeye ait olduğunu session UUID'sine göre işaretlemek (cross-contamination önleme); marker `shared/sessions/<session-id>.json` yazılacak. Do not use when: portföy-geneli aktif projeyi set etme (`/pseo-active` — bu shared/active.json yazar, session'a özel değil), yeni proje açma (`/pseo-init`) ya da durum görme (`/pseo-status`).
Use when: kullanıcı "cannibalization", "kannibalizasyon", "keyword conflict", "URL çakışması", "aynı keyword'e iki sayfa", "anahtar kelime çakışması", "iki sayfam aynı sorguya çıkıyor", "intent split" der ya da `/pseo-cannibalization` çağırırsa. Also use when: aktif projenin GSC verisi mevcut (gsc-pull önce çalışmış); aynı sorguda ≥2 URL ranking; quick-win / content-decay ile birlikte triage; F-08 cross-sheet invariant kontrolünden sonra cannibalization sheet doldurulacak. Do not use when: tek URL audit (`on-page-audit` skill), pozisyon 11-20 fırsat (`/pseo-quickwin`), tek sayfa decay (`/pseo-content-decay`), tech-audit (`tech-audit` skill); master.xlsx yokken (`/pseo-init` önce).
Use when: kullanıcı "içerik decay", "content decay", "tıklama düşen sayfalar", "ctr düştü", "90 gün öncesine göre azalma", "trafik kaybeden sayfalar", "decay analizi", "content_decay sheet yenile", "ranking decay" der ya da `/pseo-content-decay` çağırırsa. Also use when: aktif projenin GSC verisi master.xlsx'te mevcut (gsc-pull önce çalışmış); 90-günlük recent + previous pencere karşılaştırması; pillar bazlı içerik decay haritası lazım; downstream `revise-content` / `new-content-plan` skill'leri tüketecek. Do not use when: kanibalizasyon (`/pseo-cannibalization`), GSC delta ingestion (`gsc-pull` skill direkt), tek-URL audit (`tech-audit` skill), schema markup drift (`/pseo-schema-audit`); master.xlsx yokken (`/pseo-init` + `gsc-pull` önce).
Use when: kullanıcı "AIO analiz", "competitor SERP analizi", "top10 AIO map", "AI overview rakip", "rakip içerik AIO citation", "SERP pattern map" der ya da /pseo-aio-competitor-map çağırır; SERP top-N fetch (DataForSEO heavy) + Scrapling tier-1 fetch (per URL) + R-109/R-110/R-111 competitor content-quality signal detect (schema markup + entity reference + author authority) + serp_aio AIO presence (references[]) + competitor_pages.jsonl staging. Also use when: yeni keyword için pre-content-plan AIO landscape haritalanacak; mevcut pillar için competitor refresh yapılacak; brand'ın AIO-friendly olup olmadığını competitor content-quality + AIO presence (serp_aio references[]) ile test edilecek; cluster-map sonrası seçilen ana keyword için competitor R-109..R-111 sinyalleri ölçülecek. Do not use when: SERP rank tracking için (gsc skill); manuel tek URL analiz için (on-page-audit kullan); content gap için (content-gaps kullan); kendi sitemizin AIO-friendliness denetimi için (schema-audit + on-page-audit kombinasyonu); target_keyword empty ya da whitespace (DURUR #5); budget_credits_per_day aşılmış (DURUR #1 — skip skill, AMBER); SERP empty top_n=0 (DURUR #2 REJECT).
Use when: kullanıcı "cannibalization", "kannibalizasyon", "keyword conflict", "aynı keyword'e iki sayfa", "URL çakışması", "anahtar kelime çakışması", "iki sayfam aynı sorguya çıkıyor", "intent split" der ya da /pseo-cannibalization çağırır. Also use when: aktif projenin GSC verisi mevcut; aynı sorguda ≥2 URL ranking ediyor; quick-win / content-decay ile birlikte triage; F-08 invariant kontrolünden sonra cannibalization sheet doldurulacak. Do not use when: tek sayfanın decay analizi (content-decay), pozisyon 11-20 fırsat taraması (quick-wins), tech audit (tech-audit), yeni içerik planı (new-content-plan) — ayrı discovery skill'leri. Master.xlsx yokken çağırma; init-project önce çalışmalı (DURUR #6).
Use when: kullanıcı "rakip analizi", "competitive analysis", "competitor monitoring", "rakip site snapshot", "rakip içerik takibi", "competitor diff", "rakip keyword'leri", "weekly competitor" der ya da /pseo-competitive-analysis çağırır. Also use when: hedef alan adı için DFS competitors_domain ile rakip listesi çekilecek; rakip URL'leri Scrapling tier-escalation §14.5 ile fetch edilecek; ADR-025 Phase 7+ S1_competitor_snapshot sub-schema enforcement gerekiyor; weekly cadence (S1 senaryosu) cron tetikliyor; sf-import / gsc-pull veri çekiminden bağımsız rakip izleme talep edildi. Do not use when: kendi sitemizin on-page kontrolü (on-page-audit), kendi GSC verisi (gsc-pull), keyword volume/ideas (dfs-pull / cluster-map), cannibalization (cannibalization), tech audit (tech-audit) — ayrı skill'ler. Master.xlsx yokken çağırma; init-project önce çalışmalı. Budget pre-flight FAIL ise fallback YASAK (DURUR #2). >50% URL all-tiers fail ise batch unhealthy → DURUR #4. Tier_escalation override §14.5 canonical sequence dışındaysa STOP (DURUR #7).
Use when: kullanıcı "içerik decay", "content decay", "tıklama düşen sayfalar", "ctr düştü", "90 gün öncesine göre azalma", "trafik kaybeden sayfalar", "decay analizi", "content_decay sheet yenile" der ya da /pseo-content-decay çağırır. Also use when: aktif projenin GSC verisi master.xlsx'te mevcut (gsc-pull önce çalışmış); 90-günlük recent + previous pencere karşılaştırması yapılacak; pillar bazlı içerik decay haritası lazım; downstream content-improve / new-content-plan skill'leri bu listeyi tüketecek. Do not use when: quick-win opportunity scoring (quick-wins skill), GSC delta ingestion (gsc-pull skill), tek-URL audit (tech-audit skill), cannibalization analizi — ayrı discovery skill'leri. Master.xlsx yokken çağırma; init-project + gsc-pull önce çalışmalı (DURUR #6).
Use when: kullanıcı "content gap", "içerik açığı", "rakip keyword bulalım", "yeni keyword fırsatı", "konu açığı analizi", "competitor keyword discovery", "yeni içerik için keyword araştırması", "ilgili keyword'leri çıkar" der ya da /pseo-content-gaps çağırır. DataForSEO keyword_ideas + related_keywords (+ optional content_analysis_search) raw JSON'larını inbox/dfs/ altına persist eder ve `_state/staging/` altına shape-adapted staging table yazar (Phase 8 cluster-map / new-content-plan konsume eder). Also use when: aktif projenin seed keyword listesi config'te tanımlı; TR (location_code=2792, language_code='tr') varsayılan; budget pre-flight PASS; yeni içerik planı (new-content-plan) için aday havuzu gerekiyor; cluster-map için keyword inventory besleniyor. Do not use when: GSC veri ingestion (gsc-pull), DFS volume lookup (dfs-pull), tek sayfa decay analizi (content-decay), pozisyon 11-20 fırsat taraması (quick-wins), URL çakışması (cannibalization) gerekiyor — ayrı discovery / ingestion skill'leri. Master.xlsx yokken çağırma; init- project önce çalışmalı (DURUR #4). Budget aşılmışsa fallback YASAK (DURUR #2).
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Runs pre-commands
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Contains inline bash commands via ! syntax
Contains inline bash commands via ! syntax
Status: v2.1.0 — production-ready core (production/publishing suites + 4 new tech-SEO skills are
wip: contracts + tests locked, runtime deferred) · 49 skills · 29 commands · 6 hooks · 4 MCP servers (3 stdio + 1 HTTP)
Schema-locked, drift-checked SEO automation for Claude Code. Turn manual SEO work into auditable, repeatable workflows — backed by JSON Schemas, append-only state, and a tool that audits itself.
What is this? · Who it's for · What it does · Quick start · Architecture · Screaming Frog MCP · Skills & commands · Tech stack · Roadmap · Documentation · Contributing · License
platinum-seo-engine is a Claude Code plugin that runs your full SEO operation from inside the editor — keyword research, on-page audits, content planning, reporting, indexing — all governed by strict contracts so the system can't silently drift.
Most SEO toolchains are loose: a Google Sheet here, an Ahrefs export there, an LLM that improvises a different format every time. The data spreads across tabs, fields rename themselves, and three months later nobody can reproduce a number. This plugin takes the opposite stance.
The core idea: less code, stricter rules, single authority, machine-readable contracts. Every workflow is a discoverable skill, every input/output is validated against a JSON Schema, every state change is appended to an event log, and a drift-check skill watches the whole thing.
The result: you can re-run any workflow weeks later, hand a project to someone else, or audit a year of activity — and the system tells you exactly what happened.
events.jsonl).You will get the most out of this if you are comfortable with a CLI, JSON, and the idea that "the schema wins."
Out of the box, 49 skills across 8 categories cover an end-to-end SEO loop:
| Category | What it covers | Skills |
|---|---|---|
| Ingestion | Pull data from Google Search Console, DataForSEO, Screaming Frog (file-drop + native MCP-primary orchestrator), Scrapling | 5 |
| Discovery | Quick wins, content gaps, cannibalization, content decay, on-page audit, schema audit, tech audit, geo analysis, competitive analysis, AIO competitor map, GBP audit, faceted-nav audit, robots-policy audit, hreflang audit | 14 |
| Planning | Topical map, cluster map, new content plan, internal links, master task sync, migration map | 6 |
| Production | New blog drafting, content revision, FAQ optimization, content remediation, image generation | 5 |
| Publishing | Indexing ping (URL Indexing API), index status verification | 2 |
| Reporting | Weekly/monthly site reports + 6 portfolio-level reports (overview, heatmap, KPI trend, etc.) | 9 |
| Meta | Init project, brand onboarding, whats-next router, mark-done | 4 |
| Governance | Schema validation, glossary audit, drift-check, context loader | 4 |
Plus 29 slash commands (/pseo-init, /pseo-quickwin, /pseo-driftcheck, /pseo-sf-crawl, /pseo-sf-status, …), 6 hooks that fire on session start, prompt submit, and tool use, and 4 MCP servers wired up automatically (GSC, DataForSEO, Scrapling, SF — the last over HTTP http://127.0.0.1:11435/mcp).
A typical workflow looks like:
npx claudepluginhub popiliadam/platinum-seo-engine --plugin platinum-seo-engineSEO analysis with authority building, cannibalization detection, and content refresh
Agentic SEO Skills adds project brains, data-backed SEO analysis, content workflows, and technical SEO checks to Agentic SEO.
Editorial "SEO Specialist" bundle for Claude Code from Antigravity Awesome Skills.
Claude SEO Skills for the SE Ranking MCP server. Turns raw API data into finished deliverables across keyword research, content briefing, page intelligence, technical and content audits, structured data, drift monitoring, SXO diagnostics, competitive analysis, paid search, AI-search optimization, sitemap analysis, subdomain mapping, content opportunity mining, strategic roadmap planning, Google APIs (GSC, PSI, CrUX, Indexing, GA4, YouTube, NLP), and SE Ranking API integration recipes (Data API + Project API).
Marketing skill for SEO insights, site performance analysis, and search optimization using Google Search Console data.
SEO Dungeon skill suite for Claude Code compatibility. 25 sub-skills (21 core + 1 orchestrator + 1 framework integration + 2 extension mirrors) and 18 sub-agents cover technical SEO, content quality, schema, sitemaps, Core Web Vitals, local SEO, backlinks, GEO, and Google APIs.