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 Enovatr-Labs/SpecRoute --skill frontmatter-lintgit clone --depth 1 https://github.com/Enovatr-Labs/SpecRouteWrote 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/enovatr-labs/specroute/frontmatter-lint)<a href="https://agentmods.dev/skills/enovatr-labs/specroute/frontmatter-lint"><img src="https://agentmods.dev/badge/skills/enovatr-labs/specroute/frontmatter-lint/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/enovatr-labs/specroute/frontmatter-lint"><img src="https://agentmods.dev/badge/skills/enovatr-labs/specroute/frontmatter-lint.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.00064 | $0.02016 |
| Opus 5 | $0.00032 | $0.01008 |
| Sonnet 5 | $0.00013 | $0.00403 |
| Haiku 4.5 | $0.00006 | $0.00202 |
Grade A, and why
frontmatter-lint 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 12d 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.
How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Frontmatter Lint
Validates the YAML frontmatter contract on every agent / skill / command file. Frontmatter is load-bearing - Claude Code, Codex, and Gemini won't register artifacts that fail the contract.
When to use
- Before committing changes to
.claude/agents/,agents/examples/,skills/examples/,commands/examples/, or anyruntimes/.<vendor>/directory - When an agent, skill, or command isn't auto-selected and the user expected it to be
- During PR review
Step 1: Determine scope
If the argument is a path, lint that path. Otherwise lint all of:
.claude/agents/*.mdagents/examples/*.md,agents/agent-template.mdskills/skill-template/SKILL.md,skills/examples/*/SKILL.mdcommands/examples/*.claude.md,commands/command-template.claude.mdruntimes/.claude/agents/*.md,runtimes/.claude/skills/*/SKILL.md,runtimes/.claude/commands/*.mdruntimes/.codex/agents/*.toml,runtimes/.codex/skills/*/SKILL.mdruntimes/.gemini/agents/*.md,runtimes/.kiro/agents/*.md,runtimes/.cursor/agents/*.md,runtimes/.devin/agents/*/AGENT.mdexamples/sample-project/.claude/agents/*.md,examples/sample-project/.codex/agents/*.toml
Step 2: Apply contracts
Agent and skill frontmatter contracts are vendor-specific since the mid-2026 convergence - do not apply Claude's contract to every vendor's artifacts.
Agent contract
Claude (.claude/agents/, agents/examples/, runtimes/.claude/agents/*.md) - only name and description are required:
name- slug, lowercase-hyphenated, matches filename (without.md). Required.description- non-empty string, must include trigger phrases. Required.model- optional; defaultinherit. Valid:opus,sonnet,haiku,fable, a full model id matching^claude-[a-z0-9.-]+$(e.g.claude-opus-5), orinherit.color- optional; cosmetic only. Valid:red,blue,green,yellow,purple,orange,pink,cyan.- Other optional fields, all valid:
tools,disallowedTools,skills,memory(user|project|local),effort(low|medium|high|xhigh|max),isolation(worktree),permissionMode,maxTurns,mcpServers,hooks,background,initialPrompt.
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.
- 12d ago First seen · 120 lines · 64 tokens per session scan A b5c6ab260fe6
frontmatter-lint is a skill published in the GitHub repository Enovatr-Labs/SpecRoute (3 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 64 tokens to every session and 2,016 once invoked, about $0.0003 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.
Other skills, from other repositories
webapp-testing
Verify a local web app in a real browser with page, element, click, form, console and screenshot evidence. Use after a build or UI change; do not implement features or publish deployments with this skill.
agent-benchmark-suite
Agent skill for benchmark-suite - invoke with $agent-benchmark-suite.
agent-production-validator
Agent skill for production-validator - invoke with $agent-production-validator.
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
agent-teams
Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement.
playwright-testing
E2E testing with Playwright - Page Objects, cross-browser, CI/CD.