agentleFS
Aias00Aias00/agent-skills/chrome-webstore-image-generator/SKILL.md

chrome-webstore-image-generator

Skill2 starsChanged 8 months agoApache-2.0View on GitHub

Generate and validate Chrome Web Store listing image assets from one or more uploaded/local source images. Use when preparing extension publish graphics (icon, screenshots, small promo, optional marquee) and needing exact CWS-compliant dimensions with size-suffixed filenames.

  • Installs packages

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run from the skill directory:

    line 43
  2. Very specific:

    Use the first input for small-promo-440x280.png unless --small-promo-source is provided.

    line 56
  3. Very specific:

    Use up to 5 non-icon input images for screenshots/screenshot-<index>-<width>x<height>.png (falls back to all inputs when needed).

    line 57
  4. Very specific:

    If icon inference is ambiguous (for example, a single screenshot-like input), generation fails fast and requires --icon-source.

    line 61
  5. Distinctive:

    Read size and naming requirements in:

    line 88
  6. Distinctive:

    If user uploads images in chat, first resolve them to accessible local file paths, then pass those paths to the script.

    line 96

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Chrome Webstore Image Generator

Generate Chrome Web Store listing images from one or more source files and validate them before submission.

Quick Start

  1. Collect absolute paths for one or more source images, or auto-capture screenshots from an unpacked extension.
  2. Generate assets with scripts/generate_store_assets.py.
  3. Validate output with scripts/validate_store_assets.py.

Auto-Capture Screenshots (Optional)

Capture popup/options/page screenshots directly into release/store-assets/screenshots:

python3 -m pip install playwright
python3 -m playwright install chromium

python3 scripts/capture_extension_screenshots.py \
  --extension-root /abs/path/to/unpacked-extension \
  --root /abs/project/release/store-assets \
  --options-path options.html \
  --urls https://example.com https://news.ycombinator.com

Then generate remaining assets (icon/small promo/marquee) using explicit icon input:

python3 scripts/generate_store_assets.py \
  --inputs /abs/project/release/store-assets/screenshots/*.png \
  --icon-source /abs/path/icon.png \
  --root /abs/project/release/store-assets \
  --include-marquee

Generate Assets

Run from the skill directory:

python3 scripts/generate_store_assets.py \
  --inputs /abs/path/source-1.png /abs/path/source-2.jpg \
  --icon-source /abs/path/icon.png \
  --root /abs/project/release/store-assets \
  --include-marquee

Default behavior:

  • Auto-pick icon source for icon-128x128.png from files with icon/logo-like names or near-square dimensions.
  • Use the first input for small-promo-440x280.png unless --small-promo-source is provided.
  • Use up to 5 non-icon input images for screenshots/screenshot-<index>-<width>x<height>.png (falls back to all inputs when needed).
  • Append screenshots by default (keep existing files and continue numbering when slots remain).
  • Produce screenshots at 1280x800 by default.
  • Generate marquee-1400x560.png only when --include-marquee is set.
  • If icon inference is ambiguous (for example, a single screenshot-like input), generation fails fast and requires --icon-source.

Useful options:

  • --screenshot-size 640x400: switch screenshot size to 640x400.
  • --max-screenshots 3: limit generated screenshots.
  • --overwrite-screenshots: clear existing screenshots and regenerate from screenshot-1-*.
  • --append-screenshots: compatibility flag (append is already default).
  • --icon-source: explicitly set icon input (recommended and safest).
  • --allow-icon-fallback: allow legacy single-input fallback (only when intentional).
  • --small-promo-source, --marquee-source: override other output source images.

Validate Assets

python3 scripts/validate_store_assets.py --root /abs/project/release/store-assets

Validation checks:

  • icon-128x128: exactly 128x128 and format PNG
  • small-promo-440x280: exactly 440x280
  • marquee-1400x560: exactly 1400x560 (optional)
  • Screenshots: count 1-5, each 1280x800 or 640x400

Source Specs

Read size and naming requirements in:

  • references/cws-image-specs.md

Notes

  • This skill currently uses macOS sips for resizing/cropping.
  • capture_extension_screenshots.py requires Python Playwright (pip install playwright) and browser install (playwright install chromium).
  • If user uploads images in chat, first resolve them to accessible local file paths, then pass those paths to the script.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.