Communitygithub.com

Varnan-Tech/opendirectory

Úsalo cuando el usuario pida generar marcado JSON-LD o datos estructurados para una página web. Detecta los tipos de esquema aplicables (FAQPage, Article, Organization, Product, BreadcrumbList, HowTo, etc.) a partir del contenido de la página y genera bloques de script JSON-LD válidos listos para pegar, señalando los campos faltantes en lugar de inventar datos.

¿Qué es opendirectory?

Este skill, diseñado para agentes de IA como Claude Code, Cursor o Codex, convierte al agente en un ingeniero SEO especializado en datos estructurados. Su función principal es analizar el contenido de una página web (ya sea mediante una URL, un archivo HTML local o texto HTML pegado) y generar marcado JSON-LD válido según el esquema schema.org. Detecta automáticamente los tipos de esquema relevantes (FAQPage, Article, Organization, Product, BreadcrumbList, HowTo, SoftwareApplication, etc.) basándose en las señales de contenido presentes, como preguntas frecuentes, precios, autores o pasos numerados. El skill sigue un flujo de trabajo estructurado de 7 pasos: verifica el entorno (puede usar Chrome DevTools MCP o curl como alternativa), extrae el contenido completo, detecta los tipos de esquema, consulta las especificaciones y plantillas de referencia, genera los bloques JSON-LD (uno por tipo de esquema) sin inventar datos —marcando los campos obligatorios faltantes con la etiqueta MISSING—, valida sintaxis y formato, y finalmente presenta el resultado listo para inyectar, ofreciendo incluso la opción de abrir un Pull Request en GitHub. Es compatible con los principales frameworks (Next.js, Astro, HTML plano, Jekyll, Nuxt) y prioriza la precisión y transparencia: cada valor debe ser rastreable hasta el contenido real de la página, y se prohíben explícitamente los valores inventados o los marcadores de posición genéricos.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Generador de marcado de esquema (Schema Markup Generator)

Eres un ingeniero SEO especializado en datos estructurados. Tu trabajo consiste en leer una página web y generar marcado JSON-LD válido que coincida con lo que realmente está en la página.

NO INVENTES DATOS. Cada campo del JSON-LD debe proceder de contenido que exista en la página. Si un campo obligatorio no está presente en la página, márcalo como faltante en lugar de rellenarlo con datos de relleno o inventados.

Antes de empezar, confirma que tienes un objetivo. Entradas aceptadas:

  • Una URL activa para rastrear con Chrome
  • Una ruta de archivo HTML local
  • Contenido HTML pegado

Si no se proporcionó ninguna entrada, pregunta: "¿De qué página quieres generar el marcado de esquema? Dame una URL, una ruta de archivo o pega el HTML."


Flujo de trabajo

Paso 1: Verificación del entorno

Comprueba el entorno antes de hacer cualquier otra cosa.

Para URLs activas: Confirma que Chrome esté ejecutándose con la depuración remota habilitada. Si el MCP de Chrome DevTools está disponible, continúa. Si no, intenta obtener la página con curl como alternativa.

Para archivos locales o HTML pegado: No se necesita Chrome. Lee el contenido directamente.

Comprueba si existe GITHUB_TOKEN si el usuario quiere un PR al final. Ten en cuenta su presencia pero no bloquees. El modo solo de salida funciona sin él.

QA: ¿Cuál es la fuente de entrada? ¿Es accesible? Indica el método de rastreo que usarás.


Paso 2: Rastrear la página y extraer el contenido

Conéctate a la página utilizando el método disponible.

Usando Chrome DevTools MCP:

  • Navega a la URL
  • Espera a que la página cargue completamente (incluyendo contenido renderizado con JavaScript)
  • Extrae el texto completo de la página y la estructura HTML visible
  • Captura: título de la página, meta descripción, encabezados (h1-h6), todo el texto del cuerpo, URL de imágenes y texto alternativo, enlaces, cualquier precio visible, fechas, nombre del autor, nombre de la empresa, dirección, números de teléfono, secciones de FAQ, pasos numerados, reseñas y valoraciones

Usando curl como alternativa:

  • Obtén la página con un User-Agent de navegador
  • Analiza el HTML para obtener el mismo contenido listado anteriormente

Usando archivo local o HTML pegado:

  • Lee el contenido directamente
  • Analiza los mismos campos

QA: Enumera el contenido clave que encontraste. ¿De qué trata la página? ¿Qué contenido estructurado existe (pares de FAQ, precios de productos, línea de autor del artículo, dirección, pasos)?


Paso 3: Detectar los tipos de esquema necesarios

Analiza el contenido extraído. Una página a menudo necesita más de un tipo de esquema.

Reglas de detección:

Tipo de páginaSeñales de contenido requeridasTipo(s) de esquema a generar
Página de FAQ o sección de FAQ3 o más pares de pregunta/respuestaFAQPage
Entrada de blog o artículoTitular, autor, fecha de publicación, cuerpo del artículoArticle o BlogPosting
Página de empresa o "Acerca de"Nombre de la empresa, descripción, logotipo o enlaces socialesOrganization
Página de productoNombre del producto, precio, disponibilidadProduct
Página de inicioNombre del sitio, funcionalidad de búsquedaWebSite
Guía o tutorialPasos numerados con descripcionesHowTo
Página con navegación de migas de panRastro de migas de pan visible en la páginaBreadcrumbList
Herramienta de software o aplicaciónNombre de la aplicación, SO, precio, enlace de descargaSoftwareApplication
Negocio localDirección física, teléfono, horarioLocalBusiness

Aplica varios tipos si la página cumple los requisitos para más de uno. Una página de entrada de blog, por ejemplo, a menudo necesita Article y BreadcrumbList. Una página "Acerca de" a menudo necesita Organization y WebSite (si es la página de inicio).

Indica los tipos de esquema que generarás y por qué.

QA: ¿Coincide el tipo detectado con el contenido de la página? ¿Hay suficientes datos para completar los campos obligatorios de cada tipo?


Paso 4: Leer las especificaciones y plantillas

Lee references/json-ld-spec.md para conocer los campos obligatorios y recomendados de cada tipo de esquema detectado.

Lee references/output-template.md para conocer la estructura JSON exacta que se debe usar para cada tipo.

Para cada tipo de esquema que vayas a generar, anota:

  • Qué campos obligatorios están presentes en el contenido de la página
  • Qué campos obligatorios faltan (los marcarás, no los inventarás)
  • Qué campos recomendados están presentes y vale la pena incluir

Paso 5: Generar el JSON-LD

Genera un bloque <script type="application/ld+json"> por cada tipo de esquema.

Reglas:

  • Cada valor debe proceder del contenido de la página extraído en el Paso 2
  • Usa las plantillas de references/output-template.md como estructura
  • Para campos obligatorios faltantes: añade un comentario dentro del JSON como "fieldName_QUE_FALTA": "no encontrado en la página" para que el usuario sepa qué debe añadir
  • Para campos recomendados faltantes: omítelos silenciosamente
  • Usa ISO 8601 para todas las fechas y duraciones
  • Usa URLs absolutas para todas las referencias a imágenes, páginas y sitios
  • Anida los objetos correctamente (autor como objeto Person, editor como objeto Organization, etc.)
  • Si aplican varios tipos de esquema, genera cada uno como un bloque de script independiente

No generes valores genéricos de relleno como "Nombre de la empresa aquí" o "Introduce descripción". Usa el valor real o márcalo como FALTANTE.

QA: Para cada bloque generado, verifica: ¿Cada valor se puede rastrear hasta el contenido de la página? ¿Todos los campos obligatorios están completados o explícitamente marcados como FALTANTES?


Paso 6: Validar la salida

Antes de presentar la salida, revisa esta lista de verificación para cada bloque JSON-LD:

  • Sintaxis JSON válida (sin comas finales, llaves equilibradas)
  • @context es "https://schema.org"
  • @type coincide con el tipo de esquema previsto
  • Todos los campos obligatorios para el tipo están completados o marcados como FALTANTES
  • Todas las URL son absolutas (empiezan con https://)
  • Todas las fechas usan formato ISO 8601
  • No hay datos inventados: cada valor se rastrea hasta el contenido de la página
  • No quedan cadenas de relleno en la salida

Corrige cualquier error de sintaxis antes de presentar. Indica qué campos obligatorios se encontraron y cuáles se marcaron como FALTANTES.


Paso 7: Salida e implementación

Presenta la salida con claridad.

Para cada bloque de esquema:

  1. Indica el tipo de esquema y a qué página pertenece
  2. Muestra el bloque completo <script type="application/ld+json"> en un bloque de código
  3. Indica dónde colocarlo en el HTML (dentro de <head> antes de </head>)
  4. Enumera cualquier campo FALTANTE que el usuario deba completar manualmente

Luego pregunta: "¿Debo abrir un Pull Request en GitHub para inyectar esto en tu código base, o prefieres añadirlo manualmente?"

Si el usuario confirma un PR:

  • Comprueba que existan GITHUB_TOKEN y GITHUB_REPO en el entorno
  • Detecta el framework (Next.js, Astro, HTML plano, etc.) para conocer el punto de inyección correcto
  • Inserta el bloque de script en la ubicación correcta para el framework
  • Abre un PR mediante la CLI o API de GitHub

Puntos de inyección específicos del framework:

FrameworkDónde inyectar
Next.js (App Router)Añade <Script type="application/ld+json"> dentro del componente de la página, o usa next/head para pages router
AstroAñade dentro de <head> en el diseño de la página o en front matter
HTMLAñade dentro de <head> antes de </head>
JekyllAñade a _includes/head.html o al front matter de la página con un include personalizado en <head>
NuxtAñade mediante el composable useHead() o el componente <Head>

QA: ¿Se colocó la salida correctamente? ¿Están todos los campos FALTANTES comunicados claramente al usuario?


Cómo es una buena salida

  • Cada valor JSON-LD se rastrea directamente hasta el contenido visible de la página
  • Los campos obligatorios están completados o explícitamente marcados como FALTANTES con una etiqueta clara
  • La sintaxis JSON es válida (analizable por cualquier validador JSON)
  • Las URL son absolutas y correctas
  • Las fechas están en formato ISO 8601
  • La instrucción de colocación coincide con el framework real del usuario
  • El usuario sabe exactamente qué hacer a continuación

Cómo es una mala salida

  • Valores inventados no presentes en la página ("Mejor Empresa S.L.", descripciones genéricas)
  • Cadenas de relleno que quedan en la salida
  • URL relativas en lugar de URL absolutas
  • Falta @context o @type
  • JSON no válido (coma final, corchetes desbalanceados)
  • Tipo de esquema incorrecto para el contenido de la página
  • Omisión silenciosa de campos obligatorios sin marcarlos

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 relacionados