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.
npx skills add lisbeth718/pseo-skills --skill pseo-metadatagit clone --depth 1 https://github.com/lisbeth718/pseo-skillsWrote 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.
[](https://agentmods.dev/skills/lisbeth718/pseo-skills/pseo-metadata)<a href="https://agentmods.dev/skills/lisbeth718/pseo-skills/pseo-metadata"><img src="https://agentmods.dev/badge/skills/lisbeth718/pseo-skills/pseo-metadata/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.
<a href="https://agentmods.dev/skills/lisbeth718/pseo-skills/pseo-metadata"><img src="https://agentmods.dev/badge/skills/lisbeth718/pseo-skills/pseo-metadata.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00066 | $0.02590 |
| Opus 5.5 | $0.00026 | $0.01036 |
| Sonnet 5.5 | $0.00013 | $0.00518 |
| Haiku 4.5 | $0.00007 | $0.00259 |
Grade A, and why
pseo-metadata scanned grade A with 1 finding 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 9d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- Verify with `curl -s URL | grep -i canonical` and check the tag appears inside `<head>`. This placement advice is an inference from Google's docs, not a Google guarantee. How it starts
The opening of the file, as written. The whole thing — 229 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pSEO Dynamic Metadata
Implement a metadata system that generates unique, accurate SEO tags for every programmatic page.
Core Principles
- Every page gets unique metadata: No two pages share the same title or description
- Data-driven generation: Metadata is constructed from structured content fields, not hardcoded
- Canonical by default: Every page declares its canonical URL, in the
<head>of the initial HTML - Social-ready: Open Graph and Twitter cards are complete on every page, with a page-specific or per-category image (never one site-wide placeholder)
- Framework-native: Use the framework's built-in metadata API
Scope parameter
all (default) = everything. titles = section 2, descriptions = section 3, canonical = section 4 (and 8a), opengraph = section 5, twitter = section 6, robots = sections 7, 7a, 7b, export = sections 8 and 8a, i18n = section 9.
Implementation Steps
1. Create the Metadata Generator
Build a centralized function that constructs metadata from page data:
Next.js App Router pattern:
// lib/metadata.ts
import type { Metadata } from "next";
export function generatePageMetadata(data: PageData, baseUrl: string): Metadata {
const title = buildTitle(data);
const description = buildDescription(data);
const canonicalUrl = `${baseUrl}${data.canonicalPath}`;
return {
title,
description,
alternates: { canonical: canonicalUrl },
openGraph: {
title,
description,
url: canonicalUrl,
type: "article",
siteName: "Site Name",
// images: [{ url, width, height, alt }],
},
twitter: {
card: "summary_large_image",
title,
description,
// images: [url],
},
};
}
2. Build Title Construction Logic
Titles must be:
- Unique across all pages (validate with pseo-quality-guard)
- 50-60 characters target length (hard cap at 70)
- Front-loaded with the primary keyword
- Accurate to the page: Google may rewrite titles that are stuffed, boilerplate or do not describe the page. Do not fight rewrites with more keywords; make the title and H1 agree and describe the content.
- Multi-dimensional: Use 2+ data fields to construct, not just one variable
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.
- 9d ago Changed · -1 lines ee71ddd343e4
- 26d ago Changed · +55 lines 9ac10dc1d226
- 2mo ago First seen · 175 lines · 66 tokens per session scan A 6a158ae28093
pseo-metadata is a skill published in the GitHub repository lisbeth718/pseo-skills (55 stars, last pushed 9d ago), licensed MIT. It adds 66 tokens to every session and 2,590 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
pseo-metadata compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| pseo-metadatalisbeth718/pseo-skills | Skill | 55 | 9d ago | MIT | A | 66 | Claude Code |
| imagegenopenai/codex | Skill | 133k | yesterday | Apache-2.0 | A | 113 | Codex |
| playwright-climicrosoft/playwright | Skill | 99k | yesterday | Apache-2.0 | A | 19 | Claude Code |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | 4d ago | MIT | A | 200 | Claude Code, Codex |
| systematic-debuggingobra/superpowers | Skill | 313k | 3d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 95 | Claude Code |
| next-partial-prefetching-adoptionvercel/next.js | Skill | 143k | yesterday | MIT | A | 103 | Claude Code |