Astro SEO
jdevalk/skills
Audits and improves SEO for Astro sites. An agent skill from jdevalk/skills.
Audits any developer documentation site across 33 checks in 7 categories and produces a scored report (out of 100) with Pass / Warn / Fail status per check.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills docs-auditor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/docs-auditor .claude/skills/docs-auditor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "docs-auditor" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/docs-auditor into .claude/skills/docs-auditor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-auditor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/docs-auditorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills docs-auditor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/docs-auditor .agents/skills/docs-auditor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docs-auditor" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/docs-auditor into .agents/skills/docs-auditor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-auditor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills docs-auditor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/docs-auditor .cursor/skills/docs-auditor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "docs-auditor" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/docs-auditor into .cursor/skills/docs-auditor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-auditor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git --path skills/docs-auditor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills docs-auditor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/docs-auditor .gemini/skills/docs-auditor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "docs-auditor" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/docs-auditor into .gemini/skills/docs-auditor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-auditor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills docs-auditorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/docs-auditor .github/skills/docs-auditor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "docs-auditor" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/docs-auditor into .github/skills/docs-auditor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-auditor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Infrasity-Labs/dev-gtm-claude-skills docs-auditor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Infrasity-Labs/dev-gtm-claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/docs-auditor .opencode/skills/docs-auditor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "docs-auditor" agent skill from https://github.com/Infrasity-Labs/dev-gtm-claude-skills/tree/main/skills/docs-auditor into .opencode/skills/docs-auditor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs-auditor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
docs-auditorAudits any developer documentation site across 33 checks in 7 categories and produces a scored report (out of 100) with Pass / Warn / Fail status per check.
Docs Auditor is an agent skill from Infrasity-Labs/dev-gtm-claude-skills. Audits any developer documentation site across 33 checks in 7 categories and produces a scored report (out of 100) with Pass / Warn / Fail status per check. Use this skill whenever a user provides a docs URL and asks to audit it, review it, score it, check its quality, or evaluate it for AI discoverability, SEO, structure, content, or completeness. Also trigger when the user says "run a docs audit", "audit these docs", "check this documentation", "how good are the docs for X", or pastes a docs URL with any…
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `README.md`, `references/fetch-strategy.md` and `references/scoring.md`).
It sits in Marketing & SEO, covering Static sites and blogs and Technical SEO. The repository describes itself as: Open-source Claude skills for GEO, AI discoverability, and developer GTM workflows. Built for developer-focused companies that want their documentation to be found, parsed, and… The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 02cfefb. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Docs Auditor loads about 3k tokens when it runs, and up to ~6.8k if it reads all its reference files. Until then it costs about 162 tokens; SKILL.md has 1,499 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Infrasity-Labs/dev-gtm-claude-skills at commit 02cfefb, republished under its MIT licence (© Infrasity-Labs). 1,499 words, ~3,009 tokens.
.claude/skills/docs-auditor/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Audits a developer documentation site across 33 checks in 7 categories. Given a docs URL, fetch all required pages, evaluate every check, and render a visual scored report.
Before fetching any derived URLs, run a single web_search that includes the exact file
paths you need. This is required because web_fetch only allows fetching URLs that were
user-provided or appeared in prior search/fetch results — the tool cannot fetch derived
paths on its own, even if the root domain is known.
Given a docs URL like https://docs.example.com/, construct and run this search:
docs.example.com/llms.txt docs.example.com/robots.txt docs.example.com/sitemap.xml example.com/llms.txt example.com/robots.txt example.com/sitemap.xmlInclude both the subdomain and the root domain variants in the same query — these files may be hosted on either. This single search surfaces the exact file URLs in results, making them immediately fetchable. If a file doesn't appear in results at all, that is itself strong evidence it doesn't exist — mark the relevant checks as fail without needing to attempt a fetch.
Do this search silently as an internal setup step. Do not narrate it to the user.
When the user provides a base docs URL (e.g. https://docs.example.com/), you MUST
immediately treat ALL of the following derived URLs as user-provided and fetch them
without asking for permission. This is the core mechanic that makes the audit work.
Given base URL https://docs.example.com/, fetch ALL of these in your first round:
{base}/robots.txt
{base}/sitemap.xml
{base}/llms.txt
{base}/llms-full.txtAlso try the root domain variants if the docs are on a subdomain:
https://{root-domain}/robots.txt
https://{root-domain}/llms.txt
https://{root-domain}/llms-full.txt
https://{root-domain}/sitemap.xmlThen fetch the main docs page itself, plus these standard sub-pages (adjust slugs based on what you find in the sidebar/nav):
{base}/ ← landing / intro page
{base}/quickstart (or /getting-started, /get-started)
{base}/changelog (or /releases, /release-notes)
{base}/api (or /api-reference, /reference)
{base}/faq (or /troubleshooting, /help)
{base}/[one use-case or tutorial page]
{base}/[one deep settings or config page]Fetch 6–8 pages minimum. More is better. Do NOT ask the user for more URLs — derive them.
After fetching, evaluate every check below. Use the fetched HTML/markdown content as evidence. Mark each check as pass, warn, or fail using the criteria defined per check.
| # | Check | Pass | Warn | Fail |
|---|---|---|---|---|
| 1.1 | llms.txt present at root domain | File fetched successfully with content | File exists but empty or malformed | 404 / not found |
| 1.2 | llms-full.txt present | File fetched successfully | File exists but sparse | 404 / not found |
| 1.3 | Docs pages listed in llms.txt | Links to doc pages found inside llms.txt | Some pages listed but incomplete | llms.txt absent or no doc links |
| 1.4 | AI bots allowed in robots.txt | GPTBot, ClaudeBot, or similar explicitly allowed OR no disallow rules for them | Bots not mentioned (ambiguous) | Bots explicitly disallowed |
| 1.5 | Docs pages in sitemap.xml | Sitemap found and contains doc page URLs | Sitemap exists but sparse / partial | Sitemap missing or 404 |
| # | Check | Pass | Warn | Fail |
|---|---|---|---|---|
| 2.1 | Introduction / overview page exists with real content | Page exists with substantive product description (>200 words) | Page exists but thin / vague | No intro page found |
| 2.2 | Quickstart / Getting Started with actionable steps | Step-by-step guide gets user to working state | Page exists but steps are vague or incomplete | No quickstart found |
| 2.3 | API Reference / Reference section present | Dedicated API reference section with endpoints or methods | Some reference content but not organized as API ref | No reference section found |
| 2.4 | Sidebar / navigation menu present | Sidebar with categorized links visible in HTML | Sidebar present but flat / uncategorized | No sidebar detected |
| 2.5 | Breadcrumb navigation present | Breadcrumb trail visible on sampled pages | Present on some pages but not all | No breadcrumbs found |
| 2.6 | Search functionality present | Search input detected in HTML | Search linked externally but not on-page | No search found |
| # | Check | Pass | Warn | Fail |
|---|---|---|---|---|
| 3.1 | Use cases / tutorials / examples section present | Dedicated section with at least 2 full tutorial pages | Section exists but only 1 page or very thin | No use cases / tutorials found |
| 3.2 | Code examples present | Code blocks found on multiple sampled pages | Code present on 1 page only | No code examples found |
| 3.3 | Multiple language examples (Python, JS, cURL, etc.) | 2+ languages shown in code examples | Only 1 language shown | No code examples at all |
| 3.4 | Changelog / Release notes present | Changelog page exists with actual entries | Page exists but empty or placeholder | No changelog found |
| 3.5 | FAQ / Troubleshooting section present | Dedicated FAQ or troubleshooting page with real Q&As | FAQ mentioned but minimal | No FAQ or troubleshooting found |
| 3.6 | Error messages / status codes documented | Error codes or status codes listed anywhere in docs | Brief mentions only | No error documentation found |
| # | Check | Pass | Warn | Fail |
|---|---|---|---|---|
| 4.1 | Intro page explains what the product is and who it's for | Clear product description + target audience stated | Product described but audience vague | Generic/marketing intro with no substance |
| 4.2 | Quickstart gets user to a working state | End-to-end steps from zero to working output | Steps present but incomplete or missing key detail | Quickstart too vague to follow |
| 4.3 | Sampled pages have sufficient depth (not stubs) | All sampled pages have real content (>150 words, structured) | Mix of full pages and stubs | Majority of sampled pages are stubs |
| # | Check | Pass | Warn | Fail |
|---|---|---|---|---|
| 5.1 | HTTPS enforced | All fetched URLs use HTTPS | Mixed HTTP/HTTPS | HTTP only |
| 5.2 | Meta titles present on docs pages | <title> tag found on all sampled pages | Present on some pages | Missing on most pages |
| 5.3 | Meta descriptions present on docs pages | meta-description found on all sampled pages | Present on some pages | Missing on most pages |
| 5.4 | Canonical URLs present and correct | Canonical tag present and points to the correct domain | Canonical present but points to wrong/preview domain | No canonical tags found |
| 5.5 | No noindex directives on docs pages | meta-robots: index, follow on all sampled pages | Mixed — some pages noindex | Most pages set to noindex |
| # | Check | Pass | Warn | Fail |
|---|---|---|---|---|
| 6.1 | Docs pages cross-link to each other | Internal links found in body content of sampled pages | Some pages cross-link but most don't | No internal links found in body |
| 6.2 | Next / previous page navigation present | Prev/next nav links at bottom of sampled pages | Present on some pages | Not found |
| 6.3 | Links to GitHub / source code | GitHub or source code link found in docs | Mentioned in text but not linked | No GitHub / source links found |
| 6.4 | Community / support links present (Discord, Slack, Forum, Chat) | Direct links to community or support channel found | Mentioned but no direct link | No community or support references |
| # | Check | Pass | Warn | Fail |
|---|---|---|---|---|
| 7.1 | Version indicator visible (v1.2, "latest", badge) | Version badge or label visible on sampled pages | Version mentioned in text but no badge | No versioning signals found |
| 7.2 | Last updated / freshness signal on pages | "Last updated" date or similar visible | Changelog exists as proxy signal | No freshness signals found anywhere |
| 7.3 | Install commands include version pinning | Install commands show pinned versions (e.g. pip install foo==1.2) | Install commands present but unpinned | No install commands found |
| 7.4 | Deprecation notices present (if multi-version) | Deprecation banners or notices visible | Changelog mentions deprecations | No deprecation notices (only fail if multi-version product) |
Score each category out of its max points. Each check is worth equal points within its category. Each category is weighted equally (each = 100/7 ≈ 14.3 points max).
Within each category:
Final score = sum across all 7 categories, rounded to nearest integer out of 100.
Generate a standalone HTML report file:
references/widget-template.md as the design reference.{domain}-docs-audit.html in the current working
directory (e.g. supabase-docs-audit.html).After rendering, provide a short text summary (3–5 sentences) covering:
Offer to go deeper on any category or create a prioritized action plan.
docs.stripe.com): always also check root domain (stripe.com) for
robots.txt, llms.txt, and sitemap.xml — they are often hosted at root.© Infrasity-Labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in skills/docs-auditor of Infrasity-Labs/dev-gtm-claude-skills.
Open the folder on GitHubat commit 02cfefb
Docs Auditor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Docs Auditor this skillInfrasity-Labs/dev-gtm-claude-skills | 136 | — | ~3k | Automated safety check: Pass | MIT | |
| Astro SEOjdevalk/skills | 105 | — | ~4.9k | Automated safety check: Pass | MIT | |
| SEO Setupalisamadiii/Portfolio | 180 | — | ~1.7k | Automated safety check: Pass | None | |
| Content SEOjdevalk/skills | 105 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Agent Readiness Auditdocker/docs | 4.7k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| SEO Coachakseolabs-seo/seo-coach | 146 | — | ~2.8k | Automated safety check: Pass | None |
jdevalk/skills
Audits and improves SEO for Astro sites. An agent skill from jdevalk/skills.
alisamadiii/Portfolio
Full SEO/metadata setup and audit for client websites (Astro, Next.js, any static site).
jdevalk/skills
Audits a blog post draft or page copy for content-level SEO: search intent fit, focus keyphrase placement, E-E-A-T signals (experience, expertise, authoritativeness, trustworthiness), helpfulness…
docker/docs
Audit a documentation site for agent-friendliness: discovery, markdown delivery, crawlability, semantic structure, machine-readable surfaces, and content legibility.
akseolabs-seo/seo-coach
Beginner-first SEO coaching for people who want to learn by doing one safe, verifiable step at a time.
jdevalk/skills
Reviews short high-value strings — page titles, meta descriptions, schema description fields, FAQ answers, GitHub repo taglines, profile bios, social-card copy, and other metadata where Flesch and…
Infrasity-Labs/dev-gtm-claude-skills
Generates a fully structured SEO content outline (not a finished brief) and exports it as a formatted .docx Word document.
Infrasity-Labs/dev-gtm-claude-skills
Generates a fully structured SEO content brief for a target keyword and optionally pushes it to a Notion database.
Infrasity-Labs/dev-gtm-claude-skills
Audits any API documentation site by crawling every endpoint page and scoring each one across 5 checks: description quality, OpenAPI spec presence, body param descriptions, response codes, and…
Infrasity-Labs/dev-gtm-claude-skills
Generates a 3-month SEO performance HTML report for any domain using DataForSEO data.
Infrasity-Labs/dev-gtm-claude-skills
Email triage system that handles both one-time setup and recurring triage in a single skill.
Infrasity-Labs/dev-gtm-claude-skills
Audits any domain's AI-readiness by using curl to directly probe robots.txt, llms.txt, and llms-full.txt, then scores each file against a structured checklist and delivers a formatted report with…
Categories
Audits any developer documentation site across 33 checks in 7 categories and produces a scored report (out of 100) with Pass / Warn / Fail status per check. Docs Auditor is an agent skill from Infrasity-Labs/dev-gtm-claude-skills. Audits any developer documentation site across 33 checks in 7 categories and produces a scored report (out of 100) with Pass / Warn / Fail status per check.
Docs Auditor fits situations like: A user provides a docs URL and asks to audit it; check its quality; evaluate it for AI discoverability; the user says run a docs audit.
Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a claude-code`. Or copy the skill folder (skills/docs-auditor in Infrasity-Labs/dev-gtm-claude-skills) into .claude/skills/docs-auditor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a codex`. Or copy the skill folder (skills/docs-auditor in Infrasity-Labs/dev-gtm-claude-skills) into .agents/skills/docs-auditor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Infrasity-Labs/dev-gtm-claude-skills --skill docs-auditor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs-auditor, .gemini/skills/docs-auditor, .github/skills/docs-auditor and .opencode/skills/docs-auditor in your project.
Going by SKILL.md and its folder, Docs Auditor needs the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Docs Auditor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Docs Auditor: Astro SEO (jdevalk/skills, 105 stars), SEO Setup (alisamadiii/Portfolio, 180 stars), Content SEO (jdevalk/skills, 105 stars) and Agent Readiness Audit (docker/docs, 4.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Infrasity-Labs (a GitHub user) maintains it in Infrasity-Labs/dev-gtm-claude-skills, which has 136 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on June 28, 2026.
Source: Infrasity-Labs/dev-gtm-claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.