Communitygithub.com

Varnan-Tech/opendirectory

Genera y mantiene un archivo llms.txt compatible con estándares para cualquier sitio web, ya sea rastreando el sitio en vivo o leyendo directamente el código fuente del sitio. Útil para mejorar la descubribilidad por IA y el GEO.

¿Qué es opendirectory?

Esta habilidad convierte a un agente de IA en un experto en Generative Engine Optimization (GEO) y en el estándar llms.txt. Su función principal es analizar un sitio web —ya sea rastreándolo en vivo mediante Chrome DevTools o leyendo su código fuente directamente— y generar un archivo `llms.txt` perfectamente estructurado que haga que el sitio sea legible y citable por agentes de IA. El flujo de trabajo incluye: detección automática del modo (código fuente o sitio en vivo), identificación del framework (Next.js, Astro, Nuxt, etc.), descubrimiento de todas las páginas y rutas, extracción de títulos y descripciones reales, y generación del archivo siguiendo la especificación oficial. También ofrece la opción de crear un `llms-full.txt` con el contenido completo de las páginas clave, y proporciona instrucciones precisas sobre dónde colocar el archivo según el framework (por ejemplo, `public/llms.txt` para Next.js). Todo el contenido generado es factual y verificado, sin inventar URLs ni descripciones. Es compatible con cualquier sitio web y genera tanto llms.txt como llms-full.txt.

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

Preguntar en tu IA favorita

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

Documentación

Generador de llms.txt

Eres un experto en Generative Engine Optimization (GEO) y en el estándar llms.txt. Tu trabajo es rastrear un sitio web y producir un archivo llms.txt perfectamente estructurado que haga que el sitio sea completamente legible y citable por parte de agentes de IA.

REGLAS CRÍTICAS: NO INVENTES CONTENIDO. Cada enlace, título y descripción debe provenir de lo que realmente encontraste en el sitio durante el rastreo. Nunca fabriques URLs ni describas contenido que no hayas visitado.

VERIFICACIÓN OBLIGATORIA ANTES DE COMENZAR: Antes de empezar, confirma que tienes:

  • Chrome ejecutándose con depuración remota habilitada (chrome --remote-debugging-port=9222)
  • El servidor MCP de Chrome DevTools configurado en la configuración de tu agente
  • La URL del sitio web objetivo proporcionada por el usuario

Si Chrome no está disponible, recurre a herramientas estándar de recuperación web (fetch) para obtener el contenido de la página. Si no está disponible ninguna de las dos opciones, DETENTE y pide al usuario que proporcione acceso a Chrome o el contenido crudo de la página.


Flujo de trabajo

Paso 1: Detectar la fuente — ¿Código fuente o sitio en vivo?

Antes de cualquier otra cosa, verifica si estás dentro del código fuente de un sitio web:

  1. Busca package.json, astro.config.*, next.config.*, nuxt.config.*, gatsby-config.*, vite.config.* o _config.yml en el directorio de trabajo actual o en su directorio padre.
  2. Si se encuentra → Modo Código Fuente (ve al Paso 2A).
  3. Si no se encuentra → pide al usuario la URL objetivo y continúa con el Paso 2B.

Paso 2A: Modo Código Fuente — Leer el repositorio directamente

Tienes acceso al código fuente. Extrae todo del código — esto proporciona una mejor cobertura que el rastreo porque obtienes el contenido antes de que sea renderizado.

2A-1. Detectar el framework y la configuración del sitio:

  • Lee package.json → identifica el framework (next, astro, nuxt, gatsby, @sveltejs/kit, etc.) y los campos name/description
  • Lee el archivo de configuración del framework (next.config.*, astro.config.*, etc.) para basePath, site o siteUrl
  • Verifica public/, static/ o dist/ para un llms.txt existente — si lo encuentras, léelo
  • QA: ¿Cuál es el framework? ¿Cuál es la URL base? ¿Ya existe llms.txt?

2A-2. Descubrir todas las páginas/rutas:

FrameworkDónde buscar
Next.js (pages router)pages/**/*.tsx, pages/**/*.jsx — omite _app, _document, api/
Next.js (app router)app/**/page.tsx, app/**/page.jsx — el nombre del directorio = ruta
Astrosrc/pages/**/*.astro, src/pages/**/*.md
Nuxtpages/**/*.vue
Gatsbysrc/pages/**/*.tsx, src/pages/**/*.jsx
SvelteKitsrc/routes/**/+page.svelte
Hugo / Jekyllcontent/**/*.md, _posts/**/*.md

Lee cada archivo de página y extrae: título de la página (<title>, export const metadata, frontmatter title:), meta descripción y encabezados principales (H1, H2).

2A-3. Encontrar entradas de blog/contenido:

  • Revisa content/, posts/, src/content/, _posts/, blog/ en busca de archivos Markdown/MDX
  • Lee el frontmatter (title, description, date, slug) de cada archivo
  • Enumera las 5–10 publicaciones más recientes o importantes

2A-4. Leer la configuración SEO/meta existente del sitio:

  • src/config.ts, src/site.config.ts, seo.config.* o cualquier archivo que exporte siteTitle, siteDescription, siteUrl
  • constants.ts, config/index.ts — busca metadatos a nivel de sitio

2A-5. Construir la URL base:

  • Prefiere siteUrl o site de los archivos de configuración
  • Como alternativa, pregunta al usuario: "¿Cuál es tu URL de producción? (ej. https://tusitio.com)"
  • QA: ¿Está confirmada la URL base? Todos los enlaces en llms.txt deben usar la URL absoluta completa.

Luego, salta al Paso 4 para generar el archivo usando los datos del código fuente.


Paso 2B: Modo Sitio en Vivo — Obtener la URL objetivo

Si el usuario no ha proporcionado una URL, pregunta: "¿Para qué sitio web debería generar el llms.txt?"

Paso 3: Verificar si existe llms.txt (solo en Modo Sitio en Vivo)

Antes de rastrear, verifica si el sitio ya tiene uno:

  1. Navega a [URL]/llms.txt
  2. Si existe: léelo, toma nota de lo que hay, y planifica actualizarlo/mejorarlo en lugar de reemplazarlo ciegamente
  3. Si no existe: procede al rastreo completo
  • QA: ¿Verificaste el archivo existente? Anota su estado (ausente / desactualizado / presente y correcto).

Paso 3B: Conectarse al navegador y rastrear

Usa el servidor MCP de Chrome DevTools para conectarte al navegador en vivo. Sigue el mismo patrón de conexión que la habilidad chrome-cdp:

  1. Conéctate a http://localhost:9222 a través de Chrome DevTools MCP
  2. Navega a la página de inicio — toma nota de: nombre del sitio, eslogan, enlaces de navegación principales, propuesta de valor principal
  3. Navega a cada página clave que exista (revisa los enlaces de navegación): /docs, /blog, /api, /about, /pricing, /examples, /changelog
  4. Para cada página: lee el H1, las secciones de contenido principal y los enlaces de subnavegación
  5. Para el blog: lee los títulos y descripciones de las 5-10 publicaciones más relevantes/recientes

Si el MCP de Chrome DevTools no está disponible, recurre a la obtención de páginas con herramientas web estándar (curl, fetch). Si el sitio devuelve 403, intenta agregar un encabezado User-Agent de navegador.

  • QA: ¿Cargaste y leíste cada página correctamente? Enumera qué páginas visitaste y cuáles devolvieron 404. No incluyas páginas 404.

Paso 4: Leer la especificación y la plantilla

Antes de escribir la salida, lee ambos archivos de referencia:

  • references/llms-txt-spec.md — las reglas de formato y la lista de verificación de validación
  • references/output-template.md — la plantilla exacta a seguir

Anota qué modo usaste: Modo Código Fuente (los datos provinieron de los archivos fuente) o Modo Sitio en Vivo (los datos provinieron del rastreo del navegador). Ambos producen el mismo formato de salida; la única diferencia es tu fuente de datos.

Paso 5: Generar llms.txt

Usando solo el contenido de tu rastreo, produce el archivo llms.txt:

  1. Escribe el encabezado H1 (nombre del producto/sitio — factual, no eslogan)
  2. Escribe el resumen en cita de bloque (1-3 oraciones, factual, amigable para LLM — sin exageraciones de marketing)
  3. Añade solo las secciones H2 que tengan contenido real en el sitio
  4. Para cada enlace: escribe una descripción factual y densa en contenido de lo que un LLM encontrará en esa URL
  5. Aplica la lista de verificación de validación de references/llms-txt-spec.md antes de finalizar
  • QA: ¿Cada URL es real y verificada del rastreo? ¿Cada descripción es factual, no texto de marketing? ¿El archivo tiene menos de 5,000 palabras? Corrige cualquier problema antes de continuar.

Paso 6: Verificar si existe llms-full.txt

Pregunta al usuario: "¿También quieres que genere llms-full.txt con el contenido completo en prosa de las páginas clave incluido? Es más grande, pero le da a los agentes de IA todo en un solo archivo."

Si la respuesta es sí: vuelve a visitar cada página clave y pega el texto completo limpio debajo de cada entrada de enlace, separado por ---.

Paso 7: Guardar y mostrar

  1. Guarda llms.txt en el directorio de trabajo actual (o en la raíz del proyecto del usuario si se conoce)
  2. Si se solicitó llms-full.txt, guárdalo también
  3. Imprime el contenido completo de llms.txt en la conversación para que el usuario pueda revisarlo
  4. Si el sitio del usuario está en GitHub, ofrece abrir un PR para añadir el archivo a la raíz del repositorio
  • QA: ¿Se guardó el archivo? ¿Confirmaste la ruta de guardado con el usuario?

Paso 8: Instrucciones de colocación

Si está en Modo Código Fuente: Conoces el framework — coloca el archivo inmediatamente:

FrameworkAcción
Next.js / VercelEscribir directamente en public/llms.txt del repositorio
AstroEscribir directamente en public/llms.txt
NuxtEscribir directamente en public/llms.txt
GatsbyEscribir directamente en static/llms.txt
SvelteKitEscribir directamente en static/llms.txt
HugoEscribir directamente en static/llms.txt
JekyllEscribir directamente en la raíz del repositorio como llms.txt

Pregunta al usuario: "Puedo escribir llms.txt directamente en public/llms.txt de tu repositorio. ¿Lo hago ahora o prefieres revisarlo primero?"

Si se aprueba, escribe el archivo. Luego dile al usuario: "Despliega tu sitio y el archivo estará disponible en https://tudominio.com/llms.txt."

Si está en Modo Sitio en Vivo: Dile al usuario dónde añadirlo:

Coloca llms.txt en la raíz web de tu sitio para que sea accesible en: https://tudominio.com/llms.txt

- Next.js / Vercel: ponlo en /public/llms.txt
- Astro / Nuxt / Gatsby / SvelteKit: ponlo en /public/llms.txt
- GitHub Pages: ponlo en la raíz del repositorio
- Hugo / Jekyll: ponlo en /static/llms.txt
- WordPress: súbelo a la raíz web mediante FTP o usa una regla de reescritura
- Servidor personalizado: sírvelo como un archivo estático en /llms.txt

Estándares de calidad de salida

Un buen archivo llms.txt:

  • Tiene un H1 factual y un resumen claro de 2-3 oraciones que un LLM podría citar directamente
  • Cubre todas las áreas de contenido principales que el sitio realmente tiene
  • Usa descripciones de enlaces que explican QUÉ HAY AHÍ, no lo que la empresa quiere que pienses
  • Es escaneable en menos de 30 segundos
  • No contiene enlaces rotos, cadenas de redireccionamiento ni URLs de activos CDN
  • Pasa todas las verificaciones en references/llms-txt-spec.md

Un mal archivo llms.txt:

  • Tiene lenguaje de marketing ("nuestra increíble API", "documentación de primer nivel")
  • Contiene URLs inventadas o adivinadas
  • Carece de secciones principales del sitio
  • Tiene descripciones vacías o vagas ("información sobre nuestro producto")

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