social-sharing
Installation
SKILL.md
social-sharing
When someone pastes your link into Slack, WhatsApp, LinkedIn, or X, a crawler that does not run your JavaScript reads the raw HTML and decides whether you look real. A blank card or a "Vite + React" preview is a launch-day trust hit.
Activate when
- The product will be shared publicly (launch posts, campaigns, referrals, press).
inspect-metadatashows missing/relative/localhostog:*ortwitter:*, or the preview looks broken.- Not for pages behind login that are never shared.
Inspect
- Run
node scripts/inspect-metadata.mjs --url <site>(paths relative to this skill's folder). Read raw HTML as served, without JavaScript (do not pass--renderfor this check), because social crawlers do not execute scripts. If tags appear only with--render, that is the finding. - Check per key page (home, main product/landing pages, key content pages):
og:title,og:description,og:image(absolute HTTPS URL, resolves 200, sensible size: about 1200×630, under a few MB; PNG/JPG/WebP, not SVG),og:url(matches canonical),og:type,og:site_name,twitter:card(summary_large_imagewhen an image exists), and imagealt(og:image:alt) where supported. - Placeholders and starters:
vite.svg,next.svg,placeholder.png, template hero images, a different product's name, localhost or staging URLs. - Per-page uniqueness: article/product pages should not all share the home card unless they truly are the same.
- Copy quality: derive from the page's visible headline and product facts, not from a generic tagline; keep it truthful (
content-trust). - Image asset: exists in the repo/public folder, is not huge, and is deployed to the production host.
- Optional real-world check: platform debuggers (Facebook Sharing Debugger, LinkedIn Post Inspector, X card preview) need the live URL and are the owner's to run; do not claim their results.