con un clic
platinum-seo-engine
platinum-seo-engine contiene 49 skills recopiladas de popiliadam, con cobertura ocupacional por repositorio y páginas de detalle dentro del sitio.
Skills en este repositorio
Use when: kullanıcı "yeni blog yaz", "blog üret", "content gen", "blog draft", "makale yaz", "yeni içerik üret", "new blog post", "pillar yaz", "cluster yaz" der ya da /pseo-new-blog çağırır; master.xlsx[new_content_plan] satırından plan al, SERP analiz yap, 5 template render et, JSON-LD @graph 5 entity üret, Foundational Principles 3-katman (truth-verifiable + profile-aware + anti-cheap-content) enforce et. Also use when: master.xlsx[topical_map] içinde assigned_url=null olan pillar/cluster/supporting satırı için ilk içerik üretilecek; new_content_plan satırının lifecycle_status=GREEN ya da PLANNED durumda; mode='draft' (review) veya 'publish' (immediate) seçildi; profile-aware switch tetik (project-config[profile] ya da project-config[profiles] priority merge). Do not use when: mevcut blog revize için (revise-content kullan); FAQ block re-render için (faq-optimization kullan); decay/sunset/prune için (content-remediation kullan); image generation için (generate-images kullan); manuel WordPress upload için (
Use when: kullanıcı "task done", "mark complete", "iş bitirildi", "completed_work entry", "master_task DONE update" der ya da /pseo-mark-done çağırır; master_task primary key task_id resolve + completion_evidence reference + completed_work append + master_task status DONE update + done_protocol cross-sheet invariant enforce (F-02 + F-05 ADR-009 §21.4 DONE cascade). Also use when: skill execution sonrası output verify edildi ve audit trail için completed_work entry zorunlu; idempotent retry safe (DURUR #2 already_done detect); workflow_runner cascade producer'ı olarak bir production skill TODO/ONGOING task'ı tamamladığında sondaki step (ör. revise-content sonrası R-91 cascade audit close). Do not use when: task henüz ONGOING/TODO statüsünde değil (önce master-task-sync veya manuel assign gerekli); task already DONE (DURUR #2 idempotent fail); allowed_writers gate fail (DURUR #3, worker writer_id master_task.allowed_writers'da YOK); protected_columns write gerekiyorsa (out of scope, master_task_sync veya human
use_when: | Hero image üret, blog görseli oluştur, nano-banana image gen, 8K ultra realistic image, hero image regenerate. Kullanıcı "hero image üret", "blog görseli oluştur", "nano-banana image gen", "8K ultra realistic image" der ya da `/pseo-generate-images` çağırır. master.xlsx[new_content_plan].image_prompt + alt_text source consume; project-config[content_settings.image_model] (R-72 plugin agnostik serbest string, default nano-banana, override edilebilir); project-config[brand_identity.image_style] profile-aware switch (Principle 2 enum 5-value: clean-illustration / product-photo / diagram-screenshot / location-photo / esnek); project-config[brand_identity.default_hero_url] DURUR #5 fallback URL. R-71 (8K ultra realistic prompt enrichment) + R-72 (nano-banana default model) + R-73 (1200x675 hero size + manual upload trail) + R-74 (multi-skill collaborative upload-instructions Section B) + R-75 (`<picture>` LCP optimization + loading="eager" + fetchpriority="high") + R-76
Use when: kullanıcı "ping et", "indeksle", "indexnow gönder", "google submit", "url submit", "kanonik bildir" der ya da /pseo-indexing-ping çağırır; yeni yayınlanan/güncellenen URL listesi için IndexNow + Google Indexing API submit yapılacak; R-58 lifecycle robots map (READ-ONLY) consume + R-91 redirect/410 cascade enforce edilecek. Also use when: new-blog skill cascade producer'ı olarak tetiklenir (yeni içerik publish sonrası); content-remediation skill 301/410 redirect deploy sonrası kanonikleri yenilemek istediğinde; manuel toplu URL submit listesi verildiğinde (CSV/JSON liste yerine inline array parametre). Do not use when: master.xlsx eksikse (init-project önce çalışmalı, DURUR #5 cascade); URL listesi boşsa (DURUR #1 SKIP); submission_type enum dışı bir değer (DURUR #2 ABORT); IndexNow API key yok ve google_indexing_api da kapalı (DURUR #3 hibrit branch); GSC API 5xx + retry once fail ise AMBER report (DURUR #4); R-91 cascade reddi yapılacak target URL'ler ile birlikte (DURUR #5 REJECT, redirect_404 she
Use when: kullanıcı "indeksleme doğrula", "coverage check", "url inspection", "indexing verify", "submit sonrası kontrol", "kanonik doğrula" der ya da /pseo-verify-indexing çağırır; W-G1 indexing-ping submit sonrası 24-72 saat GSC index_inspect ile actual vs expected status mismatch raporu üretilecek; outputs/indexing/{date}-coverage- report.json + _state/events.jsonl audit append. Also use when: completed_work sheet'inde recent indexing submission varsa otomatik olarak aynı URL listesi target alınır; expected_status enum (indexed / not_indexed / crawled_not_indexed) verilmişse status compare yapılır; coverage audit Foundational Principle 1 truth- verifiable enforcement zorunluluğunda. Do not use when: ilk submit (W-G1 indexing-ping kullan); GSC API credential yok / 401 (DURUR #1 ABORT); target_urls boş (DURUR #2 SKIP); GSC quota tükenmiş gün (DURUR #4 AMBER kısmi sonuç); manuel WordPress upload doğrulama (skill scope dışı, manuel inceleme).
Use when: kullanıcı "weekly check", "haftalık monitoring", "drift check + GSC anomaly + budget burn", "weekly health report", "haftalık sağlık raporu", "haftalık monitoring özeti" der ya da /pseo-monitoring-weekly çağırır; week range filter events.jsonl + drift-check output reuse + GSC week-over-week delta + budget burn rate aggregation → outputs/reports/{date}-monitoring-weekly.md. Wave-1a scope (truth-in-advertising): drift + portfolio health snapshot ACTIVE; GSC weekly anomaly ACTIVE (median+MAD modified-z, R-141, sourced from _state/metrics/gsc-weekly.jsonl — NOT master.xlsx); ONLY budget-burn (cost.credits) aggregation remains a PLACEHOLDER deferred to Phase 14+. Also use when: cron scheduled weekly run her Pazartesi 09:00 UTC report-only mode; reporting suite extension Phase 9 8 reporting skill no-write paterni reuse; Foundational Principle 1 truth-verifiable enforcement audit-only (Wave-1a inline: consistency-report.json + portfolio.json + _state/metrics/gsc-weekly.jsonl kaynaklı; master.xlsx read YOK,
Use when: kullanıcı "quick win", "hızlı kazanım", "kolay yükselebilecek sayfalar", "low-hanging fruit", "pozisyon 11-20", "CTR düşük yüksek impression" der ya da /pseo-quickwin çağırır. Also use when: aktif projenin GSC verisi master.xlsx'te mevcut; opportunity scoring yapılacak; kullanıcı sıralamada yükselebilecek fırsatlar arıyor. Do not use when: yeni içerik planı (new-content-plan), içerik decay (content-decay), tech audit (tech-audit), cannibalization analizi gerekiyor — ayrı discovery skill'leri.
Use when: kullanıcı "aylık rapor", "monthly report", "ay sonu özet", "geçen ay neler oldu", "ay raporu üret", "aylık müşteri raporu", "monthly client report" der ya da /pseo-monthly çağırır. Also use when: ayın son iş gününde aktif proje için outputs/reports/{date}-monthly.md üretilecek; master.xlsx'te master_task / completed_work / gsc_performance / opportunity / content_decay / tech_seo / schema / new_content_plan / content_improve sheet'leri ay boyunca dolmuş; monthly-report.schema.json v1.0 formatında 10 zorunlu section + framing_policy "positive_client" default + output_formats subset of html|pdf|notion isteniyor; Phase 9 reporting suite parçası, LOCAL aggregation (no MCP, no DFS). Do not use when: haftalık özet (weekly-summary), portföy genel raporu (portfolio-overview), portföy haftalık brief (portfolio-weekly-brief), drift kontrol (drift-check), tek-seferlik analiz isteniyorsa — bunların ayrı skill ve komutları vardır; master.xlsx yokken (DURUR WorkbookMissingError, init-project önce çalışmalı); paid
Use when: kullanıcı "hreflang audit", "hreflang denetimi", "i18n", "dil versiyonları", "uluslararası SEO", "x-default", "hreflang reciprocity", "tek-yönlü hreflang", "yanlış dil/bölge kodu", "en-UK" der ya da /pseo-hreflang-audit çağırır. Free (paid MCP yok) — SF hreflang export okur. Also use when: aktif projenin SF crawl export'u alındı (projects/{slug}/sf-exports/{date}/raw/hreflang_all.csv); çok-dilli bir müşteri imzalandı; bulgular master.xlsx#robots_txt'ye HF- prefix'li yazılacak. TEK DİLLİ portföyde (tr-TR / en-CA / en-NG) ucuz hijyen kontrolü: stray hreflang yoksa NOT_APPLICABLE (hreflang yokluğu doğru, kusur değil). Do not use when: faceted-nav / parametre denetimi (facet-nav-audit, ayrı); robots.txt/noindex lifecycle (robots-policy-audit, ayrı); SF export yok (sf-import önce, DURUR); master.xlsx yokken (init-project önce). NOT: motor hreflang ÜRETMEZ (çok-dilli istemci + platform write access yok) — sadece dener.
Use when: kullanıcı "migration map", "redirect map", "site taşıma", "URL değişikliği", "301 haritası", "domain taşıma", "redirect planı", "eski URL'leri yeni URL'lere yönlendir", "migration verify", "redirect doğrula" der ya da /pseo-migration-map çağırır. Free (paid MCP yok) — SF export + master.xlsx okur. Also use when: bir site/CMS/domain taşıması planlanıyor; eski-site SF crawl inventory'si alındı; operatör bir url-mapping.csv (+ opsiyonel regex mapping-rules.json) sağladı; bulgular master.xlsx#redirect_404'e key=url merge ile yazılacak (plan modu) veya post-launch crawl ile doğrulanacak (verify modu); 301 haritası + sunucu-config snippet'leri + faz-geçit checklist raporda üretilecek (recommendation-only, operatör deploy eder). Do not use when: tek-URL retire/sunset (content-remediation, R-90/R-91, ayrı — bu skill BULK harita yapar); SF export yok (sf-import önce, DURUR); robots.txt/ noindex denetimi (robots-policy-audit); master.xlsx yokken (init-project önce); GSC'ye sitemap submit / Change-of-Address (
Use when: kullanıcı "faceted navigation", "facet audit", "parametre temizliği", "crawl budget", "index bloat", "filtre URL'leri indexleniyor", "sort/sayfalama parametreleri", "?sirala= / ?renk= URL'leri", "sonsuz parametre alanı" der ya da /pseo-facet-audit çağırır. Free (paid MCP yok) — SF export + master.xlsx okur. Also use when: aktif projenin SF crawl export'u alındı (projects/{slug}/sf-exports/{date}/raw/internal_all.csv); e-ticaret platformu (WooCommerce/Ticimax/Ideasoft/imagaza) parametre URL'leri üretiyor; bulgular master.xlsx#robots_txt sheet'ine FN- prefix'li yazılacak + önerilen robots.txt bloğu raporda üretilecek (recommendation-only, operator deploy eder). Do not use when: SF export henüz yok (sf-import önce, DURUR #1); robots.txt lifecycle/noindex denetimi (robots-policy-audit, ayrı); tech-audit / schema-audit / hreflang-audit gerekiyor; master.xlsx yokken (init-project önce).
Use when: kullanıcı "robots.txt audit", "noindex denetimi", "robots policy", "noindex deploy edilmiş mi", "disallow + noindex çakışması", "ON_HOLD içerik indexleniyor", "robots.txt lint", "site-wide disallow" der ya da /pseo-robots-policy çağırır. Free (paid MCP yok) — canlı robots.txt GET + SF directives export + master.xlsx okur. Also use when: aktif projenin SF export'u alındı (projects/{slug}/sf-exports/{date}/raw/directives_all.csv); içerik lifecycle (new_content_plan.lifecycle_status) noindex deployment'ı doğrulanacak; bulgular master.xlsx#robots_txt'ye RP- prefix'li yazılacak + önerilen robots.txt artifact üretilecek (recommendation-only, operator deploy eder). Do not use when: faceted-nav / parametre denetimi (facet-nav-audit, ayrı); tek-URL retire (content-remediation, ayrı — bu skill SONUCU doğrular, retire ETMEZ); SF export yok (sf-import önce); master.xlsx yokken (init-project ö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 kombinasyo
Use when: kullanıcı "blog revize et", "içerik güncelle", "decay düzelt", "section revise et", "blog tazele", "post güncelle", "article refresh" der ya da `/pseo-revise` çağırır. master.xlsx [content_decay] satırından action="revise" alındığında, R-87 section-targeted diff workflow uygulanır, R-88 freshness theater preempt edilir, R-89 canonical preserve edilir. Also use when: GSC clicks delta drop > threshold detect edildiğinde (R-85 multi-signal: clicks_delta < -20%, delta_pct < -15%, trend "down" 3-month rolling); manuel revise request var ve mevcut blog outputs/blog/{slug}/article.html olarak diskten okunabiliyor; project-config[profile] enum 5-değer (e-commerce | ymyl | local-service | b2b-saas | portfolio) içinden biri sabit ve revize sırasında profile-aware tone preserve edilecek (Principle 2). Do not use when: yeni blog için (new-blog skill kullan); FAQ block re-render için (faq-optimization Wave 2 kullan); decay action "prune"/"redirect"/"delete" için (content-remediation Wave 2 domain); image generat
Use when: kullanıcı "FAQ optimize et", "FAQ ekle", "FAQ enhance", "FAQ schema yenile", "AIO citation pattern uygula" der ya da `/pseo-faq-optimization` çağırır. master.xlsx[content_decay] action trigger ya da master.xlsx[content_improve] optimization trigger; existing blog FAQ section enhance (mode=enhance) veya yeni blog FAQ add (mode=add). R-09 talep-güdümlü FAQ (kanıt varsa 3-6, hard cap 10) + R-43 statik (accordion YASAK) + R-29 pasaj alıntılanabilirlik gate + R-79 FAQPage @graph schema + R-109/R-110/R-111 AIO citation pattern enforce. Also use when: existing blog FAQ section'da AIO citation pattern eksik detect edildiğinde (per 500 word density 1-2 dışı); pasaj alıntılanabilirlik gate (R-29) fail edildiğinde (cevap-önce TL;DR yok); FAQPage schema markup eksik veya outdated (R-79 @graph Question entity boş); project-config[profile] enum 5-değer (e-commerce | ymyl | local-service | b2b-saas | portfolio) içinden biri sabit ve FAQ taxonomy profile-aware enforce edilmeli (Principle 2). Do not use when: yeni b
Use when: kullanıcı "GBP audit", "Google Business Profile kontrol", "place_id eksik mi", "business listing kontrol", "harita listing audit", "google haritalar profili", "GMB audit" der ya da `/pseo-gbp-audit` çağırır. DFS HEAVY ingestion (paid MCP, ~3 credit per audit); budget pre-flight ZORUNLU. Local-service profile gate şarttır — profilde "local-service" yoksa skip (Step 1 early exit). Also use when: project.config.profiles içinde 'local-service' var; init-project çalışmış (master.xlsx hazır); aktif projenin GBP listing durumu için gap analysis (NAP / categories / photos / hours / attributes / posts / Q&A / reviews 8 category triage) gerekiyor; bulgular master.xlsx#gbp_audit'a schema-locked 7-column formatta yazılacak (statusEnum + severityEnum codebase definition reuse). Do not use when: profile != local-service (DURUR #6 skip); master.xlsx eksikse init-project önce çalışmalı (DURUR #2); budget exhausted (DURUR #1, awaiting_approval); GSC veri ingestion (gsc-pull), tech audit (tech-audit), keyword researc
Use when: kullanıcı "gsc çek", "search console verisi al", "gsc performance güncelle", "tıklanma gösterim delta", "son 28 gün GSC", "period delta", "gsc_performance sheet yenile" der ya da /pseo-gsc-pull çağırır. Also use when: aktif projenin master.xlsx'i mevcut; gsc_performance sheet'i güncellenmesi gerekiyor (recent vs previous window delta); F-08 invariant (quick_wins.url ⊆ (crawl_sitemap.url ∪ gsc_performance.url)) tetiklenmeden önce gsc_performance dolu olmalı; quick-wins / content-decay downstream skill'leri bu veriye bağımlı. Do not use when: quick-win opportunity scoring (quick-wins skill), content decay 90d analiz (content-decay skill), index inspection tek-URL audit (tech-audit skill) — ayrı ingestion / discovery skill'leri. Master.xlsx yokken çağırma; init-project önce çalışmalı (DURUR #6).
Use when: kullanıcı "schema audit", "structured data", "JSON-LD denetim", "schema.org doğrulama", "rich result eksik", "Product schema hatası", "BreadcrumbList itemListElement", "FAQPage validation" der ya da /pseo-schema-audit çağırır. Also use when: aktif projenin SF (Screaming Frog) export'u alınmış (`projects/{slug}/sf-exports/{date}/raw/structured_data_all.csv`), sf-import skill çalışmış ve `inbox/sf/{date}-{slug}.json` envelope'i hazır; on-page-audit / tech-audit ile birlikte triage; rich result eligibility kontrol edilecek; opsiyonel olarak DFS content_parsing ile canlı schema cross-validate yapılacak. Do not use when: SF export henüz yok (sf-import önce çalışmalı, DURUR #1); GSC kannibalizasyon (cannibalization), pozisyon 11-20 fırsat taraması (quick-wins), title/meta coverage (on-page-audit), tech-seo issues (tech-audit) — ayrı discovery skill'leri. Master.xlsx yokken çağırma; init-project önce çalışmalı (DURUR #6).
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ı "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ı "on-page audit", "meta tag denetimi", "title meta h1 kontrolü", "hedef sorgu sayfada var mı", "title eksik", "h1 eksik", "GSC ile sayfa içi kontrol" der ya da /pseo-on-page-audit çağırır. Also use when: aktif projenin master.xlsx'i mevcut; URL listesi config'te veya gsc_performance / crawl_sitemap sheet'inden geliyor; budget pre-flight PASS; cross-sheet invariant D-03 (URL canonicalization) sağlanmış olmalı; GSC verisi varsa cross-ref devreye girer (target_query her URL için top performans sorgusudur). Do not use when: tek-URL tech audit (tech-audit), keyword volume çekme (dfs-pull), GSC delta hesaplama (gsc-pull), content decay 90d analiz (content-decay) — ayrı skill'ler. Master.xlsx yokken çağırma; init-project önce çalışmalı (DURUR #8). Budget aşılmışsa fallback YASAK (DURUR #1).
Use when: kullanıcı "teknik SEO audit", "lighthouse skoru", "core web vitals", "LCP / CLS / FCP düşür", "page speed", "performans audit", "title meta H1 kontrol", "structured data eksik mi", "tech seo issues", "site hızı problemleri" der ya da /pseo-tech-audit çağırır. DFS HEAVY ingestion (paid MCP); budget pre-flight ZORUNLU. Also use when: aktif projenin URL listesi config'te tanımlı; Phase 7 Wave 1 discovery; on_page_lighthouse + on_page_content_parsing tier çalıştırılacak; bulgular master.xlsx#tech_seo'ya schema-locked 6-kolon formatta yazılacak. Do not use when: GSC veri ingestion (gsc-pull), SF csv ingestion (sf-import), keyword research (dfs-pull), quick-wins fırsat skoru, cannibalization, content decay analizi gerekiyor — ayrı skill'ler. Master.xlsx yokken çağırma; init-project önce çalışmalı (DURUR #6). Budget pre-flight FAIL ise asla bypass etme — workflow_runner awaiting_approval state'ine route et (DURUR #1).
Use when: kullanıcı "internal links", "iç linkleme", "orphan page", "kayıp sayfa", "iç link kırığı", "broken internal link", "redirect chain", "yönlendirme zinciri", "anchor distribution", "anchor text dağılımı", "iç link analizi" der ya da /pseo-internal-links çağırır. Also use when: aktif projenin SF export'u mevcut (sf-import koşmuş); projects/{slug}/sf-exports/{date}/raw/ altında all_inlinks.csv + internal_all.csv var; orphan / broken / redirect-chain / anchor diversity bulguları master.xlsx#master_task'a auto_generated entry olarak yazılacak; quick-wins / cannibalization sonrası ek planning pass'i olarak çağırılır. Do not use when: SF import yapılmamış (önce sf-import çalıştır, DURUR #1); GSC quick-wins / cannibalization tetiklenecek (ayrı discovery skill'leri); tek-URL on-page audit (on-page-audit); DFS bütçesi aşılmışsa --use-dfs flag KULLANMA, default no-cost path yeterlidir. 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
Use when: kullanıcı "dataforseo keyword volume al", "TR keyword araştırması", "dfs keyword overview", "Türkiye için keyword volume çek", "yeni keyword setine volume bak" der ya da /pseo-dfs-pull çağırır. Raw DFS JSON'larını inbox/dfs/ altına persist eder ve `_state/staging/` altına shape-adapted staging table yazar (Phase 8 `cluster-map` skill konsume eder, Excel projection downstream). Also use when: aktif projenin keyword listesi config'te tanımlı; location_code/language_code project.config.dataforseo'dan config-first çözülür (engine-level ülke varsayılanı YOK); budget pre-flight PASS; TR projelerinde dataforseo-mcp-server@2.8.9 wrapper TR forwarding bug için A/B/C workaround stratejisi uygulanacak. Do not use when: GSC veri ingestion (gsc-pull), SF csv ingestion (sf-import), Scrapling competitor crawl (scrapling-ops) gerekiyor — ayrı ingestion skill'leri. Master.xlsx yokken çağırma; init-project önce çalışmalı (DURUR #6). Budget aşılmışsa fallback YASAK (DURUR #2).
Use when: kullanıcı "yeni içerik planı", "content plan üret", "yeni makale listesi", "new content plan", "içerik üretim sırası", "TIVL taglemesi", "hangi makaleyi yazalım" der ya da /pseo-new-content-plan çağırır. Phase 7 content-gaps staging JSON'ını (DFS keyword_ideas candidate inventory) okur, opsiyonel keyword_overview + search_intent enrichment ekler ve `master.xlsx#new_content_plan` sheet'ine 14-col schema-locked row üretir. Also use when: aktif projenin master.xlsx#cluster_keywords sheet'i cluster-map skill tarafından doldurulmuş; budget pre-flight PASS; content-gaps staging mevcut (`_state/staging/content_gaps_*.json`); TIVL tag'i (T/I/V/L) atanacak; yeni makale priority/word_count hedeflenecek. Do not use when: cluster atama (cluster-map önce), content gap discovery (content-gaps), tek sayfa decay analizi (content-decay), mevcut içerik optimizasyonu (content-improve), URL çakışması (cannibalization) gerekiyor — ayrı planning / discovery skill'leri. Master.xlsx yokken çağırma; init-project önce çalışm
Use when: kullanıcı "pillar", "cluster", "topical map", "konu haritası", "pillar/cluster taxonomy", "topical taxonomy", "konu mimarisi", "site içerik mimarisi", "topic map", "pillar page planı", "içerik mimarisi çıkar" der ya da /pseo-topical-map çağırır. DataForSEO keyword_ideas + related_keywords raw JSON'larını inbox/dfs/ altına persist eder, opsiyonel Phase 7 geo_analysis staging'i konsume ederek pillar/cluster taxonomyye enrich note ekler ve master.xlsx#topical_map sheet'ine yazar (workflow_runner approve gate'ten geçer). Also use when: aktif projenin seed keyword'ü tanımlı; location_code/ language_code project.config.dataforseo'dan config-first çözülür (engine-level ülke varsayılanı YOK); budget pre-flight PASS; cluster-map (Phase 8 W-C1 sibling) F-09 cross-sheet konsume edilecek; new-content-plan için pillar/cluster strüktürü gerekiyor. Do not use when: GSC veri ingestion (gsc-pull), DFS volume lookup (dfs-pull), ham keyword aday havuzu üretimi (content-gaps), kümelenmiş keyword listesi üretimi (cluste
Use when: kullanıcı "master task sync", "task aggregation", "master_task toplama", "auto task sync", "task SSoT", "tek liste", "tüm taskları birleştir", "master_task güncelle" der ya da /pseo-master-task-sync çağırır. Also use when: Phase 7 + Phase 8 Wave 1 master writer skill'leri (5 discovery + 3 planning) tamamlanmış; cannibalization / content_decay / tech_seo / on_page_audit / schema / cluster_keywords / topical_map / new_content_plan sheet'leri master.xlsx'te dolu; ingestion + discovery + planning wave'leri sonrası tek planning pass'i olarak çalıştırılır; sonuç master.xlsx#master_task auto_generated rows + D-only merge. Do not use when: master.xlsx yokken (init-project önce çalışmalı, DURUR #9); upstream sheet'lerin hiçbiri doldurulmamış (önce ilgili discovery/planning skill'lerini çağır, DURUR #1); manuel master_task rows mutate edilecek (FORBIDDEN — protected_columns + auto_generated=false satırlara DOKUNMAZ); sadece bir tek source sheet'in task'ları lazım (o skill'in master writer çıktısı zaten yazıld
Use when: kullanıcı "cluster map", "keyword cluster", "cluster keywords", "cluster-keyword haritası", "anahtar kelime kümeleme", "intent cluster", "cluster planı", "keyword'leri cluster'lara dağıt" der ya da /pseo-cluster-map çağırır. DataForSEO keyword_suggestions + related_keywords + GSC enhanced_search_analytics raw JSON'larını inbox/dfs|gsc/ altına persist eder ve master.xlsx#cluster_keywords sheet'ini doldurur (workflow_runner approve gate üzerinden, transaction atomic write). Also use when: aktif projenin topical_map sheet'i mevcut (D-02 invariant — cluster ⊆ topical_map.cluster); content-gaps Phase 7 staging mevcut (seed keyword sinyali); budget pre-flight PASS; cluster→keyword projection gerekiyor; new-content-plan / topical-map aşağı akıma keyword inventory besleniyor. Do not use when: keyword discovery henüz yapılmadı (content-gaps önce çalışmalı); sadece pillar/cluster taksonomisi tanımlanacak (topical-map ile dene); tek sayfa decay analizi (content-decay), pozisyon 11-20 fırsat taraması (quick-win
Use when: kullanıcı "drift kontrol", "consistency check", "schema drift", "veri tutarlılık", "audit", "/pseo-driftcheck" der ya da PostToolUse hook master.xlsx update sonrası tetiklenir. Also use when: master.xlsx update sonrası invariant kontrolü; Phase gateway öncesi quality gate; ingestion skill (sf-import, quick-wins, vb.) tamamlandıktan sonra "checkpoint L6" §9.4. Do not use when: yeni skill yazma (writing-skills), bug fix (debug), build error (build-error-resolver) — drift-check governance read-only, master.xlsx asla mutate edilmez.
Use when: kullanıcı "yeni proje", "init project", "bootstrap project", "{slug} kur", "{slug} ekle", "workspace bootstrap", "yeni proje aç" der ya da /pseo-init çağırır. Also use when: pilot project workspace iskelet eksik (projects/{slug}/ yok ya da master.xlsx ve project.config.json mevcut değil); workspace- staging'de yeni bir slug ilk kez kuruluyor; idempotent re-bootstrap isteniyor (var olan master.xlsx KORUNUR, sadece config refresh). Do not use when: project zaten kurulmuş ve sadece veri ingest edilecek — sf-import, quick-wins veya başka discovery/ingestion skill kullan; mevcut master.xlsx'i schema-uyumsuz şekilde yeniden yaratmak gerekiyor — bu yıkıcı, init-project ASLA mevcut master.xlsx'e dokunmaz (F1 workbook policy + idempotency invariant).
Use when: kullanıcı "glossary audit", "term drift", "sözlük kontrol", "glossary missing", "/pseo-driftcheck" der ya da Disiplin #8 (Glossary Discipline) enforcement gerekir. GLOSSARY.md drift detect; cross-ref docs/REFERENCE_INDEX.md ve spec §20; reverse-lookup orphan/missing term'leri skills/**/SKILL.md'de denetler. Also use when: yeni skill eklendi (terim katalog tutarlılığı), spec §20 güncellendi (terim eklendi/çıkarıldı), CI quality gate, fresh session öncesi glossary sanity check. Do not use when: schema drift (schema-validate'in işi), master.xlsx invariants (drift-check'in işi). glossary-audit AMBER-only warn skill — RED kararı vermez, missing term ya da orphan term'i sadece liste eder; insan triage'a gerek var.
Use when: kullanıcı "fresh session başlat", "load context", "wakeup", "manager session aç", "context yükle" der ya da yeni session ilk promptu geliyor. Fresh manager session wakeup'ını codify eder; spec §13.2 + SESSION_PROTOCOL.md §2 7-step sequence'i executable yapar ve <15KB context budget verify eder. Also use when: phase gateway öncesi context refresh, fresh worker dispatch hazırlığı, manager handoff (önceki session bitti, yenisi başladı). Do not use when: dar scope worker dispatch (manager prompt yazma — WORKER_PROMPTS.md template), phase planning (yeni phase plan yazma — manager kararı), bug fix (debug). load-context read-only bootstrap aggregator; master.xlsx asla mutate edilmez.
Use when: kullanıcı "schema validate", "schema doğrula", "frontmatter kontrol", "draft7 audit", "/pseo-driftcheck" der ya da phase gateway öncesi quality gate fired. JSON Schema Draft7 validation across all schemas under schemas/, cross-sheet-invariants 31 rules (F-01..F-15 + D-01..D-03 + M-01..M-02 baseline = 20; F-16..F-22 additive K-02 v1.5-Phase-2 = 27; F-23..F-26 SF MCP additive v1.8 Phase 4 = 31, terminal F-26), and SKILL.md frontmatter compliance under skills/**/. Also use when: yeni schema eklendi (additive bump), frontmatter drift şüphesi, CI quality gate, drift-check öncesi pre-flight, Phase 4 sf-mcp-tool-mapping.schema.json + templates/sf-mcp/ use-case-example.json drift kontrolü. Do not use when: master.xlsx invariants (drift-check'in işi), glossary terim drift'i (glossary-audit'in işi), build error (build-error-resolver). schema-validate read-only audit, master.xlsx asla mutate edilmez.
Use when: kullanıcı "yeni proje", "brand onboarding", "proje bootstrap", "wizard çalıştır", "yeni site ekle", "project-config oluştur" der ya da /pseo-brand-onboarding çağırır; brand_identity 20 + content_settings 14 + profile enum 5-value Süleyman input'u alarak project-config.schema 1.5 conformant staging output üretir. Also use when: workspace henüz yok (Phase 14 öncesi staging-only mode); domain DNS doğrulanması gerekiyor; profile heuristic suggest fallback istendi; init-project çalıştırılmadan önce config wizardı isteniyor. Do not use when: mevcut proje config update için (separate edit-config skill — gelecek phase); workspace var ve direkt project.config.json yazılacak (Phase 14+ behavior; init-project devreye giriyor); başka projenin config'i kopyalanacak (template-clone — gelecek phase).
Use when: kullanıcı "ne yapayım", "şimdi ne", "next step", "öncelikli işler", "what to work on", "where do I start" der ya da UserPromptSubmit drift-router hook önerir. Also use when: yeni session açıldı, pending approval check gerek, decay/quick-wins prioritization istendi, tüm projeleri tarayıp en acil iş seçilecek. Do not use when: spesifik skill direkt çağrıldı (init-project, sf-import, quick-wins, drift-check) — whats-next router skill'dir, başka skill'leri SUGGEST eder, çağırmaz; advisory-only.
Use when: kullanıcı "scrapling fetch", "URL listesi çek", "competitor snapshot", "rakip site içeriği indir", "stealth fetch", "anti-bot bypass", "Cloudflare aşımı", "tier escalation" der ya da /pseo-scrape çağırır. Phase 6 generic helper — staging-only, Excel'e yazmaz; raw HTML inbox + SQLite-shaped staging JSON üretir. Also use when: bir başka skill ('S1_competitor_snapshot' gibi scenario consumer'ı) bu helper'ı tier_escalation orkestrasyonu için kullanmak istediğinde; mcp__ScraplingServer__ tool'ları aktif ve fetch sırasında 403/429/Cloudflare challenge bekleniyor; kullanıcı paid Scrapling MCP yerine ücretsiz katmanı kullanmak istiyor. Do not use when: GSC verisi geliyor (gsc-pull), DataForSEO çağrısı yapılacak (dfs-pull), Screaming Frog CSV import (sf-import) — ayrı ingestion skill'leri. Per-scenario sub-schema validation gerekiyorsa ADR-025 gereği Phase 7+ scenario skill'ini bekle (templates/scrapling/ altındaki şemalar bu skill içinde HENÜZ enforce edilmiyor). Excel'e doğrudan yazılması istenirse YASAK —
Use when: kullanıcı "screaming frog crawl tetikle", "SF MCP crawl başlat", "24 raporu çek", "site full crawl", "sf orchestrator", "MCP üzerinden sf-export al" der ya da `/pseo-sf-crawl <slug>` çağırırsa. SF 24 native MCP'yi sürer: sf_crawl → sf_crawl_progress polling → 24 raporu (Tier 1 14 + Tier 2 10) build_export_plan() dispatch'i ile 3 gerçek SF export tool'una (sf_generate_report / sf_generate_bulk_export / sf_export_seo_element_urls) eşlenip file_path=f"{canonical}.csv" olarak export eder → SF allowed_directory'den projeye atomic move → mevcut sf-import skill'ini subprocess olarak çalıştırarak master.xlsx'in 6 SF-türevi sheet'ine projeksiyon yapar. Also use when: project.config.sf.mcp.enabled=true ve SF GUI canlı (mcp__sf__sf_list_allowed_base_directory probe PASS); operator yeni bir batch için "MCP-primary" akışı tercih ediyor (file-drop fallback bypass); requires_approval=true gate operator onayını bekler; workflow_runner.pause/resume ile 24-rapor döngüsü ortasında recovery mümkün; D-SF-16 atomic rollb
Use when: kullanıcı "screaming frog import", "SF csv yükle", "sf-export al", "site crawl ingest", "yeni SF batch geldi" der ya da bir projenin sf-exports/{date}/raw/ dizinine yeni CSV'ler düştüğünde manager bu skill'i tetikler. Master.xlsx'in 6 SF-türevi sheet'ine (crawl_sitemap, redirect_404, schema, on_page_audit, tech_seo, robots_txt) atomic write yapar; raw CSV'leri inbox/sf/ altına envelope-li JSON olarak persist eder. Also use when: pilot project sf-exports/{export_date}/raw/ dizini hazır; Tier 1 14/14 zorunlu rapor mevcut; Tier 2 search_console_all eksik AMBER warning üretilmesi gerek; sf_imported provenance event yazılacak. (Opsiyonel mcp__gsc__list_sitemaps sitemap cross-check Phase-X'e ertelendi — core ingest GSC'siz, sadece disk CSV'leriyle çalışır.) Do not use when: GSC (gsc-pull), DataForSEO (dfs-pull), Scrapling (scrapling-ops) verisi geliyor — ayrı ingestion skill'leri. Master.xlsx yokken çağırma; init-project önce çalışmalı (DURUR #6). Tier 1 < 14 ise FAIL et, fallback YASAK (DURUR #2).
Use when: kullanıcı "fırsat heatmap", "opportunity matrix", "drift heatmap", "portföy yoğunluk", "heatmap raporu", "yoğunluk matrisi", "portföy fırsat ısı haritası", "opportunity density", "drift density" der ya da portföy çapında hangi projede hangi sheet'in (opportunity / quick_wins / content_decay / cannibalization) yüklü olduğunu görmek istediğinde tetiklenir. Also use when: portfolio.config.json v1.1 mevcut + active_projects doldurulmuş; her aktif projenin master.xlsx'i okunabilir (eksikler schema-valid empty shape ile graceful skip + warning surface); aggregate_dimension category / priority / primary_source eksenlerinden birinde kırılım istenir; tek pass'te 4 sheet × N proje yoğunluk matrisi + drift breakdown raporlanır; portfolio-overview ya da portfolio-weekly-brief sonrası "hangi proje hangi alanda yoğun" görselleştirmesi gerekiyor. Do not use when: portfolio.config.json yok (init-portfolio önce çalışmalı, DURUR PortfolioConfigMissingError); active_projects 12'yi aşıyor (schema maxItems sentinel, DUR