> 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 paragraph-level readability checks don't apply. Checks front-loading, concreteness, filler, active voice, title/description duplication, difficult words, SERP-truncation fit, and one-idea-per-field. Use when the user asks to review metadata, a tagline, a bio, or SEO strings, or proactively after generating any short string with audience-facing impact. Chained into by astro-seo, wp-readme-optimizer, github-repo, and github-profile for their metadata outputs. For multi-paragraph prose, use the `readability-check` skill instead.
npx skills add https://github.com/jdevalk/skills --skill metadata-check
Reviews short, high-value strings where every character counts — titles, meta descriptions, schema descriptions, FAQ answers, taglines, bios, and social-card copy. Flesch scoring and the ten-category readability rubric don't fit a 5–30 word string; this skill applies the checks that do.
Use this skill for anything in the metadata-string shape. For multi-paragraph prose (blog posts, READMEs, CONTRIBUTING files), use readability-check instead.
For each string, check these points. Every check is either ✓ (pass), ⚠ (needs work), or ✗ (problem).
Anything past the cut should be disposable, not a key promise.
Don't run this skill on:
@id values, filenames, enum values, or any technical identifier.readability-check.Per string, return:
### [Field name] — [length] chars
> [The string itself]
- Front-loading: [✓/⚠/✗] [one-line reason if not ✓]
- Concreteness: [✓/⚠/✗] [reason]
- Filler: [✓/⚠/✗] [reason]
- Active voice: [✓/⚠/✗] [reason]
- Duplication: [✓/⚠/✗] [reason]
- Word choice: [✓/⚠/✗] [reason]
- Truncation fit: [✓/⚠/✗] [reason] — platform: [SERP/GitHub/Twitter/OG]
- One idea: [✓/⚠/✗] [reason]
**Rewrite:** [only if any check failed — a concrete replacement string, not a suggestion]
Keep the audit tight — metadata feedback should be actionable in seconds, and you're almost always running it across a batch of strings at once. If a string is already clean, don't pad the output; just mark all ✓ and move on.
Take jdevalk/metadata-check from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.