gallery-manage

Manage local gallery content before uploading to S3.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gallery-manage" with this command: npx skills add forever-efficient/pitfal-solutions-website/forever-efficient-pitfal-solutions-website-gallery-manage

Gallery Management

Manage local gallery content before uploading to S3.

Arguments

  • $ARGUMENTS
  • Command to execute: list , create , validate , organize , or stats

Commands

List Galleries

Show all local galleries and their status:

ls -la content/galleries/

Create New Gallery

Create a properly structured gallery folder:

GALLERY_ID=$1 # e.g., "portrait-002" CATEGORY=$2 # brands, portraits, events, custom

mkdir -p content/galleries/$GALLERY_ID/{originals,processed,thumbnails,blur}

Create gallery metadata file

cat > content/galleries/$GALLERY_ID/metadata.json << 'EOF' { "id": "GALLERY_ID_PLACEHOLDER", "title": "", "category": "CATEGORY_PLACEHOLDER", "description": "", "isPublic": true, "isClientGallery": false, "createdAt": "TIMESTAMP_PLACEHOLDER" } EOF

Validate Gallery Images

Check images meet requirements before upload:

GALLERY_PATH=$1 # e.g., "content/galleries/portrait-002"

Check for supported formats

find $GALLERY_PATH/originals -type f (
-name ".jpg" -o -name ".jpeg" -o -name ".png"
-o -name "
.webp" -o -name ".heic" -o -name ".heif"
-o -name ".tiff" -o -name ".tif"
) -print

Check for unsupported formats (should be empty)

find $GALLERY_PATH/originals -type f (
-name ".cr2" -o -name ".nef" -o -name ".arw"
-o -name "
.gif" -o -name ".bmp" -o -name ".psd"
) -print

Check file sizes (warn if > 50MB)

find $GALLERY_PATH/originals -type f -size +50M -print

Count total images

find $GALLERY_PATH/originals -type f ( -name ".jpg" -o -name ".jpeg" -o -name "*.png" ) | wc -l

Organize Gallery

Rename files with consistent naming and ordering:

GALLERY_PATH=$1

Generate sequential names while preserving extension

cd $GALLERY_PATH/originals count=1 for file in .{jpg,jpeg,png,webp}; do if [ -f "$file" ]; then ext="${file##.}" newname=$(printf "img-%03d.%s" $count "$ext") mv "$file" "$newname" ((count++)) fi done

Gallery Statistics

Show comprehensive stats for a gallery:

GALLERY_PATH=$1

echo "=== Gallery Statistics ===" echo "Path: $GALLERY_PATH" echo ""

Count by type

echo "Image counts:" echo " JPG/JPEG: $(find $GALLERY_PATH/originals -name ".jpg" -o -name ".jpeg" | wc -l)" echo " PNG: $(find $GALLERY_PATH/originals -name ".png" | wc -l)" echo " WebP: $(find $GALLERY_PATH/originals -name ".webp" | wc -l)" echo " HEIC: $(find $GALLERY_PATH/originals -name ".heic" -o -name ".heif" | wc -l)" echo ""

Total size

echo "Total size:" du -sh $GALLERY_PATH/originals

Processed status

echo "" echo "Processing status:" echo " Processed variants: $(find $GALLERY_PATH/processed -type f 2>/dev/null | wc -l)" echo " Thumbnails: $(find $GALLERY_PATH/thumbnails -type f 2>/dev/null | wc -l)" echo " Blur placeholders: $(find $GALLERY_PATH/blur -type f 2>/dev/null | wc -l)"

Directory Structure

Expected gallery structure:

content/galleries/{gallery-id}/ ├── metadata.json # Gallery metadata ├── originals/ # Original uploaded images │ ├── img-001.jpg │ ├── img-002.jpg │ └── ... ├── processed/ # Generated WebP variants │ └── img-001/ │ ├── 320w.webp │ ├── 640w.webp │ └── ... ├── thumbnails/ # Generated thumbnails │ └── img-001/ │ ├── sm.webp │ ├── md.webp │ └── lg.webp └── blur/ # Blur placeholders ├── img-001.txt └── ...

Workflow Integration

This skill works with other skills in this order:

  • /gallery-manage create

  • Create new gallery structure

  • Copy images to originals/ folder

  • /gallery-manage validate

  • Check images meet requirements

  • /optimize-images

  • Generate variants and thumbnails

  • /sync-content

  • Upload to S3

  • /db-seed or API call - Create gallery record in DynamoDB

Supported Formats

Format Extension Supported Max Size

JPEG .jpg, .jpeg ✓ 50MB

PNG .png ✓ 50MB

WebP .webp ✓ 50MB

HEIC .heic, .heif ✓ 50MB

TIFF .tiff, .tif ✓ 50MB

RAW .cr2, .nef, .arw ✗ N/A

GIF .gif ✗ N/A

PSD .psd ✗ N/A

Output

After each command, report:

  • Action taken

  • Number of files affected

  • Any warnings or errors

  • Next recommended action

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

optimize-images

No summary provided by upstream source.

Repository SourceNeeds Review
General

logs

No summary provided by upstream source.

Repository SourceNeeds Review
General

deploy

No summary provided by upstream source.

Repository SourceNeeds Review