Web metadata
Thin core + domain sets for a fast, stack-aware project start. Cross-agent (Claude Code, Cursor, Codex, Gemini) via the SKILL.md standard. MIT.
npx -y skills add Neznakometz/StackForge --skill web-metadataAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Page metadata for web — title/description, canonical, Open Graph, Twitter cards, JSON-LD structured data, robots/sitemap. Apply when building or auditing pages, landing pages, and shareable links (SEO and social previews).
SKILL.md
2.2 KB, 503 tokens by cl100k_base, as published. Nobody here has run it
Web metadata (SEO & social)
Sources: HTML living standard, Open Graph protocol (ogp.me), schema.org, Google Search Central.
Core (every page)
- Unique
<title>(~50–60 chars) and<meta name="description">(~150–160 chars) per page — not a single global default. <link rel="canonical" href="…">— absolute URL; prevents duplicate-content splitting. One canonical per page.<meta name="viewport" content="width=device-width, initial-scale=1">, correct<html lang>, charset utf-8.<meta name="robots">—index,followfor public pages;noindexfor private/staging/duplicate. Ship arobots.txt+sitemap.xml.
Social previews
- Open Graph (Facebook, LinkedIn, Slack, etc.):
og:title,og:description,og:type,og:url(canonical),og:image(absolute URL, ~1200×630, <5MB),og:site_name,og:locale. - Twitter/X cards:
twitter:card(summary_large_image),twitter:title,twitter:description,twitter:image. Falls back to OG if omitted, but settwitter:cardexplicitly. - Test previews before shipping (e.g. social debuggers); a broken/missing
og:imagemakes shared links look unfinished.
Structured data
- JSON-LD (
<script type="application/ld+json">) with schema.org types relevant to the page:Organization/WebSite(home),Article/BlogPosting,Product,BreadcrumbList,FAQPage. Match the visible content (no markup for things not on the page). - Validate against schema.org / rich-results expectations.
Framework notes
- Next.js: the Metadata API (
export const metadata/generateMetadata) — per-route, not hardcoded in one layout. - Nuxt:
useHead/useSeoMetaper page. - Don't hardcode strings — use i18n + data; dynamic pages generate metadata from their data.
Anti-patterns
- Same title/description on every page; missing canonical; relative
og:image; JSON-LD that doesn't match the page;noindexaccidentally left on production.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 1 of the 12 instructions most seo skills give in 503 tokens
Counted across 454 of the 460 authors here whose files we hold, read 2026-08-07
- Implement structured data using JSON-LDin 29 of 454, across 25 files
- Write unique meta descriptions under 160 charactersin 25 of 454, across 20 files
- Verify one H1 exists per pagein 24 of 454, across 15 files
- Maintain a single H1 per pagein 24 of 454, across 15 files
- Use JSON-LD format for all schema markupin 23 of 454, across 16 files
- Use descriptive anchor text for internal linksin 22 of 454, across 18 files
- Add descriptive alt text to imagesin 19 of 454, across 15 files
- Read product marketing context before auditingin 19 of 454, across 11 files
- Write unique title tags under 60 charactersin 19 of 454, across 14 files
- Add unique title and meta description per pagein 19 of 454, across 17 files
- Fetch robots.txt and sitemap.xmlhere, and in 19 of 454, across 18 files
- Place the primary keyword in the first 100 wordsin 18 of 454, across 17 files
Said here and by no other author read
- provide correct viewport, language, and charset tags
- include core open graph tags with an absolute image URL
- set the twitter:card meta tag explicitly
- validate structured data against schema.org definitions
- use the framework metadata API per route
- test social previews before shipping pages
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.