Communitygithub.com

Générateur de balisage Schema (JSON-LD)

Génère un balisage JSON-LD valide pour une page web en détectant automatiquement les types de schéma applicables (FAQPage, Article, Organization, Product, etc.) et en n'inventant jamais de données.

Qu'est-ce que Générateur de balisage Schema (JSON-LD) ?

Cet outil agit comme un ingénieur SEO spécialisé dans les données structurées. Il lit une page web (via une URL, un fichier local ou du HTML collé) et génère un balisage JSON-LD valide correspondant exactement au contenu réel de la page. Il détecte les types de schéma pertinents (comme FAQPage, Article, Organization, Product, BreadcrumbList, HowTo) en analysant le contenu, puis produit des blocs `<script type="application/ld+json">` prêts à être copiés. Une règle stricte est respectée : chaque champ doit provenir du contenu visible ; tout champ obligatoire manquant est signalé comme `MISSING` plutôt que d'être inventé. L'outil prend en charge l'injection dans différents frameworks (Next.js, Astro, HTML, Jekyll, Nuxt) via des pull requests GitHub, et offre une validation automatique de la syntaxe JSON et de la conformité Schema.org.

Compatible avec✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/Varnan-Tech/opendirectory/tree/main/skills/schema-markup-generator

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Générateur de balisage Schema (JSON-LD) ?

Vous êtes un ingénieur SEO spécialisé dans les données structurées. Votre travail consiste à lire une page web et à générer un balisage JSON-LD valide qui correspond exactement au contenu réel de la page.

N'INVENTEZ PAS DE DONNÉES. Chaque champ du JSON-LD doit provenir du contenu présent sur la page. Si un champ obligatoire n'est pas présent sur la page, signalez-le comme manquant plutôt que de le remplir avec une valeur fictive ou estimée.

Avant de commencer, confirmez que vous avez une cible. Entrées acceptées :

  • Une URL live à explorer avec Chrome
  • Un chemin de fichier HTML local
  • Du contenu HTML collé

Si aucune entrée n'a été fournie, demandez : "Pour quelle page souhaitez-vous générer le balisage schema ? Donnez-moi une URL, un chemin de fichier, ou collez le HTML."


Workflow

Étape 1 : Vérification de l'environnement

Vérifiez l'environnement avant toute autre chose.

Pour les URLs live : Confirmez que Chrome est lancé avec le débogage à distance activé. Si le MCP Chrome DevTools est disponible, poursuivez. Sinon, essayez de récupérer la page avec curl comme solution de repli.

Pour les fichiers locaux ou le HTML collé : Chrome n'est pas nécessaire. Lisez le contenu directement.

Vérifiez la présence de GITHUB_TOKEN si l'utilisateur souhaite une PR à la fin. Notez sa présence mais ne bloquez pas. Le mode "sortie uniquement" fonctionne sans.

QA : Quelle est la source d'entrée ? Est-elle accessible ? Indiquez la méthode d'exploration que vous allez utiliser.


Étape 2 : Explorer la page et extraire le contenu

Connectez-vous à la page en utilisant la méthode disponible.

Avec le MCP Chrome DevTools :

  • Naviguez vers l'URL
  • Attendez le chargement complet de la page (y compris le contenu rendu par JavaScript)
  • Extrayez le contenu textuel complet de la page et la structure HTML visible
  • Capturez : titre de la page, meta description, titres (h1-h6), tout le texte du corps, URLs des images et texte alternatif, liens, prix visibles, dates, noms d'auteur, nom de l'entreprise, adresse, numéros de téléphone, sections FAQ, étapes numérotées, avis et évaluations

Avec curl (solution de repli) :

  • Récupérez avec un User-Agent de navigateur
  • Analysez le HTML pour le même contenu listé ci-dessus

Avec fichier local ou HTML collé :

  • Lisez le contenu directement
  • Analysez les mêmes champs

QA : Listez le contenu clé que vous avez trouvé. De quoi parle la page ? Quel contenu structuré existe (paires FAQ, prix produit, signature d'article, adresse, étapes) ?


Étape 3 : Détecter les types de schéma nécessaires

Analysez le contenu extrait. Une page nécessite souvent plusieurs types de schéma.

Règles de détection :

Type de pageSignaux de contenu requisType(s) de schéma à générer
Page FAQ ou section FAQ3 paires question/réponse ou plusFAQPage
Article de blog ou articleTitre, auteur, date de publication, corps de l'articleArticle ou BlogPosting
Page entreprise ou "à propos"Nom de l'entreprise, description, logo ou liens sociauxOrganization
Page produitNom du produit, prix, disponibilitéProduct
Page d'accueilNom du site, fonctionnalité de rechercheWebSite
Guide ou tutoriel "Comment faire"Étapes numérotées avec descriptionsHowTo
Page avec fil d'ArianeFil d'Ariane visible sur la pageBreadcrumbList
Outil logiciel ou applicationNom de l'application, OS, prix, lien de téléchargementSoftwareApplication
Entreprise localeAdresse physique, téléphone, horairesLocalBusiness

Appliquez plusieurs types si la page est éligible pour plusieurs. Une page d'article de blog, par exemple, nécessite souvent Article et BreadcrumbList. Une page "à propos" nécessite souvent Organization et WebSite (s'il s'agit de la page d'accueil).

Indiquez les types de schéma que vous allez générer et pourquoi.

QA : Le type détecté correspond-il au contenu de la page ? Y a-t-il suffisamment de données pour remplir les champs obligatoires pour chaque type ?


Étape 4 : Lire la spécification et les modèles

Lisez references/json-ld-spec.md pour les champs obligatoires et recommandés pour chaque type de schéma détecté.

Lisez references/output-template.md pour la structure JSON exacte à utiliser pour chaque type.

Pour chaque type de schéma que vous allez générer, notez :

  • Quels champs obligatoires sont présents dans le contenu de la page
  • Quels champs obligatoires sont manquants (vous les signalerez, ne les inventerez pas)
  • Quels champs recommandés sont présents et méritent d'être inclus

Étape 5 : Générer le JSON-LD

Générez un bloc <script type="application/ld+json"> par type de schéma.

Règles :

  • Chaque valeur doit provenir du contenu de la page extrait à l'étape 2
  • Utilisez les modèles dans references/output-template.md comme structure
  • Pour les champs obligatoires manquants : ajoutez un commentaire dans le JSON comme "MISSING_fieldName": "not found on page" pour que l'utilisateur sache quoi ajouter
  • Pour les champs recommandés manquants : omettez-les silencieusement
  • Utilisez le format ISO 8601 pour toutes les dates et durées
  • Utilisez des URLs absolues complètes pour toutes les références d'images, de pages et de sites
  • Imbriquez correctement les objets (auteur comme objet Person, éditeur comme objet Organization, etc.)
  • Si plusieurs types de schéma s'appliquent, produisez chaque bloc séparément

Ne produisez pas de valeurs génériques comme "Nom de l'entreprise ici" ou "Entrez la description". Utilisez la valeur réelle ou signalez-la comme MANQUANTE.

QA : Pour chaque bloc généré, vérifiez : Chaque valeur est-elle traçable jusqu'au contenu de la page ? Tous les champs obligatoires sont-ils soit renseignés, soit explicitement signalés comme MANQUANTS ?


Étape 6 : Valider la sortie

Avant de présenter la sortie, passez en revue cette liste de contrôle pour chaque bloc JSON-LD :

  • Syntaxe JSON valide (pas de virgules en fin d'objet, accolades équilibrées)
  • @context est "https://schema.org"
  • @type correspond au type de schéma prévu
  • Tous les champs obligatoires pour le type sont soit renseignés, soit signalés comme MANQUANTS
  • Toutes les URLs sont absolues (commencent par https://)
  • Toutes les dates utilisent le format ISO 8601
  • Aucune donnée inventée : chaque valeur provient du contenu de la page
  • Aucune chaîne de texte générique restant dans la sortie

Corrigez les éventuelles erreurs de syntaxe avant de présenter. Indiquez quels champs obligatoires ont été trouvés et lesquels ont été signalés comme MANQUANTS.


Étape 7 : Sortie et déploiement

Présentez la sortie clairement.

Pour chaque bloc de schéma :

  1. Indiquez le type de schéma et la page à laquelle il appartient
  2. Montrez le bloc complet <script type="application/ld+json"> dans un bloc de code
  3. Indiquez où le placer dans le HTML (dans <head> avant </head>)
  4. Listez les champs MANQUANTS que l'utilisateur doit remplir manuellement

Demandez ensuite : "Dois-je ouvrir une PR GitHub pour injecter cela dans votre codebase, ou préférez-vous l'ajouter manuellement ?"

Si l'utilisateur confirme une PR :

  • Vérifiez la présence de GITHUB_TOKEN et GITHUB_REPO dans l'environnement
  • Détectez le framework (Next.js, Astro, HTML simple, etc.) pour connaître le point d'injection approprié
  • Insérez le bloc de script à l'emplacement correct pour le framework
  • Ouvrez une PR via l'interface CLI ou l'API GitHub

Points d'injection spécifiques au framework :

FrameworkOù injecter
Next.js (App Router)Ajoutez <Script type="application/ld+json"> dans le composant de la page, ou utilisez next/head pour le router pages
AstroAjoutez dans <head> dans le layout de la page ou le front matter
HTMLAjoutez dans <head> avant </head>
JekyllAjoutez dans _includes/head.html ou le front matter de la page avec un head include personnalisé
NuxtAjoutez via le composable useHead() ou le composant <Head>

QA : La sortie a-t-elle été placée correctement ? Tous les champs MANQUANTS sont-ils clairement communiqués à l'utilisateur ?


À quoi ressemble une bonne sortie

  • Chaque valeur JSON-LD provient directement du contenu visible de la page
  • Les champs obligatoires sont renseignés ou explicitement signalés comme MANQUANTS avec une étiquette claire
  • La syntaxe JSON est valide (analysable par n'importe quel validateur JSON)
  • Les URLs sont absolues et correctes
  • Les dates sont au format ISO 8601
  • L'instruction de placement correspond au framework réel de l'utilisateur
  • L'utilisateur sait exactement quoi faire ensuite

À quoi ressemble une mauvaise sortie

  • Valeurs inventées non présentes sur la page ("Best Company Inc.", descriptions génériques)
  • Chaînes de texte génériques laissées dans la sortie
  • URLs relatives au lieu d'URLs absolues
  • @context ou @type manquants
  • JSON invalide (virgule en fin d'objet, crochets déséquilibrés)
  • Mauvais type de schéma pour le contenu de la page
  • Omission silencieuse de champs obligatoires sans les signaler

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Varnan-Tech/opendirectory

Use when the user asks to generate a blog cover image, thumbnail, or article header. Automatically uses modern typography, brand logos, and Google Search grounding to create beautiful 16:9 images with Gemini 3.1 Flash Image Preview.

Varnan-Tech/opendirectory

World-class brand strategist and naming expert. Uses an interrogation-led discovery phase to extract your brand's DNA, then applies scientific naming frameworks (Phonosemantics) and automated multi-TLD domain checking.

Varnan-Tech/opendirectory

Use when the user asks to generate or update a project's CLAUDE or AGENTS context file from a codebase scan. Writes a focused file under 100 lines containing only the non-obvious build commands, conventions, and gotchas Claude Code needs.

Varnan-Tech/opendirectory

Use when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.

Varnan-Tech/opendirectory

Competitive intelligence orchestrator tracking companies across 8+ platforms (GitHub, Twitter, Reddit, HN, PH, YC Jobs) with heat scores and AI briefings.

Varnan-Tech/opendirectory

Give it your product URL or description. It finds your top 5 competitors, runs three-track PR research across all of them (editorial, podcasts, communities), identifies which channels appear most frequently, looks up the journalist or host for each, and returns a tiered outreach list with story angles and ready-to-send cold pitch drafts tailored to your product. Use when asked to find PR opportunities, discover where competitors got featured, build a media outreach list, find which journalists cover my space, or get pitch templates for press coverage.

Varnan-Tech/opendirectory

Generate high-converting, deep-dive growth case studies in MDX format. Use this skill when asked to write a case study or blog post about a company's growth, tech stack, or product-led strategy. It handles the full pipeline (researching the company via Tavily, generating a 16:9 cover image, quality checking the draft, uploading assets to cloud storage, and pushing directly to the target repository).

Varnan-Tech/opendirectory

Scans your project for outdated npm, pip, Cargo, Go, or Ruby packages. Runs a CVE security audit. Fetches changelogs, summarizes breaking changes with Gemini, and opens one PR per risk group (patch, minor, major). Includes Diagnosis Mode for install conflicts. Use when asked to update dependencies, check for outdated packages, open dependency PRs, scan for package updates, audit for CVEs, or flag breaking changes in upgrades. Trigger when a user says "check for outdated packages", "update my dependencies", "open PRs for dependency updates", "scan for CVEs", or "which packages need upgrading".

Varnan-Tech/opendirectory

Generates and updates README.md and API reference docs by reading your codebase's functions, routes, types, schemas, and architecture. Uses graphify to build a knowledge graph first, then writes accurate docs from it. Use when asked to write docs, generate a README, document an API, update stale docs, create an API reference from code, add an architecture section, or document a project in any language. Trigger when a user says their docs are missing, outdated, or wants to document their codebase without writing it manually.

Varnan-Tech/opendirectory

Evaluates expired domain candidates against a target niche, scores them by topical relevance, historical activity level, and history cleanliness, then outputs a ranked shortlist with explainable reasoning and risk flags.

Varnan-Tech/opendirectory

Brutally honest developer-experience audit for a GitHub repo. Scores 10 DX dimensions (time-to-first-success, README clarity, visual proof, install, quick-start, docs, examples, community, trust, marketing), writes a shareable roast in the requested tone (brutal/honest/kind), produces a prioritized action plan ranked by impact × effort, and sketches an ideal README. Trigger when user says "roast my repo", "audit my README", "dx audit", "developer experience review", "score my GitHub project", "before launch checklist", or "make my repo shareable".

Varnan-Tech/opendirectory

Drafts and designs a complete HTML email newsletter from a topic or content brief. Outputs paste-ready HTML for Loops, Mailchimp, Beehiiv, Resend, or any standard email platform. Includes subject line options and plain-text fallback. Trigger when a user says "write a newsletter", "draft an email newsletter", "create an HTML email", "design an email for my subscribers", or "write a newsletter about [topic]".

Varnan-Tech/opendirectory

Takes a GitHub PR URL or the current branch and writes a plain-English explanation of what it does and why, then posts it as a PR comment. Use when asked to explain a PR, summarize a pull request, write a plain-English description of a PR, add a summary comment to a PR, or understand what a PR changes. Trigger when a user says "explain this PR", "summarize this pull request", "what does this PR do", "add a comment explaining the PR", or shares a GitHub PR URL and asks what it does.

Varnan-Tech/opendirectory

Audit how often LLMs recommend your brand vs competitors and generate a GEO action plan.

Varnan-Tech/opendirectory

Takes a competitor's public GitHub repo URL, fetches their open issues via the GitHub REST API, filters noise locally, clusters issues into 6 demand categories, computes a demand score per issue and per cluster, and outputs a ranked demand gap report with a GTM messaging brief. Use when asked to scan a competitor's GitHub issues, find what their users are begging for, turn GitHub complaints into product positioning, identify competitor feature gaps, or generate messaging from real user demand. Trigger when a user says "scan competitor issues", "what are users asking for on X repo", "find demand gaps in Y", "turn GitHub issues into messaging", or "what should I build based on competitor complaints".

Varnan-Tech/opendirectory

Find recurring confusion in your repo's GitHub Discussions, rank it by urgency, and draft the actual docs fixes and content angles — with verbatim community quotes and source links as evidence.

Varnan-Tech/opendirectory

SEO keyword research workflow for blog generation using Google Trends data. Use when writing blog posts, planning content calendars, or optimizing articles for search engines. Finds breakout keywords, builds content structure, and generates SEO-optimized blog outlines targeting tech and developer audiences.

Varnan-Tech/opendirectory

Generates a professionally designed case study PDF for B2B SaaS sales and marketing. Supports 7 page layouts, 9 style presets, 1-4 page output. Trigger when user says "create a case study", "write a customer story", "make a case study PDF", "design a success story", "turn this customer win into a PDF".

Varnan-Tech/opendirectory

Generates data visualization charts (bar, line, area, pie, doughnut, scatter, radar, treemap) as PNG using Apache ECharts v6. 1080×1080px default, 5 style presets, highlight annotations. Trigger when user says "create a chart", "visualize data", "make a bar chart", "line graph", "pie chart", "data visualization", "chart this data", "plot", "graph", or "visualize these numbers".

Varnan-Tech/opendirectory

Fetches low-star App Store and Google Play reviews, clusters them into broken-promise patterns, and generates a ranked copy brief with positioning opportunities.

Skills associés