| name | screenshot-to-post |
|---|---|
| description | End-to-end workflow for turning real app screenshots into polished, posting-ready marketing composites using AXe/XcodeBuildMCP, Butterkit, and ImageMagick. |
Turn real app screens into marketing-ready composites for Reddit, Threads, Instagram, or any social platform.
Use this skill when you need to:
- Create social media visuals from real app screenshots
- Build polished multi-phone composites for a post or update
- Produce marketing-worthy imagery without AI-generated screens
Two paths depending on context:
Option A — Automated (AXe or XcodeBuildMCP):
- Launch the app on simulator or device
- Use AXe or XcodeBuildMCP to navigate to the key screens
- Capture screenshots of each screen you want to feature
Option B — User-supplied:
- Ask the user to provide screenshots if live capture isn't practical
- Confirm which screens map to which marketing messages before proceeding
Capture one screenshot per slide idea. Don't capture more than you need.
Use the mcp__butterkit__* tools to build marketing-worthy artboards:
- Open or create a Butterkit document (
document_openordocument_create) - Set up artboards at the right App Store size (e.g. iPhone 6.9" = 1290×2796)
- For each artboard:
- Set the device screenshot (
design_set_device_screenshot) - Set background color or gradient (
design_set_background) - Add/update title and subtitle text blocks (
design_upsert_text_block) - Adjust device scale as needed (
design_upsert_device) — 0.88 is a good default
- Set the device screenshot (
- Typography defaults that work well:
- Font: Avenir Next (or match the app's brand font)
- Title: Heavy weight, ~40pt
- Subtitle: Medium weight, ~25pt
- Gradient: match the app's primary color top → lighter tint bottom
Iterate until happy: export a preview, review copy, tweak sizing.
Export at 2x for crisp composites:
design_export_artboards(
documentId: ...,
outputDir: "<project>/exports/",
multiplier: 2.0
)
Note: if files already exist, Butterkit appends _2, _3 etc. to avoid collisions. Use the latest suffixed file for each artboard.
Group artboards into posting-friendly sets. Common groupings:
- 3 phones per composite (works well for Reddit, Threads, Instagram landscape)
- 1 phone centered (for a single hero post or final standalone slide)
Reference dimensions (2x exports, H=1720):
H=1720; PAD=100; GAP=72; BG="#F5F5F7"
# Scale sources to consistent height
magick "slide1.png" -resize x${H} /tmp/s1.png
magick "slide2.png" -resize x${H} /tmp/s2.png
magick "slide3.png" -resize x${H} /tmp/s3.png
W=$(magick identify -format "%w" /tmp/s1.png)
CW=$((PAD + W + GAP + W + GAP + W + PAD))
CH=$((PAD + H + PAD))
magick -size ${CW}x${CH} xc:"$BG" \
/tmp/s1.png -geometry +${PAD}+${PAD} -composite \
/tmp/s2.png -geometry +$((PAD + W + GAP))+${PAD} -composite \
/tmp/s3.png -geometry +$((PAD + W*2 + GAP*2))+${PAD} -composite \
"output_composite.png"For a single centered phone:
CW=$((PAD + W + PAD))
magick -size ${CW}x${CH} xc:"$BG" \
/tmp/s1.png -geometry +${PAD}+${PAD} -composite \
"output_single.png"| Platform | Recommended | Notes |
|---|---|---|
| 1080×1350 (4:5) or landscape | Gallery posts support multiple images | |
| Threads | 1080×1350 or square | Landscape strips also perform well |
| 1080×1350 (portrait) | Feed posts; square also works | |
| Twitter/X | 1600×900 (16:9) | Landscape preferred |
The 3-phone landscape composite (≈2726×1920) works well for Reddit and Threads without cropping.
- Always export at 2x. 1x composites look blurry at display size.
- Keep background neutral (
#F5F5F7light gray, or white) so phones pop. - Consistent card height across all artboards makes compositing trivial.
- The same composites can be repurposed across platforms — make them once, post everywhere.
- A 3-phone landscape strip suits Reddit/Threads/X; a single centered phone makes a clean standalone for a pinned post or blog header.