Agent skill

Social Metadata Hardening

by sickn33 in sickn33/agentic-awesome-skills

Fix social sharing previews so URLs render as rich cards on Facebook, LinkedIn, X/Twitter, WhatsApp, Telegram, and more.

MITAuto-check passedDevelopment

Install Social Metadata Hardening

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill social-metadata-hardening -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills social-metadata-hardening --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/social-metadata-hardening .claude/skills/social-metadata-hardening && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
social-metadata-hardening
GitHub stars
47k
Used in
1 other repo
Token cost
~1.8k tokens
SKILL.md length
516 words
Files
1
Skills in repo
1,497
Repo updated
First seen
Licence
MIT

At a glance

Fix social sharing previews so URLs render as rich cards on Facebook, LinkedIn, X/Twitter, WhatsApp, Telegram, and more.

  • Works in 3 steps: Check raw HTML for tags → Validate with platform tools → Force cache refresh
  • Tasks that involve Social media graphics
  • SKILL.md covers When to Use, Why Previews Break, The Gold Standard Metadata Block and Applying the Helper, plus 5 more sections
  • Calls curl

What it does

Social Metadata Hardening is an agent skill from sickn33/agentic-awesome-skills. Fix social sharing previews so URLs render as rich cards on Facebook, LinkedIn, X/Twitter, WhatsApp, Telegram, and more. Covers OG tags, Twitter cards, absolute image URLs, and debugging.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Social media graphics and Debugging. It works with X (Twitter), LinkedIn, Telegram and WhatsApp. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Tasks that involve Social media graphics
  • Tasks that involve Debugging

Example prompts

  • “/social-metadata-hardening”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Check raw HTML for tags
  2. Validate with platform tools
  3. Force cache refresh

What it can do on your machine

Read from SKILL.md and the folder at commit b84d35a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • developers.facebook.com
    • cards-dev.twitter.com
    • linkedin.com
    • metatags.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Social Metadata Hardening loads about 1.8k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 516 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~53
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sickn33/agentic-awesome-skills at commit b84d35a, republished under its MIT licence (© sickn33). 516 words, ~1,808 tokens.

Download SKILL.mdSave it as .claude/skills/social-metadata-hardening/SKILL.md (or your agent's skills folder).
name
social-metadata-hardening
description
Fix social sharing previews so URLs render as rich cards on Facebook, LinkedIn, X/Twitter, WhatsApp, Telegram, and more. Covers OG tags, Twitter cards, absolute image URLs, and debugging.
category
seo
risk
safe
source
self
source_type
self
date_added
2026-05-31
author
Whoisabhishekadhikari
tags
seo, open-graph, twitter-card, social-sharing, og-image, nextjs, metadata
tools
claude, cursor, gemini, claude-code
version
1.0.0

Social Metadata Hardening Skill

Fix social sharing so every important URL unfurls as a rich card across all platforms.


When to Use

  • Use when shared links show missing, stale, cropped, or incorrect previews on social and chat platforms.
  • Use when auditing Open Graph, Twitter/X card, image URL, alt text, or metadataBase coverage in a web app.
  • Use before launch when every public page needs predictable rich previews across LinkedIn, X, Facebook, WhatsApp, Slack, Discord, and Telegram.

Why Previews Break

ProblemRoot Cause
No preview at allMissing og:title, og:description, or og:image
Broken imageRelative URL (must be absolute)
Wrong image sizeImage not 1200×630px (OG standard)
Plain text cardTwitter card type missing or set to summary
Stale previewPlatform caching old metadata
Metadata missing on crawlTags added by client-side JS (crawlers don't run JS)

The Gold Standard Metadata Block

Every shareable page needs ALL of these in static HTML:

js
// Next.js App Router — lib/socialMetadata.js
export function buildSocialMetadata({
  title,
  description,
  path,          // '/blog/my-post'
  image,         // '/images/og/my-post.jpg' or full URL
  imageAlt,
  imageWidth = 1200,
  imageHeight = 630,
}) {
  const baseUrl = process.env.NEXT_PUBLIC_BASE_URL || 'https://www.yourdomain.com';
  
  // Always produce an absolute URL
  const imageUrl = image?.startsWith('http') ? image : `${baseUrl}${image}`;
  const pageUrl  = `${baseUrl}${path}`;
  
  // Detect MIME type from extension
  const ext = imageUrl.split('.').pop().toLowerCase();
  const mimeMap = { jpg: 'image/jpeg', jpeg: 'image/jpeg', png: 'image/png', webp: 'image/webp' };
  const imageType = mimeMap[ext] || 'image/jpeg';

  return {
    title,
    description,
    alternates: { canonical: pageUrl },
    openGraph: {
      title,
      description,
      url: pageUrl,
      type: 'website',  // use 'article' for blog posts
      images: [{
        url: imageUrl,
        secureUrl: imageUrl,   // explicit HTTPS version
        width: imageWidth,
        height: imageHeight,
        alt: imageAlt || title,
        type: imageType,
      }],
    },
    twitter: {
      card: 'summary_large_image',  // NOT 'summary' — that shows a tiny image
      title,
      description,
      images: [imageUrl],
    },
  };
}

Applying the Helper

Static page
js
// app/about/page.js
import { buildSocialMetadata } from '@/lib/socialMetadata';

export const metadata = buildSocialMetadata({
  title: 'About Us | My Site',
  description: 'Learn about our team and mission.',
  path: '/about',
  image: '/images/og/about.jpg',
  imageAlt: 'The My Site team',
});
Dynamic page (blog post, tool page)
js
// app/blog/[slug]/page.js
import { buildSocialMetadata } from '@/lib/socialMetadata';

export async function generateMetadata({ params }) {
  const post = await getPost(params.slug);
  return buildSocialMetadata({
    title: `${post.title} | My Blog`,
    description: post.excerpt,
    path: `/blog/${params.slug}`,
    image: post.ogImage || '/images/og/default.jpg',
    imageAlt: post.title,
  });
}
Homepage (app/layout.js or app/page.js)
js
export const metadata = {
  metadataBase: new URL('https://www.yourdomain.com'), // REQUIRED for absolute URLs
  ...buildSocialMetadata({
    title: 'My Site — Tagline Here',
    description: 'Site-wide description.',
    path: '/',
    image: '/images/og/home.jpg',
  }),
};

⚠️ Set metadataBase when using relative metadata URLs. If your helper already outputs absolute canonical/OG URLs, previews can still work without it.


OG Image Checklist

Good OG images:

  • 1200 × 630px (2:1 ratio — works on all platforms)
  • Under 8MB (Facebook limit)
  • Served over HTTPS
  • File name has no spaces (use hyphens)
  • Format: JPEG or PNG (WebP works on most but not all crawlers)
  • Accessible via GET with no authentication
bash
# Verify your OG image is reachable and correct size
curl -sI https://www.yourdomain.com/images/og/home.jpg | grep -i "content-type\|content-length\|status"

Platform-Specific Notes

Facebook / Meta
  • Caches aggressively — use the Sharing Debugger to force recrawl
  • Minimum image: 200×200px (but use 1200×630 for quality)
  • Needs: og:title, og:description, og:image, og:url
X / Twitter
  • Use twitter:card = summary_large_image for full-width images
  • twitter:image must be an absolute URL
  • Use the Card Validator to test
LinkedIn
  • Caches hard — use Post Inspector to refresh
  • Respects og: tags; ignores twitter: tags
  • Image must be ≥1.91:1 aspect ratio
Show full SKILL.md (217 more words)Show less
WhatsApp / Telegram
  • Read OG tags on first share; cache can last hours
  • Re-share after a few hours for the cache to clear naturally
Slack / Discord
  • Both use OG tags; both cache
  • Discord also supports og:type = article for richer embeds

Debugging Social Previews

1. Check raw HTML for tags
bash
curl -s https://www.yourdomain.com/blog/my-post | grep -i "og:\|twitter:"

If tags don't appear → they're being added by JavaScript (not crawlable). Fix: move to export const metadata or generateMetadata.

2. Validate with platform tools
3. Force cache refresh

After deploying fixes, paste the URL into each platform's debugger and click "Fetch new scrape information" (or equivalent).


Social Metadata Checklist

  • metadataBase set in root layout
  • All shareable pages use shared buildSocialMetadata helper
  • OG image URLs are absolute (start with https://)
  • secureUrl set equal to url in OG image block
  • Image is 1200×630px, under 8MB, HTTPS
  • twitter:card is summary_large_image (not summary)
  • Image alt text present
  • Tags visible in raw HTML (not JavaScript-rendered)
  • All platform debuggers show correct preview
  • Cache refreshed on all platforms after deployment

Limitations

  • Cannot force immediate cache refresh on every social platform; some previews may remain stale after a correct fix.
  • Requires publicly reachable deployed URLs for reliable validation with platform debuggers.
  • Does not replace brand, accessibility, or legal review of image text, alt text, and preview copy.

© sickn33, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/social-metadata-hardening of sickn33/agentic-awesome-skills.

Open the folder on GitHubat commit b84d35a

Used in 1 other repository

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Social Metadata Hardening next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Social Metadata Hardening compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Social Metadata Hardening this skillsickn33/agentic-awesome-skills47k1 repos~1.8kAutomated safety check: PassMIT
Web Asset Generatoralonw0/web-asset-generator5141 repos~6.6kAutomated safety check: PassMIT
Browser Automation Edge Casesaden-hive/hive11k—~1.8kAutomated safety check: PassMIT
LinkedIn MCP Issue Investigatorstickerdaniel/linkedin-mcp-server3.8k—~2kAutomated safety check: PassApache-2.0
RepurposeAgriciDaniel/claude-repurpose157—~5.1kAutomated safety check: PassMIT
Agts Bugfix Workflowemreturkmencom/antigravity-telegram-suite172—~386Automated safety check: PassMIT

Similar skills

  • Web Asset Generator

    alonw0/web-asset-generator

    Generate web assets including favicons, app icons (PWA), and social media meta images (Open Graph) for Facebook, Twitter, WhatsApp, and LinkedIn.

    514 GitHub starsUsed in 1 repo~6.6k tokens
    Media & CreativeAuto-check passed
  • Step-by-step procedure for debugging browser automation failures on complex sites such as LinkedIn, Twitter/X, single-page apps and Shadow DOM pages.

    11k GitHub stars~1.8k tokensUpdated 2 days ago
    Productivity & AutomationAuto-check passed
  • LinkedIn MCP Issue Investigator

    stickerdaniel/linkedin-mcp-server

    Investigates a reported LinkedIn-MCP issue by matching the reporter's tool call to the exact source file and tests, without applying a fix.

    3.8k GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Repurpose

    AgriciDaniel/claude-repurpose

    Content Repurposing Engine. An agent skill from AgriciDaniel/claude-repurpose.

    157 GitHub stars~5.1k tokensUpdated 6 mo ago
    Writing & ContentAuto-check passed
  • Agts Bugfix Workflow

    emreturkmencom/antigravity-telegram-suite

    Step-by-step contribution guidelines, testing procedures, and debugging workflows for antigravity-telegram-suite.

    172 GitHub stars~386 tokensUpdated 17 days ago
    DevelopmentAuto-check passed
  • Agent Reach

    Ootto-AI/claude-content-skills

    MUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g.

    130 GitHub stars~1.3k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from sickn33/agentic-awesome-skills

All 1,497 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Whatsapp Cloud API

    sickn33/agentic-awesome-skills

    Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~4.5k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Categories

Questions about Social Metadata Hardening

What does Social Metadata Hardening do?

Fix social sharing previews so URLs render as rich cards on Facebook, LinkedIn, X/Twitter, WhatsApp, Telegram, and more. Social Metadata Hardening is an agent skill from sickn33/agentic-awesome-skills. Fix social sharing previews so URLs render as rich cards on Facebook, LinkedIn, X/Twitter, WhatsApp, Telegram, and more.

When should I use Social Metadata Hardening?

Social Metadata Hardening fits situations like: tasks that involve Social media graphics; tasks that involve Debugging.

How do I install Social Metadata Hardening in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill social-metadata-hardening -a claude-code`. Or copy the skill folder (skills/social-metadata-hardening in sickn33/agentic-awesome-skills) into .claude/skills/social-metadata-hardening in your project. Claude Code loads it when a task matches its description.

How do I install Social Metadata Hardening in Codex?

Run `npx skills add sickn33/agentic-awesome-skills --skill social-metadata-hardening -a codex`. Or copy the skill folder (skills/social-metadata-hardening in sickn33/agentic-awesome-skills) into .agents/skills/social-metadata-hardening in your project. Codex loads it when a task matches its description.

Can I use Social Metadata Hardening in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sickn33/agentic-awesome-skills --skill social-metadata-hardening -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/social-metadata-hardening, .gemini/skills/social-metadata-hardening, .github/skills/social-metadata-hardening and .opencode/skills/social-metadata-hardening in your project.

What does Social Metadata Hardening need to run?

Going by SKILL.md and its folder, Social Metadata Hardening needs the command-line tools its instructions call (curl).

Does Social Metadata Hardening access the network?

SKILL.md names 4 domains. As links in the text: developers.facebook.com, cards-dev.twitter.com, linkedin.com and metatags.io. This is read from the text; nothing was executed.

Is Social Metadata Hardening safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Social Metadata Hardening use?

Social Metadata Hardening is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Social Metadata Hardening use?

About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Social Metadata Hardening?

Skills that share tags, products or a category with Social Metadata Hardening: Web Asset Generator (alonw0/web-asset-generator, 514 stars), Browser Automation Edge Cases (aden-hive/hive, 11k stars), LinkedIn MCP Issue Investigator (stickerdaniel/linkedin-mcp-server, 3.8k stars) and Repurpose (AgriciDaniel/claude-repurpose, 157 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Social Metadata Hardening?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,405 GitHub stars. The repository holds 1,497 skills in this directory. The repository was last updated on October 9, 2026.

Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.