adapto-seo-wire

adapto-seo-wire is a skill for Claude Code from adaptocms/adapto-cms-agent-skills. It costs 88 tokens per session (1,692 once invoked), scanned A, original, MIT.

A one-time setup that makes stored SEO information appear in a website's page head and creates files describing the site's content to language-model tools. SEO is the practice of helping search engines understand and display pages.

In plain words
What is it for?
Use it in Next, Astro, or SvelteKit apps to render title, meta, Open Graph, Twitter, and JSON-LD data from the _adapto_seo collection and generate llms.txt files.
Why use it?
It connects saved metadata to the actual rendered page, so titles, descriptions, social previews, structured data, and related discovery files are not left unused.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the adapto plugin — 16 skills, 3 agents, 1 hook shipped together

Good fit Use it in Next, Astro, or SvelteKit apps to render title, meta, Open Graph, Twitter, and JSON-LD data from the _adapto_seo collection and generate llms.txt files.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/adaptocms/adapto-cms-agent-skills/adapto-seo-wire
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add adaptocms/adapto-cms-agent-skills --skill adapto-seo-wire
Clone the repo
git clone --depth 1 https://github.com/adaptocms/adapto-cms-agent-skills

Made for: Claude Code.

Or install adapto, the plugin that ships this one along with the rest of its 16 skills, 3 agents, 1 hook.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for adapto-seo-wire

README.md
[![agentmods](https://agentmods.dev/badge/skills/adaptocms/adapto-cms-agent-skills/adapto-seo-wire/github.svg)](https://agentmods.dev/skills/adaptocms/adapto-cms-agent-skills/adapto-seo-wire)
Your own site
<a href="https://agentmods.dev/skills/adaptocms/adapto-cms-agent-skills/adapto-seo-wire"><img src="https://agentmods.dev/badge/skills/adaptocms/adapto-cms-agent-skills/adapto-seo-wire/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for adapto-seo-wire

Your own site · 80×15
<a href="https://agentmods.dev/skills/adaptocms/adapto-cms-agent-skills/adapto-seo-wire"><img src="https://agentmods.dev/badge/skills/adaptocms/adapto-cms-agent-skills/adapto-seo-wire.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,692 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00088 $0.01692
Opus 5 $0.00044 $0.00846
Sonnet 5 $0.00018 $0.00338
Haiku 4.5 $0.00009 $0.00169

Measured 11d ago against content hash 4407fc03dd3a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

adapto-seo-wire scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugin/skills/adapto-seo-wire/SKILL.md · 92 lines

How it starts

The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.

adapto:seo-wire

adapto:content-upload stores SEO metadata in _adapto_seo, but the starters render only <title>. This skill makes it render: a one-time, per-project setup that installs a head-render layer reading _adapto_seo (emitting <title>, meta description, OG/Twitter tags, and JSON-LD) and generates llms.txt / llms-full.txt from your inventory. It is consent-gated and only edits your own app templatesnever the read-client (forbidden-actions.md; see seo-standards.md for what's rendered).

When to use

  • "Make my SEO/meta render", "wire up the head tags", "generate llms.txt", "the OG tags aren't showing".
  • Once per project, after adapto:content-upload has written _adapto_seo items (or alongside the first upload).

When not to use

  • Storing metadata (that's adapto:content-upload, into _adapto_seo).
  • Writing or uploading content → the content pipeline.
  • Just checking the environment → adapto:doctor.

Inputs

  • The scaffolded frontend in the cwd, and its framework (Next / Astro / SvelteKit — detected as adapto:doctor does).
  • The _adapto_seo collection (read at render time, by target_slug).
  • inventory.md — the content list llms.txt is generated from.

Outputs

  • A head-render layer in the app's own templates (per framework: Next generateMetadata / Astro <head> in the layout / SvelteKit <svelte:head>) that reads _adapto_seo and emits title/description/OG/Twitter/JSON-LD.
  • Generated llms.txt + llms-full.txt at the site root, from inventory.md.
  • If you decline the edits: the exact per-framework snippets written to .adapto/seo-render/<framework>/ for you to paste, plus instructions. Nothing is changed without consent.
  • Next step: restart the dev server and check a page's <head> (and /llms.txt); re-run after big inventory changes to refresh llms.txt.
  1. Detect the framework and locate the layout/head entry point + the static/public dir.
  2. Inform + show the exact files/diffs you'd add/change (the head component + the llms.txt generator/route), noting it edits app templates, not the read-client. Ask as a pickable question: Yes, wire it / Just give me the snippets (plus free-form).
  3. On consent: write the head-render layer (reads _adapto_seo by target_slug; falls back to the content title when no metadata exists) and generate llms.txt/llms-full.txt from inventory.md. Idempotent — re-running updates rather than duplicating. Per framework the real work differs — the scaffolds ship dynamic detail routes with little or no metadata:
    • Astro: add meta/OG/JSON-LD to the single head component (src/layouts/Layout.astro).
    • Next (App Router): dynamic routes (app/**/[slug]/page.tsx, [collection_slug]/[item_slug]) export no generateMetadata — add an async generateMetadata(props) to each (await params), and inject JSON-LD as a <script type="application/ld+json"> in the component tree.
    • SvelteKit: each detail route sets only <title> in <svelte:head> — thread SEO through the route's +page.server.ts loaddata prop → <svelte:head> (env is server-private, so the fetch stays in .server.ts).
    • All three ship src/lib/reserved.ts (hides _-prefixed collections + shadow slugs articles/collections/micro-copies/pages) — respect it in nav/sitemap/llms.txt.
    • ⚠️ _adapto_seo visibility: content-upload writes those items as draft, and adapto:publish may have published only the content piece, not its SEO item — so a published site's read-client may not see the metadata. Ensure the piece's _adapto_seo item is published too (or that the fetch includes drafts via the key). Verify a real page's rendered <head> after wiring — don't assume it renders.
  4. If declined: write the snippets to .adapto/seo-render/<framework>/ + a short how-to; change nothing else.
  5. Then tell the user to restart the dev server and verify the <head> + /llms.txt. If you started the dev server, leave it running (conventions.md §14).

Read the full file on GitHub · 92 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 92 lines · 88 tokens per session scan A 4407fc03dd3a

Subscribe to this mod's changes

adapto-seo-wire is a skill published in the GitHub repository adaptocms/adapto-cms-agent-skills (1 stars, last pushed 1mo ago), licensed MIT. It adds 88 tokens to every session and 1,692 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

accessibility

Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".

addyosmani/web-quality-skills · 51 tokens

performance

Optimize web performance for faster loading and better user experience. Use when asked to "speed up my site", "optimize performance", "reduce load time", "fix slow loading", "improve page speed", or "performance audit".

addyosmani/web-quality-skills · 49 tokens

core-web-vitals

Optimize Core Web Vitals (LCP, INP, CLS) for better page experience using field and lab evidence. Use when asked to "improve Core Web Vitals", "fix LCP", "reduce CLS", "optimize INP", "page experience optimization", or "fix layout shifts".

addyosmani/web-quality-skills · 67 tokens

shiny-bslib-theming

Advanced theming for Shiny apps using bslib and Bootstrap 5. Use when customizing app appearance with bstheme(), Bootswatch themes, custom colors, typography, brand.yml integration, Bootstrap Sass variables, custom Sass/CSS rules, dark mode and color modes, dynamic theme switching, real-time theming, theme inspection…

posit-dev/skills · 87 tokens

shiny-bslib

Build modern Shiny dashboards and applications using bslib (Bootstrap 5). Use when creating new Shiny apps, modernizing legacy apps (fluidPage, fluidRow/column, tabsetPanel, wellPanel, shinythemes), or working with bslib page layouts, grid systems, cards, value boxes, navigation, sidebars, filling layouts, theming…

posit-dev/skills · 107 tokens

liveview-patterns

Build LiveView: async data (assignasync), PubSub (check connected?), phx-change events, form components/modals/uploads, streams for lists, livepatch. Use when handling interactions, debugging events, or tracking Presence.

oliver-kriska/claude-elixir-phoenix · 51 tokens