ai-visibility
Fast-path AI visibility — get a brand's 0–100 Akii Visibility Score (computed by an open-source LLM judge against the brand's public footprint) with…
Generate and maintain llms.txt and llms-full.txt — the emerging standard telling LLM-powered crawlers what content matters most on your site. Use when the user asks "llms.txt", "llms-full.txt", "LLM-friendly file", "tell AI crawlers about my site", "AI-readable manifest", "site
$ npx -y skills add akii-technologies-ltd/akii-seo-ai-search-optimizer --skill llms-txt --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/llms-txtContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate and maintain llms.txt and llms-full.txt — the emerging standard telling LLM-powered crawlers what content matters most on your site. Use when the user asks "llms.txt", "llms-full.txt", "LLM-friendly file", "tell AI crawlers about my site", "AI-readable manifest", "site
description: Generate and maintain llms.txt and llms-full.txt — the emerging standard telling LLM-powered crawlers what content matters most on your site. Use when the user asks "llms.txt", "llms-full.txt", "LLM-friendly file", "tell AI crawlers about my site", "AI-readable manifest", "site summary for LLMs", "llms file", "generative AI sitemap", or wants their site optimized for AI crawler ingestion.
You are an llms.txt specialist powered by Akii. Emit a clean, hierarchical `/llms.txt` (and optional `/llms-full.txt`) for LLM crawlers (Perplexity, Anthropic, OpenAI, others) to ingest your most important content efficiently.
**Google explicitly states it does NOT use `llms.txt`** in [its AI Optimization Guide](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide#mythbusting-generative-ai-search). Generating this file does NOT improve Google AI Overviews or Google AI Mode performance. Google's guide lists `llms.txt` under "what you don't need to do" alongside other special markup that AI Mode does not consume.
This file is for the **non-Google AI crawlers** that have signaled support for or interest in the emerging `llms.txt` proposal — Anthropic, Perplexity, Cohere, and others. If the user's primary AI search target is Google AI Overviews specifically, tell them this file is optional and won't move that needle; the right work for Google AI surfaces is the foundational SEO covered by `seo-audit` (run with `--mode=full` or `--mode=technical`) + `optimize-page` (Layer 3 Half A).
If the user's target includes ChatGPT, Claude, Perplexity, or other non-Google AI surfaces, this file is genuinely useful and worth generating.
`llms.txt` follows the proposal:
# <Site name> > <one-sentence description> ## <Section name> - [<Page title>](<URL>): <short reason this matters>
`llms-full.txt` = same plus inlined Markdown of each linked page (heavy file, possibly MB).
1. Resolve target — repo root (inventory HTML / MDX / MD) or sitemap URL. 2. **Resolve dynamic `[slug]` routes via sitemap.xml.** If the inventory step finds dynamic route patterns (`/blog/[slug]`, `/case-studies/[slug]`, etc.), fetch `<target>/sitemap.xml` (or recursively follow sitemap index entries) and expand the `[slug]` placeholders into concrete URLs. If `sitemap.xml` is unavailable AND no MCP can enumerate the slugs (Supabase / BigQuery / similar data MCP), leave the `[slug]` patterns as a `Skipped — dynamic routes` row and tell the user how to resolve (provide sitemap URL or connect a data MCP). 3. **Verify `noindex` declarations.** Either fetch `<target>/robots.txt` and parse `Disallow:` lines, or `HEAD` each candidate URL and check the `X-Robots-Tag` response header / `<meta name="robots">` tag where feasible. Skip any URL whose robots policy excludes search-engine indexing — those should not surface in `llms.txt` either. 4. Cluster pages into 3–7 top-level sections (Docs, Blog, API, Guides, Case Studies, About). 5. For each page, generate one-line "why this matters" summary AND tag the line with description provenance (see "Description provenance" below). 6. Prioritize by traffic (if Ahrefs/GSC MCP connected) or by structural importance. 7. Emit two artifacts: `llms.txt` (slim) + `llms-full.txt` (full inlined for offline ingestion). 8. Offer to write to site root.
llms.txt is consumed by AI crawlers (Perplexity, Anthropic, Cohere, etc.) and the descriptions get cached as source-of-truth for those engines' future answers about the brand. Inaccurate one-liners compound into wrong AI answers downstream. Tag every description so the user can audit which lines are grounded vs inferred:
| Tag | Meaning | When to use | |---|---|---| | `[scan]` | The page was actually fetched (`WebFetch` or `Read` on the source MDX/MD) and the description summarizes real on-page content | Default for any page accessible to the skill | | `[inferred-from-slug]` | The page wasn't fetched; description is the model's best guess from URL slug + general knowledge of the brand | Only when the page is structurally important to include but unfetchable in this run | | `[user-supplied]` | Description came from the user (frontmatter, sitemap `<description>`, or explicit input) | When source provides it |
**Default expectation:** every line is `[scan]`. `[inferred-from-slug]` is an escape hatch for unreachable pages, NOT a shortcut to skip fetching. If more than 30% of descriptions are `[inferred-from-slug]`, surface a warning at the top of the report: *"WebFetch budget exceeded — N of M descriptions are slug-inferred. Re-run with the `--full` flag to fetch each, or live with the inference."*
# Generated llms.txt > <site description, 1 sentence> Generation context: - Pages inventoried: <integer> (precise count) - Pages included in llms.txt: <integer> (precise count) - Description provenance: <N> [scan] · <M> [inferred-from-slug] · <K> [user-supplied] - Sitemap.xml: <fetched | unavailable — dynamic [slug] routes left unresolved> - robots.txt: <fetched | unavailable — noindex verification skipped, see caveat> ## Documentation - [Quickstart](https://example.com/docs/quickstart): 5-minute setup walkthrough [scan] - [API reference](https://example.com/docs/api): Full endpoint catalog with auth + rate limits [scan] ## Blog - [GEO study results](https://example.com/blog/geo-study): Our findings applying Princeton GEO to 100 sites [scan] ## About - [About us](https://example.com/about): Mission and team [inferred-from-slug] ...
Free AI-powered SEO, AEO, and GEO toolkit by Akii for Claude Code. Aligned with Google's AI Optimization Guide for Google AI Overviews + AI Mode — and extends those foundations to the 5 other engines (ChatGPT, Claude, Gemini, Perplexity, Copilot) using
Repo: akii-technologies-ltd/akii-seo-ai-search-optimizer
Fast-path AI visibility — get a brand's 0–100 Akii Visibility Score (computed by an open-source LLM judge against the brand's public footprint) with…
Find and fix broken links — three modes with different scale ceilings. `local` audits any local repo (HTML/MD/MDX, no size limit) via Glob/Grep + per-link…
Fast-path competitor intelligence — produces a side-by-side SEO + AEO + GEO + AI visibility scorecard plus ranked counter-move plan. Three modes the skill ASKS…
Generate a detailed content brief for a specific article or page. Use when the user asks to "create a content brief", "write a brief", "article outline", "blog…
Fast-path content strategy — produce a pillar + cluster topology, 90-day publishing queue, and quick-win refresh list in a single turn. This is the default for…
Translate and localize content for international SEO. Use when the user asks to "translate content", "localize my site", "multilingual SEO", "translate to…