Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete)....
npx skills add Notysoty/openagentskills --skill "SEO Metadata Generator"
Install specific skill from multi-skill repository
# Description
Generates optimized title tags, meta descriptions, Open Graph tags, and structured data for any web page.
# SKILL.md
name: SEO Metadata Generator
description: Generates optimized title tags, meta descriptions, Open Graph tags, and structured data for any web page.
category: writing
tags:
- seo
- metadata
- open-graph
- structured-data
- html
author: simplyutils
SEO Metadata Generator
What this skill does
This skill generates a complete set of SEO metadata for any web page — title tag, meta description, Open Graph tags, Twitter Card tags, and JSON-LD structured data — all in a single ready-to-paste HTML snippet. It analyzes the page's content and purpose, chooses the right structured data schema (Article, Product, WebPage, FAQPage, etc.), and optimizes every field for both search engines and social sharing.
Use this when building a new page, auditing existing metadata, or ensuring consistent SEO across a site.
How to use
Claude Code / Cline
Copy this file to .agents/skills/seo-metadata-generator/SKILL.md in your project root.
Then describe the page or share its content and ask:
- "Use the SEO Metadata Generator skill to generate metadata for our pricing page."
- "Generate SEO tags for this blog post using the SEO Metadata Generator skill."
Provide: the page's main content or purpose, the primary keyword, the page URL, the site name, and an available OG image URL (or a placeholder if none exists yet).
Cursor
Add the "Prompt / Instructions" section to your .cursorrules file. Open the page template or content file and ask Cursor to generate the metadata.
Codex
Describe the page content, primary keyword, URL, site name, and page type. Include the instructions below.
The Prompt / Instructions for the Agent
When asked to generate SEO metadata, follow these steps:
- Understand the page. Extract or ask for:
- Page type: article/blog post, product page, landing page, homepage, tool/app page, FAQ page, category page
- Primary keyword: the main search term this page should rank for
- Page URL (full, canonical)
- Site name and brand
- Page content summary (or the content itself)
- OG image URL (use
https://example.com/og-image.pngas a placeholder if not provided) - Author name (for articles)
-
Publication date (for articles)
-
Generate the title tag:
- Length: 50–60 characters (never exceed 60)
- Format:
Primary Keyword — Brand NameorPrimary Keyword: Descriptive Subtitle - Put the primary keyword first (or as close to the beginning as possible)
- Do not keyword-stuff — the title must read naturally
-
For homepages:
Brand Name — Short Value Proposition -
Generate the meta description:
- Length: 150–160 characters (never exceed 160)
- Include the primary keyword once, naturally
- Be action-oriented: tell the user what they'll get or what they can do
- End with an implicit or explicit CTA ("Get started", "Try it free", "Learn how")
-
Never just repeat the title
-
Generate Open Graph tags:
og:title— can match the title tag or be slightly more descriptive (up to 95 chars for social)og:description— can match the meta description or be more conversational for social sharing (up to 200 chars)og:image— use the provided URL; addog:image:width(1200) andog:image:height(630) for proper displayog:image:alt— descriptive alt text for the image (not "image of..." — just describe what's in it)og:url— the canonical page URLog:type—articlefor blog posts,websitefor all other pages,productfor e-commerce-
og:site_name— the site name -
Generate Twitter Card tags:
twitter:card— usesummary_large_imagefor pages with a meaningful OG image;summaryotherwisetwitter:title— same asog:titletwitter:description— same asog:descriptiontwitter:image— same asog:imagetwitter:image:alt— same asog:image:alt-
twitter:site—@twitterhandle(use placeholder@yourbrandif not provided) -
Generate JSON-LD structured data. Choose the schema type based on page type:
- Blog post / article →
Articleschema (withauthor,datePublished,dateModified,headline,image) - Product page →
Productschema (withname,description,offers,brand) - FAQ page →
FAQPageschema (withmainEntityarray ofQuestion/Answerpairs) - How-to page →
HowToschema (withsteparray) - Tool/software page →
SoftwareApplicationschema - General page →
WebPageschema (withname,description,url) - Homepage →
WebSiteschema +Organizationschema
Always include @context: "https://schema.org" and @type. Use realistic values, not "string" placeholders.
-
Add a canonical link tag.
-
Output as a single, complete HTML snippet ready to paste into the
<head>section. Add comments to separate sections. Do not include<html>,<head>, or<body>tags — just the meta tags and script. -
Flag any issues or assumptions (e.g., "I used a placeholder OG image URL — replace before deploying", "Publication date assumed to be today").
Example
Input to Agent:
"Use the SEO Metadata Generator skill. Page: a blog post titled 'How to Optimize React Performance'. Primary keyword: 'react performance optimization'. URL: https://devblog.example.com/blog/react-performance-optimization. Site: DevBlog. Author: Sarah Chen. Published: 2026-03-15. OG image: https://devblog.example.com/images/react-perf-og.png"
Output from Agent:
```html
React Performance Optimization: A Complete Guide — DevBlog
```Notes:
- Title is 57 characters — within the 50–60 target.
- Meta description is 154 characters — within the 150–160 target.
- Replace@devblogwith your actual Twitter handle.
- UpdatedateModifiedwhenever the post is significantly updated.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.