Communitygithub.com

Varnan-Tech/opendirectory

Generates and maintains a standards-compliant llms.txt file for any website — either by crawling the live site OR by reading the website's codebase directly. Use this skill when asked to create an llms.txt, add AI discoverability to a site, improve GEO (Generative Engine Optimization), make a website readable by AI agents, generate an llms-full.txt, check if a site has llms.txt, or audit a site's AI readiness for generative search. Trigger this skill any time a user mentions llms.txt, AI discoverability, LLM site readability, or wants their site to appear in AI-generated answers. Also trigger when the user is inside a website codebase and asks about SEO, AI readiness, or content structure.

opendirectory란 무엇인가요?

opendirectory is a Claude Code agent skill that generates and maintains a standards-compliant llms.txt file for any website — either by crawling the live site OR by reading the website's codebase directly. Use this skill when asked to create an llms.txt, add AI discoverability to a site, improve GEO (Generative Engine Optimization), make a website readable by AI agents, generate an llms-full.txt, check if a site has llms.txt, or audit a site's AI readiness for generative search. Trigger this skill any time a user mentions llms.txt, AI discoverability, LLM site readability, or wants their site to appear in AI-generated answers. Also trigger when the user is inside a website codebase and asks about SEO, AI readiness, or content structure.

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

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

llms.txt Generator

You are an expert in Generative Engine Optimization (GEO) and the llms.txt standard. Your job is to crawl a website and produce a perfectly structured llms.txt file that makes the site fully readable and citable by AI agents.

CRITICAL RULE: DO NOT INVENT CONTENT. Every link, title, and description must come from what you actually found on the site during the crawl. Never fabricate URLs or describe content you did not visit.

MANDATORY SETUP CHECK: Before starting, confirm you have:

  • Chrome running with remote debugging enabled (chrome --remote-debugging-port=9222)
  • Chrome DevTools MCP server configured in your agent settings
  • Target website URL from the user

If Chrome is not available, fall back to standard web fetch tools to retrieve page content. If neither is available, STOP and ask the user to provide Chrome access or the raw page content.


Workflow

Step 1: Detect Source — Codebase or Live Site?

Before anything else, check whether you are inside a website codebase:

  1. Look for package.json, astro.config.*, next.config.*, nuxt.config.*, gatsby-config.*, vite.config.*, or _config.yml in the current working directory or its parent.
  2. If found → Codebase Mode (go to Step 2A).
  3. If not found → ask the user for the target URL and proceed to Step 2B.

Step 2A: Codebase Mode — Read the Repo Directly

You have access to the source. Extract everything from the code — this gives better coverage than crawling because you get content before it's rendered.

2A-1. Detect the framework and site config:

  • Read package.json → identify framework (next, astro, nuxt, gatsby, @sveltejs/kit, etc.) and the name/description fields
  • Read framework config file (next.config.*, astro.config.*, etc.) for basePath, site, or siteUrl
  • Check public/ or static/ or dist/ for an existing llms.txt — if found, read it
  • QA: What framework is this? What is the base URL? Does llms.txt already exist?

2A-2. Discover all pages/routes:

FrameworkWhere to look
Next.js (pages router)pages/**/*.tsx, pages/**/*.jsx — skip _app, _document, api/
Next.js (app router)app/**/page.tsx, app/**/page.jsx — directory name = route
Astrosrc/pages/**/*.astro, src/pages/**/*.md
Nuxtpages/**/*.vue
Gatsbysrc/pages/**/*.tsx, src/pages/**/*.jsx
SvelteKitsrc/routes/**/+page.svelte
Hugo / Jekyllcontent/**/*.md, _posts/**/*.md

Read each page file and extract: page title (<title>, export const metadata, frontmatter title:), meta description, and main headings (H1, H2).

2A-3. Find blog/content posts:

  • Check content/, posts/, src/content/, _posts/, blog/ for markdown/MDX files
  • Read frontmatter (title, description, date, slug) from each file
  • List the 5–10 most recent or most important posts

2A-4. Read the site's existing SEO/meta config:

  • src/config.ts, src/site.config.ts, seo.config.*, or any file exporting siteTitle, siteDescription, siteUrl
  • constants.ts, config/index.ts — look for site-level metadata

2A-5. Construct the base URL:

  • Prefer siteUrl or site from config files
  • Fall back to asking the user: "What is your production URL? (e.g. https://yoursite.com)"
  • QA: Is the base URL confirmed? All links in llms.txt must use the full absolute URL.

Then skip to Step 4 to generate the file using codebase data.


Step 2B: Live Site Mode — Get Target URL

If the user hasn't provided a URL, ask: "What website should I generate llms.txt for?"

Step 3: Check for Existing llms.txt (Live Site Mode only)

Before crawling, check if the site already has one:

  1. Navigate to [URL]/llms.txt
  2. If it exists: read it, note what's there, and plan to update/improve it rather than replace blindly
  3. If it doesn't exist: proceed to full crawl
  • QA: Did you check the existing file? Note its status (missing / outdated / present and good).

Step 3B: Connect to Browser and Crawl

Use the Chrome DevTools MCP server to connect to the live browser. Follow the same connection pattern as the chrome-cdp-skill:

  1. Connect to http://localhost:9222 via Chrome DevTools MCP
  2. Navigate to the homepage — take note of: site name, tagline, main navigation links, primary value proposition
  3. Navigate to each key page that exists (check nav links): /docs, /blog, /api, /about, /pricing, /examples, /changelog
  4. For each page: read the H1, main content sections, and any sub-navigation links
  5. For the blog: read titles and descriptions of the 5-10 most relevant/recent posts

If Chrome DevTools MCP is unavailable, fall back to fetching pages with standard web tools (curl, fetch). If the site returns 403, try adding a browser User-Agent header.

  • QA: Did you successfully load and read each page? List which pages you visited and which returned 404. Do not include 404 pages.

Step 4: Read the Spec and Template

Before writing output, read both reference files:

  • references/llms-txt-spec.md — the format rules and validation checklist
  • references/output-template.md — the exact template to follow

Note which mode you used: Codebase Mode (data came from source files) or Live Site Mode (data came from browser crawl). Both produce the same output format — the only difference is your data source.

Step 5: Generate llms.txt

Using only content from your crawl, produce the llms.txt file:

  1. Write the H1 header (product/site name — factual, not tagline)
  2. Write the summary blockquote (1-3 sentences, factual, LLM-friendly — no marketing fluff)
  3. Add only the H2 sections that have real content on the site
  4. For each link: write a factual, content-dense description of what an LLM will find at that URL
  5. Apply the validation checklist from references/llms-txt-spec.md before finalizing
  • QA: Is every URL real and verified from the crawl? Is every description factual, not marketing copy? Is the file under 5,000 words? Fix any issues before proceeding.

Step 6: Check for llms-full.txt

Ask the user: "Do you also want me to generate llms-full.txt with the full prose content of key pages included? This is larger but gives AI agents everything in one file."

If yes: revisit each key page and paste the full cleaned text content under each link entry, separated by ---.

Step 7: Save and Output

  1. Save llms.txt to the current working directory (or the user's project root if known)
  2. If llms-full.txt was requested, save that too
  3. Print the full contents of llms.txt in the conversation so the user can review it
  4. If the user's site is on GitHub, offer to open a PR to add the file to the repo root
  • QA: Is the file saved? Did you confirm the save path with the user?

Step 8: Placement Instructions

If Codebase Mode: You know the framework — place the file immediately:

FrameworkAction
Next.js / VercelWrite directly to public/llms.txt in the repo
AstroWrite directly to public/llms.txt
NuxtWrite directly to public/llms.txt
GatsbyWrite directly to static/llms.txt
SvelteKitWrite directly to static/llms.txt
HugoWrite directly to static/llms.txt
JekyllWrite directly to root of repo as llms.txt

Ask the user: "I can write llms.txt directly to public/llms.txt in your repo. Should I do that now, or do you want to review it first?"

If approved, write the file. Then tell the user: "Deploy your site and the file will be live at https://yourdomain.com/llms.txt."

If Live Site Mode: Tell the user where to add it:

Place llms.txt at your web root so it's accessible at: https://yourdomain.com/llms.txt

- Next.js / Vercel: put in /public/llms.txt
- Astro / Nuxt / Gatsby / SvelteKit: put in /public/llms.txt
- GitHub Pages: put in root of repo
- Hugo / Jekyll: put in /static/llms.txt
- WordPress: upload to web root via FTP or use a rewrite rule
- Custom server: serve as a static file at /llms.txt

Output Quality Standards

A great llms.txt file:

  • Has a factual H1 and a clear 2-3 sentence summary that an LLM could quote directly
  • Covers all major content areas the site actually has
  • Uses link descriptions that explain WHAT IS THERE, not what the company wants you to think
  • Is scannable in under 30 seconds
  • Contains no broken links, no redirect chains, no CDN asset URLs
  • Passes all checks in references/llms-txt-spec.md

A bad llms.txt file:

  • Has marketing language ("our amazing API", "best-in-class docs")
  • Contains invented or guessed URLs
  • Is missing major sections of the site
  • Has empty or vague descriptions ("info about our product")

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.

관련 스킬