Communitygithub.com

xiaocong3/ecommerce-video-skills

Cover & Title A/B: Generate multiple covers (auto-select clear frames or use clean base images + different titles & layouts) and title/copy variants for e-commerce short videos, export 3:4 / 9:16 cover files and comparison sheets, and provide A/B testing methodology and tracking tables. Use when the user wants a video cover, thumbnail, title, copy, title variants, or A/B test covers for 抖音 / 视频号 / 小红书 / TikTok, or wants to improve click-through rate.

What is ecommerce-video-skills?

The Cover & Title A/B skill automates the creation and testing of multiple cover and title variants for e-commerce short videos, aimed at improving click-through rates. It generates 3–4 cover versions with 6–10 titles per video, leveraging a 'change one variable at a time' methodology for reliable A/B testing. The skill supports major platforms including 抖音 (Douyin), 视频号 (WeChat Channels), 小红书 (Xiaohongshu), and TikTok, producing covers in 9:16 or 3:4 ratios with four rotating layout styles. It provides a Python script (`cover_ab.py`) to either extract the sharpest frames from a finished video or use clean base images, overlaying titles in a consistent visual format. Additionally, it supplies prompt templates, title formula examples, an A/B tracking table, and a checklist to ensure effective testing and avoid common pitfalls like double text overlap or unclear thumbnails.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/xiaocong3/ecommerce-video-skills/tree/HEAD/skills/cover-title-ab

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Cover & Titles A/B

Generate 3–4 cover versions and 6–10 titles at once, following the "change only one variable at a time" testing approach. Script: scripts/cover_ab.py.

Part of ecommerce-video-skills · Need more polished cover base images? Use the sister repository ecommerce-image-skills's xiaohongshu-cover to generate 3:4 covers.

Inputs

  • Finished video (or clean base image: build/stillXX.png, product scene image)
  • Hook/selling points (can come from hook-3s-script)
  • Platform: 抖音/TikTok (9:16 cover + 3:4 preview crop) · 小红书 (3:4)

Steps

  1. Write titles (see template): each ≤ 14 characters, covering different hook types.

  2. Generate covers:

    # Recommended: use clean base images without subtitles
    python scripts/cover_ab.py out/video.mp4 --images build/still00.png build/still03.png build/still04.png \
        --titles "Can't make iced water last till noon?|Ice from morning still there at night|Leak-proof bottle for commute bags" --ratio 3:4 --outdir out/covers
    # Or auto-select the sharpest frames from the finished video (may contain subtitles)
    python scripts/cover_ab.py out/video.mp4 --titles "Title A|Title B" --ratio 9:16
    

    Outputs cover_A.jpg, cover_B.jpg … and comparison sheet ab_sheet.jpg; four layout styles rotate (yellow text with black stroke / white text with red stroke / yellow background black text banner / semi-transparent black background white text).

  3. Design the test: change only one variable at a time (title OR base image OR layout); publish at the same time period with similar traffic; or use the platform's built-in cover/title testing feature (if available).

  4. Record (see table below), using platform metrics like click-through rate and completion rate as the basis, not gut feeling.

Title formulas

TypeExample
Pain point questionCan't make iced water last till noon?
ResultIce from morning still there at night
ScenarioLeak-proof bottle for commute bags
Numbered list3 points to look for when choosing a thermos
ContrastLooks ordinary, but can really take it
ComparisonRegular cup vs this one, after 8 hours (requires actual testing)

Prompt template

Write 8 cover titles (≤14 characters each) and 4 publishing copy variants (≤60 characters each, with 2–3 hashtags) for this e-commerce video.
Product: {…}; Real selling points: {…}; Platform: {…}
Each title should use a different type (pain point/result/scenario/numbered list/contrast/comparison). Avoid absolute claims and unprovable data.
Output: table (number/type/title/recommended base image/recommended layout) + recommended initial A/B combination and reasoning.

A/B tracking table

VersionTitleBase imageLayoutPublish timeImpressionsClick-through rateCompletion rateConclusion
ACan't make iced water last till noon?still00Yellow text, black stroke
BIce from morning still there at nightstill03White text, red stroke

Checklist

  • Title ≤ 14 characters, legible on mobile thumbnail
  • Cover subject clear, product identifiable; text does not obscure product
  • After 3:4 crop, title remains complete (video account/Douyin feed preview)
  • Only one variable changed at a time; data recording complete
  • No absolute claims, no false data

Common issues & fixes

IssueFix
Double text overlayed on coverUse --images to pass clean base images, not frames from finished video
Title wraps awkwardlyShorten to ≤10 characters, or manually break at appropriate points
Auto-selected frame is blurrySpecify --frame-time or use --images
Test conclusions inconsistentSample size too small; extend test period or compare only versions with clear differences

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Related Skills