Skip to main content
skill

wiki-llms-txt — Claude Code skill: what it does, how to install

Builds llms.txt and llms-full.txt files following the llmstxt.org standard to make wiki docs consumable by AI agents.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add microsoft/skills --skill wiki-llms-txt -a claude-code
Open on GitHub

What wiki-llms-txt does

The skill produces structured documentation index files per the llms.txt specification. It structures the output with a single project title, a concise summary blockquote, architectural context paragraphs, and categorized links arranged by topic priority from onboarding to optional sections.

It generates three distinct files: root ./llms.txt, wiki/llms.txt for VitePress navigation, and wiki/llms-full.txt. For the inlined export, it strips YAML frontmatter from each markdown page while keeping Mermaid diagram fences, tables, citations, and source comments intact inside <doc> tags.

Before writing any files, the skill queries Git for the remote URL and default branch, stopping if unresolved. If an existing root llms.txt was not created by deep-wiki, the tool refuses to overwrite it. It operates best when wiki markdown pages already exist via /deep-wiki:generate or /deep-wiki:page.

What it helps with

  • generate standard llms.txt files for project documentation
  • combine multiple wiki markdown files into llms-full.txt
  • export documentation while preserving Mermaid diagrams and tables
  • prepare VitePress wiki links for language model discovery

Example prompts for the agent

  • Generate llms.txt and llms-full.txt from our wiki docs
  • Create an llms.txt file following the llmstxt.org spec
  • Bundle the documentation into llms-full.txt with inlined pages

How to install wiki-llms-txt

1Skills CLI (Vercel)

npx skills add microsoft/skills --skill wiki-llms-txt -a claude-code

2Manually: put the files in place

~/.claude/skills/wiki-llms-txt/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/wiki-llms-txt/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about wiki-llms-txt

How to install wiki-llms-txt in Claude Code?

Run npx skills add microsoft/skills --skill wiki-llms-txt -a claude-code.

What does wiki-llms-txt do?

It analyzes your wiki pages to build llms.txt and llms-full.txt files formatted specifically for language model ingestion.

What happens if the repository has no wiki pages yet?

It suggests running /deep-wiki:generate first or falls back to scanning the README and source code to output a minimal llms.txt.

Source text

SKILL.md · MIT
---
name: wiki-llms-txt
description: Generates llms.txt and llms-full.txt files for LLM-friendly project documentation following the llms.txt specification. Use when the user wants to create LLM-readable summaries, llms.txt files, or make their wiki accessible to language models.
license: MIT
metadata:
  author: Microsoft
  version: "1.0.0"
---

# llms.txt Generator

Generate `llms.txt` and `llms-full.txt` files that provide LLM-friendly access to wiki documentation, following the [llms.txt specification](https://llmstxt.org/).

## When This Skill Activates

- User asks to generate `llms.txt` or mentions the llms.txt standard
- User wants to make documentation "LLM-friendly" or "LLM-readable"
- User asks for a project summary file for language models
- User mentions `llms-full.txt` or context-expanded documentation

## Source Repository Resolution (MUST DO FIRST)

Before generating, resolve the source repository context:

1. **Check for git remote**: Run `git remote get-url origin`
2. **Ask the user**: _"Is this a local-only repository, or do you have a source repository URL?"_
   - Remote URL → store as `REPO_URL`
   - Local → use relative paths only
3. **Determine default branch**: Run `git rev-parse --abbrev-ref HEAD`
4. **Do NOT proceed** until resolved

## llms.txt Format (Spec-Compliant)

The file follows the [llms.txt specification](https://llmstxt.org/):

```markdown
# {Project Name}

> {Dense one-paragraph summary — what it does, who it's for, key technologies}

{Important context paragraphs — constraints, architectural philosophy, non-obvious things}

## {Section Name}

- [{Page Title}]({relative-path-to-md}): {One-sentence description of what the reader will learn}

## Optional

- [{Page Title}]({relative-path-to-md}): {Description — these can be skipped for shorter context}
```

### Key Rules

1. **H1** — Project name (exactly one, required)
2. **Blockquote** — Dense, specific summary (required). Must be unique to THIS project.
3. **Context paragraphs** — Non-obvious constraints, things LLMs would get wrong without being told
4. **H2 sections** — Organized by topic, each with a list of `[Title](url): Description` entries
5. **"Optional" H2** — Special meaning: links here can be skipped for shorter context
6. **Relative links** — All paths relative to wiki directory
7. **Dynamic** — ALL content derived from actual wiki pages, not templates
8. **Section order** — Most important first: Onboarding → Architecture → Getting Started → Deep Dive → Optional

### Description Quality

| ❌ Bad | ✅ Good |
|--------|---------|
| "Architecture overview" | "System architecture showing how Orleans grains communicate via message passing with at-least-once delivery" |
| "Getting started guide" | "Prerequisites, local dev setup with Docker Compose, and first API call walkthrough" |
| "The API reference" | "REST endpoints with auth requirements, rate limits, and request/response schemas" |

## llms-full.txt Format

Same structure as `llms.txt` but with full content inlined:

```markdown
# {Project Name}

> {Same summary}

{Same context}

## {Section Name}

<doc title="{Page Title}" path="{relative-path}">
{Full markdown content — frontmatter stripped, citations and diagrams preserved}
</doc>
```

### Inlining Rules

- **Strip YAML frontmatter** (`---` blocks) from each page
- **Preserve Mermaid diagrams** — keep `` ```mermaid `` fences intact
- **Preserve citations** — all `[file:line](URL)` links stay as-is
- **Preserve tables** — all markdown tables stay intact
- **Preserve `<!-- Sources: -->` comments** — these provide diagram provenance

## Prerequisites

This skill works best when wiki pages already exist (via `/deep-wiki:generate` or `/deep-wiki:page`). If no wiki exists yet:

1. Suggest running `/deep-wiki:generate` first
2. OR generate a minimal `llms.txt` from README + source code scan (without wiki page links)

## Output Files

Generate three files:

| File | Purpose | Discoverability |
|------|---------|-----------------|
| `./llms.txt` | Root discovery file | Standard path per llms.txt spec. GitHub MCP `get_file_contents` and `search_code` find this first. |
| `wiki/llms.txt` | Wiki-relative links | For VitePress deployment and wiki-internal navigation. |
| `wiki/llms-full.txt` | Full inlined content | Comprehensive reference for agents needing all docs in one file. |

The root `./llms.txt` links into `wiki/` (e.g., `[Guide](./wiki/onboarding/contributor-guide.md)`). The `wiki/llms.txt` uses wiki-relative paths (e.g., `[Guide](./onboarding/contributor-guide.md)`).

If a root `llms.txt` already exists and was NOT generated by deep-wiki, do NOT overwrite it.

## Validation Checklist

Before finalizing:

- [ ] All linked files in `llms.txt` actually exist
- [ ] All `<doc>` blocks in `llms-full.txt` have real content (not empty)
- [ ] Blockquote is specific to this project (not generic boilerplate)
- [ ] Sections ordered by importance
- [ ] No duplicate page entries across sections
- [ ] "Optional" section only contains truly optional content
- [ ] `llms.txt` is concise (1-5 KB)
- [ ] `llms-full.txt` contains all wiki pages

© Microsoft · MIT · microsoft/skills

Similar skills

All skills for Writing and docs →

From the same set143

The whole set →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor