When the user wants to add or optimize Twitter Card metadata for X (Twitter) link previews. Also use when the user mentions "Twitter Card," "twitter:card," "twitter:image," "twitter:title," "X preview," or "tweet preview." For Facebook/LinkedIn previews, use open-graph.
Guides implementation of Twitter Card meta tags for X (Twitter) link previews. Twitter falls back to Open Graph if Twitter-specific tags are missing; add both for best results.
When invoking: On first use, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On subsequent use or when the user asks to skip, go directly to the main output.
| Type | Use case | |------|----------| | summary | Small card with thumbnail | | summary_large_image | Large prominent image (recommended; 1200×675px) | | app | Mobile app promotion | | player | Video/audio content |
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Your Title">
<meta name="twitter:description" content="Your description">
<meta name="twitter:image" content="https://example.com/image.jpg">
<meta name="twitter:site" content="@yourusername">
<meta name="twitter:creator" content="@authorusername">
<meta name="twitter:image:alt" content="Alt text for image">
| Tag | Guideline |
|-----|-----------|
| twitter:card | Required; summary_large_image for most pages |
| twitter:title | Max 70 chars; concise title |
| twitter:description | Max 200 chars; summary |
| twitter:image | Absolute URL; unique per page |
| twitter:site | @username of website |
| twitter:creator | @username of content creator |
| twitter:image:alt | Alt text; max 420 chars; accessibility |
| Item | Guideline | |------|-----------| | Aspect ratio | 2:1 | | Minimum | 300×157 px | | Recommended | 1200×675 px | | Max | 4096×4096 px | | File size | Under 5MB | | Formats | JPG, PNG, WebP, GIF (first frame only); SVG not supported |
export const metadata = {
twitter: {
card: 'summary_large_image',
title: '...',
description: '...',
images: ['https://example.com/twitter.jpg'],
site: '@yourusername',
creator: '@authorusername',
},
};
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Your Title">
<meta name="twitter:description" content="Your description">
<meta name="twitter:image" content="https://example.com/image.jpg">
<meta name="twitter:site" content="@yourusername">
<meta name="twitter:image:alt" content="Alt text">
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/twitter-cards · pinned to the source commit
git clone https://github.com/kostja94/marketing-skills.git
cd marketing-skills
git checkout 70987bad4ebe9dce1f74858c1c64f3f8810f18e4
mkdir -p ".claude/skills/twitter-cards"
cp -r "skills/seo/on-page/twitter-cards" ".claude/skills/twitter-cards"Review the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
Scanner static-checks@0.1.0 · commit 70987bad4ebe. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.