social-media-image-sizes — Claude Code skill: setup and specs
Validates image dimensions against rules for 9 social platforms and exports resized copies. Helpful when preparing ads or feed posts without manual editing.
npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a claude-codeWhat social-media-image-sizes does
The skill contains 60+ social media specs. Running scripts/check.js evaluates an image against target platforms, sorting results from exact matches to undersized assets. For non-matching formats, it outputs a ready CLI command.
Image resizing runs via scripts/resize.js. It defaults to center-crop cover mode. If your subject sits off-center, pass --fit contain with a custom --bg color to letterbox instead.
Without Node.js 18+, the tool will fail. You must run npm install inside the skill directory before first use. Sharp requires a native binary, which may fail behind a proxy without SHARP_IGNORE_GLOBAL_LIBVIPS=1.
What it helps with
- validate image dimensions against social media specs
- export correctly cropped assets for social media ads
- generate instant CLI resize commands for mismatched images
- letterbox images using contain mode with custom background colors
Example prompts for the agent
- Check if promo.png fits Instagram specs and show me the resize command
- Resize banner.jpg for YouTube Custom Thumbnail using contain mode
- List all available presets with scripts/resize.js
How to install social-media-image-sizes
1Skills CLI (Vercel)
npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a claude-code2Manually: put the files in place
~/.claude/skills/social-media-image-sizes/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/social-media-image-sizes/
1Skills CLI (Vercel)
npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a codex2Manually: put the files in place
.agents/skills/social-media-image-sizes/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a cursor2Manually: put the files in place
.cursor/skills/social-media-image-sizes/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Branding5/social-media-image-sizes social-media-image-sizes2Manually: put the files in place
.github/skills/social-media-image-sizes/SKILL.md1Skills CLI (Vercel)
npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a gemini-cli2Platform CLI
gemini skills install https://github.com/Branding5/social-media-image-sizesManually: put the files in place
.devin/skills/social-media-image-sizes/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about social-media-image-sizes
How to install social-media-image-sizes in Claude Code?
Run npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a claude-code in your terminal. After adding the skill, navigate to its folder and run npm install.
What does social-media-image-sizes do?
It inspects graphic files against specs across 9 social networks and creates correctly dimensioned copies. The tool rates image suitability and provides direct CLI commands for non-matching assets.
What are the system requirements?
It requires Node.js 18 or higher along with npm or pnpm. Initial setup compiles or downloads the native Sharp image processing binary for your operating system.
Source text
SKILL.md · MIT
--- name: social-media-image-sizes description: Check and resize images for social media platforms. Run scripts/check.js to validate any image against specs for Instagram, Facebook, X (Twitter), LinkedIn, TikTok, YouTube, Pinterest, Snapchat, and Threads — get a ranked match list with exact resize commands. Run scripts/resize.js to export a correctly-sized copy. Use when a user asks to validate image dimensions, resize an image for a platform, check if an image fits a spec, or prep assets for social media posting or ads. license: MIT compatibility: Requires Node.js 18+ and npm (or pnpm). Run npm install once before first use. metadata: author: Branding5 version: "1.0.0" source: https://www.branding5.com/tools/social-media-cheat-sheet allowed-tools: Bash --- # Social Media Image Sizes Check and resize images for 9 platforms / 60+ specs. Scripts mirror the logic at [branding5.com/tools/social-media-cheat-sheet](https://www.branding5.com/tools/social-media-cheat-sheet). ## Setup Run once after install: ```bash cd <skill-dir> npm install ``` ## Check an image ```bash node scripts/check.js photo.jpg ``` Outputs a ranked match list — perfect → close → usable → too small — with an inline `node scripts/resize.js` command for every non-perfect match. Filter by platform or match level: ```bash node scripts/check.js photo.jpg --platform instagram node scripts/check.js photo.jpg --filter perfect node scripts/check.js photo.jpg --filter usable ``` Platform slugs: `instagram` `facebook` `twitter` `linkedin` `tiktok` `youtube` `pinterest` `snapchat` `threads` ## Resize an image ```bash node scripts/resize.js photo.jpg "Instagram Portrait Post" # → photo-instagram-portrait-post.jpg (1080×1350 px) node scripts/resize.js photo.jpg "YouTube Custom Thumbnail" # → photo-youtube-custom-thumbnail.jpg (1280×720 px) ``` Default fit is **cover** (center-crop). Use `--fit contain` to letterbox instead: ```bash node scripts/resize.js photo.jpg "LinkedIn Background Photo" --fit contain --bg f0f0f0 node scripts/resize.js photo.jpg "Instagram Portrait Post" --out ./exports/ig.jpg ``` List every available spec name: ```bash node scripts/resize.js photo.jpg --list ``` ## Workflow 1. Run `check.js` to see what a given image already matches 2. Copy the suggested `resize.js` command from the output 3. Run it — the output file is saved alongside the original by default ## Gotchas - **Sharp requires a native binary.** On first `npm install`, it downloads a prebuilt binary for your platform. If install fails behind a proxy, set `SHARP_IGNORE_GLOBAL_LIBVIPS=1` and retry. - **All slides in an Instagram carousel must share the same aspect ratio.** The first image sets the ratio for the whole carousel — check all slides, not just the first. - **Facebook cover photo has two safe zones.** Desktop shows 820×312; mobile crops to 640×360. Keep key content in the center 640×312. - **YouTube banner safe area is much smaller than the file.** The spec is 2560×1440 but only the center 1546×423 is guaranteed visible on all devices. check.js flags the full size; keep critical content in the safe area. - **`--fit cover` center-crops.** If the subject isn't centered, use `--out` to save, then manually crop, or use an image editor before running resize. ## References Full per-platform specs (load when you need detail for a specific platform): - `references/instagram.md` — profile, feed, stories, reels, carousel, ads - `references/facebook.md` — profile, cover, feed, stories, events, ads - `references/x-twitter.md` — profile, header, posts, ads - `references/linkedin.md` — profile, cover, feed, articles, ads - `references/tiktok.md` — profile, videos, ads - `references/youtube.md` — channel art, videos, thumbnails, shorts, ads - `references/pinterest.md` — profile, pins, idea pins, ads - `references/snapchat.md` — snaps, spotlight, stories, ads, filters - `references/threads.md` — profile, posts - `references/best-practices.md` — format, compression, safe zones, accessibility Full compiled reference (all platforms in one file): `AGENTS.md` --- *Need to generate on-brand images at these sizes? [Branding5](https://www.branding5.com) pairs your brand kit with AI to produce social content pre-sized for every platform.*
© Branding5 · MIT · Branding5/social-media-image-sizes