Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Branding5/social-media-image-sizes --skill social-media-image-sizes -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/social-media-image-sizes/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/social-media-image-sizes/

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

Similar skills

Everything for Design →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor