Twitter cards skill

When the user wants to add or optimize Twitter Card metadata for X (Twitter) link previews.

by kostja94·MIT license·★ 1,006 Stars on the repo·GitHub ↗

Use now

Files of Twitter cards

kostja94/main1 file shown
SKILL.md
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
<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

  • 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---
2name: twitter-cards
3description: 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.
4metadata:
5 version: 1.1.0
6---
7 
8# SEO On-Page: Twitter Cards
9 
10Guides 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```html
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```tsx
72export 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```html
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](https://cards-dev.twitter.com/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 

Discussion

Alternatives

ApifyScrapes social platforms, business data, and e-commerce via Apify actors — Instagram, LinkedIn, TikTok, YouTube, Facebook, Google Maps, Amazon, and web crawls — filtering in code. USE WHEN scrape Instagram, scrape LinkedIn, scrape TikTok, scrape YouTube, scrape Facebook, Google Maps leads, Amazon reviews, business intelligence, multi-platform social listening, competitive analysis, lead generation, social monitoring, Apify actors, web crawl, extract contacts. NOT FOR X/Twitter account operations like posting, threads, or bookmarks (those need a dedicated X API client), 4-tier progressive scraping with proxy escalation (use BrightData), or real-Chrome bot bypass and computer use (use Interceptor).Marketing · MITTwitter/X SkillSearch and retrieve content from Twitter/X. Get user info, tweets, replies, followers, communities, spaces, and trends via twitterapi.io. Use when user mentions Twitter, X, or tweets.Marketing · Apache-2.0🎬 YouTube Script: Writing retention-optimized video script...Use this skill when the user says 'YouTube script', 'video script', 'write script for YouTube', 'YouTube video outline', or is creating scripted content for a YouTube video with hooks, chapters, and CTAs. Do NOT use for TikTok/Reels short-form scripts or webinar presentations.Business & ops · MITInstagram Audience InsightsRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).Marketing · MIT