Twitter Card Optimizer
Twitter cards

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…
--- name: twitter-cards description: 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. metadata: version: 1.1.0 --- # SEO On-Page: Twitter Cards 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. ## Scope (Social Sharing) - **Twitter Cards**: X-specific meta tags; control how links appear when shared on X/Twitter ## Card Types
Overview
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.
Manual install (npx, ZIP)
npx skills add kostja94/marketing-skills --skill twitter-cards -g -a claude-codenpx degit kostja94/marketing-skills/skills/seo/on-page/twitter-cards#main ~/.claude/skills/twitter-cardsConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md4.1 KB
Read SKILL.md here
Show the full text108 lines
SEO On-Page: Twitter Cards
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.
Scope (Social Sharing)
- Twitter Cards: X-specific meta tags; control how links appear when shared on X/Twitter
Card Types
| 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 |
Recommended Tags (summary_large_image)
<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 |
Image Requirements
| 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 |
Common Mistakes
- Missing Twitter Card tags (Twitter won't display images properly without them)
- Using relative image URLs instead of absolute https://
- Images too small or wrong aspect ratio
- Title/description too long (gets truncated)
Implementation
Next.js (App Router)
export const metadata = {
twitter: {
card: 'summary_large_image',
title: '...',
description: '...',
images: ['https://example.com/twitter.jpg'],
site: '@yourusername',
creator: '@authorusername',
},
};
HTML (generic)
<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">
Testing
- X (Twitter): Card Validator
Related Skills
- social-share-generator: Share buttons use Twitter Cards for X previews when users share; Cards must be set for share buttons to show proper previews
- open-graph: OG tags; Twitter falls back to OG if Twitter tags missing
- title-tag: Title tag often mirrors twitter:title
- meta-description: Meta description often mirrors twitter:description
- page-metadata: Hreflang, other meta tags
- twitter-x-posts: X post copy and engagement (different from link previews)
- twitter-card-image-generator: Programmatic Twitter Card image generation — 1200×675px, 2:1 ratio, player card posters, dark mode adaptations for ~40% of X users, timeline-safe zone design for mobile 1:1 crop, all 6 visual styles from og-image-generator. This skill covers how to SET the twitter:image tag; twitter-card-image-generator covers how to CREATE the image.
| 1 | |
| 2 | name twitter-cards |
| 3 | description 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. |
| 4 | metadata |
| 5 | version 1.1.0 |
| 6 | |
| 7 | |
| 8 | # SEO On-Page: Twitter Cards |
| 9 | |
| 10 | 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. |
| 11 | |
| 12 | **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. |
| 13 | |
| 14 | ## Scope (Social Sharing) |
| 15 | |
| 16 | **Twitter Cards**: X-specific meta tags; control how links appear when shared on X/Twitter |
| 17 | |
| 18 | ## Card Types |
| 19 | |
| 20 | | Type | Use case | |
| 21 | |------|----------| |
| 22 | | **summary** | Small card with thumbnail | |
| 23 | | **summary_large_image** | Large prominent image (recommended; 1200×675px) | |
| 24 | | **app** | Mobile app promotion | |
| 25 | | **player** | Video/audio content | |
| 26 | |
| 27 | ## Recommended Tags (summary_large_image) |
| 28 | |
| 29 | |
| 30 | <meta name="twitter:card" content="summary_large_image"> |
| 31 | <meta name="twitter:title" content="Your Title"> |
| 32 | <meta name="twitter:description" content="Your description"> |
| 33 | <meta name="twitter:image" content="https://example.com/image.jpg"> |
| 34 | <meta name="twitter:site" content="@yourusername"> |
| 35 | <meta name="twitter:creator" content="@authorusername"> |
| 36 | <meta name="twitter:image:alt" content="Alt text for image"> |
| 37 | |
| 38 | |
| 39 | | Tag | Guideline | |
| 40 | |-----|-----------| |
| 41 | | **twitter:card** | Required; `summary_large_image` for most pages | |
| 42 | | **twitter:title** | Max 70 chars; concise title | |
| 43 | | **twitter:description** | Max 200 chars; summary | |
| 44 | | **twitter:image** | Absolute URL; unique per page | |
| 45 | | **twitter:site** | @username of website | |
| 46 | | **twitter:creator** | @username of content creator | |
| 47 | | **twitter:image:alt** | Alt text; max 420 chars; accessibility | |
| 48 | |
| 49 | ## Image Requirements |
| 50 | |
| 51 | | Item | Guideline | |
| 52 | |------|-----------| |
| 53 | | **Aspect ratio** | 2:1 | |
| 54 | | **Minimum** | 300×157 px | |
| 55 | | **Recommended** | 1200×675 px | |
| 56 | | **Max** | 4096×4096 px | |
| 57 | | **File size** | Under 5MB | |
| 58 | | **Formats** | JPG, PNG, WebP, GIF (first frame only); SVG not supported | |
| 59 | |
| 60 | ## Common Mistakes |
| 61 | |
| 62 | Missing Twitter Card tags (Twitter won't display images properly without them) |
| 63 | Using relative image URLs instead of absolute https:// |
| 64 | Images too small or wrong aspect ratio |
| 65 | Title/description too long (gets truncated) |
| 66 | |
| 67 | ## Implementation |
| 68 | |
| 69 | ### Next.js (App Router) |
| 70 | |
| 71 | |
| 72 | export const metadata = { |
| 73 | twitter: { |
| 74 | card: 'summary_large_image', |
| 75 | title: '...', |
| 76 | description: '...', |
| 77 | images: ['https://example.com/twitter.jpg'], |
| 78 | site: '@yourusername', |
| 79 | creator: '@authorusername', |
| 80 | }, |
| 81 | }; |
| 82 | |
| 83 | |
| 84 | ### HTML (generic) |
| 85 | |
| 86 | |
| 87 | <meta name="twitter:card" content="summary_large_image"> |
| 88 | <meta name="twitter:title" content="Your Title"> |
| 89 | <meta name="twitter:description" content="Your description"> |
| 90 | <meta name="twitter:image" content="https://example.com/image.jpg"> |
| 91 | <meta name="twitter:site" content="@yourusername"> |
| 92 | <meta name="twitter:image:alt" content="Alt text"> |
| 93 | |
| 94 | |
| 95 | ## Testing |
| 96 | |
| 97 | **X (Twitter)**: [Card Validator] |
| 98 | |
| 99 | ## Related Skills |
| 100 | |
| 101 | **social-share-generator**: Share buttons use Twitter Cards for X previews when users share; Cards must be set for share buttons to show proper previews |
| 102 | **open-graph**: OG tags; Twitter falls back to OG if Twitter tags missing |
| 103 | **title-tag**: Title tag often mirrors twitter:title |
| 104 | **meta-description**: Meta description often mirrors twitter:description |
| 105 | **page-metadata**: Hreflang, other meta tags |
| 106 | **twitter-x-posts**: X post copy and engagement (different from link previews) |
| 107 | **twitter-card-image-generator**: Programmatic Twitter Card image generation — 1200×675px, 2:1 ratio, player card posters, dark mode adaptations for ~40% of X users, timeline-safe zone design for mobile 1:1 crop, all 6 visual styles from og-image-generator. This skill covers how to SET the twitter:image tag; twitter-card-image-generator covers how to CREATE the image. |
| 108 |
Details
- License
- MIT
- Stars on the repo
- ★ 1,006
- Checked
- Source
- kostja94/marketing-skills ↗
- Creator
- kostja94 · 106 listings
Similar skills
See all →
SkillLast 30 Days Research
SkillSocial Platform Scraper
SkillWeChat Article Publisher
SkillTwitter Content Search
SkillYouTube Script Writer
SkillInternet Research RouterMore from kostja94
SkillAffiliate Marketing Strategy
SkillMobile App Campaign Manager
SkillLong-Form Article Writer
SkillBacklink Profile Analyzer