---
name: seo-preparation-semantique
description: |
  Engine autonome de préparation sémantique sans scraping SERP : d'une requête cible, produit en 13 phases la carte complète de ce qu'une page doit contenir pour ranker.

  Format de sortie : entités sémantiques pondérées (poids 0-1 + densité cible + cosinus simulé + justification + statut P1/P2/P3), lexique signature (n-grams + co-occurrences), pain points & verbatims Haute Surprise, preuves quantitatives (Confidence Score + Freshness Guard), multimodal, cartographie concurrentielle (5-10 acteurs), Gap analysis 3 vues (Gap Competitive Map + Content Gap Score + Surprise Score Sémantique 0-100), divergence calibrée Information Gain, FAQ stratégique (5-7 vecteurs), Structural Information GEO, matrice couverture × Mapping Triade SERP, patches KB.

  Phase 0 informative (jamais bloquante) : alerte sur head term saturé / multi-intentions et propose des sous-niches en annexe, mais produit toujours la carte complète.

  Embeddings simulés : cosinus Phase 2 calibré sur le corpus Claude, marqué « simulé » dans chaque sortie. Pas de vraie API embedding — honnête sur le calcul.

  TOUJOURS utiliser ce skill quand l'utilisateur dit : "prépare la sémantique", "carte sémantique", "préparation sémantique", "engine sémantique", "tout ce que ma page doit contenir", "fais-moi l'analyse sémantique de [requête]", "lance l'engine sur [requête]", "sémantique sans SERP", "analyse sémantique [mot-clé]", "prépa sémantique [requête]", "entités pondérées [requête]", "surprise score sémantique de [requête]", "qu'est-ce que je dois écrire pour ranker sur [requête]", "brief sémantique [requête]".

  Ce skill remplace les outils de scraping SERP. Il produit la matière sémantique brute (carte). Il NE produit pas la rédaction, ni la structure Hn finale, ni le hook — ces étapes sont en aval.

  Pour auditer un contenu qui existe déjà — « qu'est-ce qui manque à ma page », « pourquoi elle ne ranke pas » — c'est seo-audit-semantique qu'il faut, pas ce skill.
---

# Préparation sémantique sans SERP

Engine autonome qui produit la carte sémantique complète d'une page à écrire. Aucun scraping de SERP : la carte se construit depuis l'intention de la requête, le corpus du domaine, et l'expertise propre fournie en input.

Le principe qui gouverne tout le reste : l'objectif n'est pas de copier le Top 10, c'est d'apporter la meilleure réponse à l'utilisateur. Un contenu qui reformule le consensus existant est statistiquement invisible pour les modèles de retrieval modernes, quelle que soit sa qualité rédactionnelle.

## Périmètre

Ce skill produit la carte d'une page **à écrire**. Si l'utilisateur fournit un contenu existant à comparer, c'est un audit : passer la main à `seo-audit-semantique`, qui appelle ce skill pour générer sa référence.

Une précaution à connaître si ce skill est invoqué par un audit : ne jamais accepter le contenu audité en input. La carte doit être construite à l'aveugle, sinon elle s'aligne sur ce qui est déjà écrit et l'audit se valide lui-même.

## Inputs requis

| Variable | Valeur attendue | Statut |
|---|---|---|
| Requête cible | mot pour mot | Obligatoire |
| Pays / langue | FR/FR par défaut | Obligatoire |
| B2B/B2C + rôle | « B2B — CMO SaaS 50p » | Obligatoire |
| Objectif | Lead Gen / Conversion / Expertise | Obligatoire |
| Secteur | nommé | Obligatoire |
| Audience | junior / expert / mixte | Obligatoire |
| Localisation | ville ou « N/A » | Obligatoire |
| Expertise unique | une phrase signature | Recommandé |

Si une variable obligatoire manque, poser **une seule question groupée** avant de produire. Enchaîner les questions une par une fait perdre plus de temps que de produire une carte sur une hypothèse annoncée.

## Règle de contexte — jamais un site entier dans la fenêtre

La qualité de raisonnement d'un LLM se dégrade quand sa fenêtre de contexte se remplit. Charger des dizaines de pages avant de raisonner produit une carte sémantique médiocre : le modèle se met à résumer ce qu'il a lu au lieu de construire une position. Trois règles :

- **Une page à la fois.** Ne jamais charger le site complet, ni le blog entier « pour avoir le contexte ».
- **Index d'abord.** Si l'analyse a besoin d'une vue d'ensemble du site (autres pages du cluster, maillage existant), construire d'abord un index léger (URL + title + H1 + meta description par page) et raisonner dessus. Le contenu intégral d'une page ne se lit qu'à la demande, quand une phase en a besoin.
- **Déléguer les lectures longues.** Dans un environnement qui le permet (sous-agents), faire lire les pages annexes par des agents séparés qui ne remontent que leur synthèse. Le contexte principal reste réservé au raisonnement des 13 phases.

## Pipeline — 13 phases en chaîne

```
Phase 0 — Filtre stratégique (informatif, jamais bloquant)
Phase 1 — Décodage micro-intentionnel + Action Engine flag
Phase 2 — Entités sémantiques pondérées (7 colonnes)
Phase 3 — Lexique signature (n-grams + co-occurrences)
Phase 4 — Pain points & verbatims Haute Surprise
Phase 5 — Preuves quantitatives (Confidence Score + Freshness Guard)
Phase 6 — Vecteurs multimodaux
Phase 7 — Cartographie concurrentielle (5-10 acteurs)
Phase 8 — Gap analysis 3 vues (8a Gap Competitive Map / 8b Content Gap Score
          / 8c Surprise Score Sémantique 0-100)
Phase 9 — Divergence calibrée Information Gain
Phase 10 — FAQ stratégique (5-7 vecteurs latents)
Phase 11 — Structural Information GEO
Phase 12 — Matrice couverture × Mapping Triade SERP
Phase 13 — Feedback loop KB (patches à archiver)
```

Les phases s'enchaînent : chacune consomme les sorties des précédentes. La Phase 8a a besoin des entités (Phase 2) et des acteurs (Phase 7) ; la Phase 9 attaque une entité identifiée en 8a. Sauter une phase casse la chaîne en aval.

### Formats détaillés

Le format exact de chaque phase — tableaux, colonnes obligatoires, seuils, verdicts — est en référence. Charger le fichier au moment d'exécuter les phases concernées, pas d'avance :

- `references/phases-0-6.md` — filtre stratégique, micro-intentions, entités pondérées, lexique, pain points, preuves, multimodal.
- `references/phases-7-13.md` — cartographie concurrentielle, gap analysis 3 vues, divergence, FAQ, structural GEO, matrice de couverture, patches KB.
- `references/output-template.md` — gabarit de la sortie finale, à suivre pour que deux runs soient comparables.
- `references/concepts.md` — définitions des concepts mobilisés (Triade SERP, Information Gain, Confidence Score, Freshness Guard, pureté vectorielle, Surprise Gap…). À consulter en cas de doute sur un terme, et pour justifier un verdict auprès de l'utilisateur.

## Règles absolues

Ces règles existent parce que chacune corrige une manière connue de produire une carte qui a l'air bonne et ne sert à rien.

- **Aucun scraping SERP**, jamais. Ni Google, ni Bing, ni autre moteur. La carte se construit depuis l'intention et le corpus, pas depuis le classement existant — c'est précisément ce qui permet de le dépasser.
- **Robots.txt strict** pour tout WebFetch. Si bloqué : training Claude + demande à l'utilisateur, jamais de contournement.
- **Cosinus toujours marqué « simulé »** en Phase 2 et Phase 8c. Ce sont des projections sur le corpus Claude, pas des embeddings calculés. Présenter un chiffre simulé comme mesuré ferait prendre des décisions sur du sable.
- **Confidence Score obligatoire** sur chaque preuve chiffrée. Si la confiance est basse ou la source inconnue → `[À SOURCER]`. Aucun chiffre inventé : une carte sémantique sert à écrire une page publiée, un chiffre faux y survit.
- **Freshness Guard** : preuves de plus de 36 mois omises, sauf paper fondateur non substituable.
- **Phase 0 jamais bloquante** : alerter en WARN et proposer des sous-niches en annexe, mais produire toujours la carte complète. L'utilisateur décide de renoncer, pas l'engine.
- **Ne pas rédiger** : pas de H1 final, pas de hook, pas d'architecture Hn définitive, pas de CTA, pas de prose narrative. La rédaction est en aval et travaille à partir de cette carte.
- **Une page = une intention** (pureté vectorielle). Si la Phase 0.3 détecte plusieurs intentions → WARN + N sous-cartes en annexe.
- **Anti-cliché en Phase 4** : « je veux du ROI », « je veux des résultats » ne sont pas des pain points, ce sont des absences de pain point.
- **Justification obligatoire en Phase 2** : chaque entité porte sa raison d'être (paper, doctrine, co-occurrence). Une entité sans justification est une entité devinée, et elle fera écrire un paragraphe inutile.

## Sauvegarde

Écrire la carte dans `~/Documents/SEO/<client>/cartes/<requête-en-kebab-case>.json`, plus le rapport lisible en `.md` à côté si l'utilisateur le souhaite.

Une carte est **réutilisable** : la même carte sert à auditer plusieurs pages du même client sur la même requête, et c'est ce qui rend l'audit rapide au deuxième passage. La stocker plutôt que la régénérer évite aussi qu'un second run produise une référence légèrement différente, ce qui rendrait deux audits incomparables.

Le JSON doit suivre le format attendu par le comptage de `seo-audit-semantique` (entités avec `variants` et `target_density`, n-grams avec `target_count`). Détail du format : `seo-audit-semantique/references/counting-script.md`.

Si le client n'est pas déductible du contexte, demander sous quel nom classer. Si l'utilisateur préfère un autre emplacement (vault Obsidian, dossier projet), le respecter.
