SkillHub

smart-image-loader

v1.0.0

Smart image loader that handles both URLs and local files, automatically downloads URLs to temporary locations, and displays images using the read tool. Use when a user wants to view or display an image, whether it's a web URL or a file in the workspace.

Sourced from ClawHub, Authored by tingwei1123

Installation

Please help me install the skill `smart-image-loader` from SkillHub official store. npx skills add tingwei1123/smart-image-loader

Smart Image Loader

Quick Start

When a user asks to display an image:

  1. Check if input is a URL or local path
  2. URLs start with http:// or https://
  3. Local paths are file paths in the workspace

  4. For URLs:

  5. Download the image to a temporary location using the Python script
  6. Use read tool to display the image
  7. Clean up the temporary file afterward

  8. For local files:

  9. Verify the file exists (relative to workspace or absolute path)
  10. Use read tool directly to display the image

Usage Examples

User says: "Show me this image: https://example.com/photo.jpg"

  1. Run: python3 scripts/smart_image_loader.py https://example.com/photo.jpg
  2. Script downloads to temp: /tmp/dir/photo.jpg
  3. Use read tool on: /tmp/dir/photo.jpg
  4. Clean up: Delete the temp file

User says: "Display ./images/logo.png"

  1. Run: python3 scripts/smart_image_loader.py ./images/logo.png
  2. Script verifies file exists
  3. Use read tool on: /home/node/clawd/images/logo.png (absolute path)

Script Usage

python3 scripts/smart_image_loader.py <image_path_or_url>

Arguments

Argument Description
image_path_or_url Either a local file path (relative or absolute) or a URL

Output Format

The script returns a JSON-like output with: - Status: SUCCESS or FAILED - Type: url or local - File Path: Local path for the read tool - Message: Status description - Cleanup Needed: true if temp file should be deleted

Examples

# URL example
python3 scripts/smart_image_loader.py https://example.com/image.jpg
# Output: Downloads to /tmp/xyz/image.jpg, use read tool on that path

# Local file example (relative)
python3 scripts/smart_image_loader.py ./photos/vacation.jpg
# Output: File found at /home/node/clawd/photos/vacation.jpg

# Local file example (absolute)
python3 scripts/smart_image_loader.py /home/node/clawd/downloads/graphic.png
# Output: File found at /home/node/clawd/downloads/graphic.png

Workflow Decision Tree

User asks to display an image
         |
         v
    Is it a URL? (http:// or https://)
         |
    +----+---------------------------+
    |                                 |
   YES                               NO
    |                                 |
    v                                 v
Download to temp              Does file exist?
    |                                 |
    v                          +-----+-----+
Use read tool                 |           |
    |                        YES          NO
    v                              |
Cleanup temp file              v
                           Use read tool
                               |
                               v
                          Done (no cleanup)

Cleanup Guidelines

  • URL downloads: Always clean up temporary files after displaying
  • Local files: No cleanup needed (files remain in workspace)
  • Use exec with rm <file_path> for cleanup

Image Formats Supported

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • GIF (.gif)
  • WebP (.webp)
  • BMP (.bmp)

Error Handling

Scenario Action
URL download fails Report error to user
Local file not found Report error to user
Invalid input Show usage instructions