Token导航 LogoToken导航TokenDH.com
图像处理需要联网github未标认证来源可访问许可证需确认审计通过

image-zoom-360图像缩放 360

Agent Skill

用于辅助图像生成、图片编辑、视觉素材处理或图像模型工作流。它适合让 Agent 根据文本生成图片、处理背景、整理视觉提示词或调用相关图像工具。使用时需要确认输入图片、版权来源、输出格式和模型限制;涉及人物、品牌、商品或公开展示素材时,应额外核对授权、真实性和内容合规边界。

总安装

465

周安装

19

GitHub Stars

19

下载量

149
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:image-zoom-360(图像缩放 360)
来源仓库:https://github.com/finsilabs/awesome-ecommerce-skills
仓库路径:skills/image-zoom-360
安装命令:
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill image-zoom-360
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill image-zoom-360

简介

用于辅助图像生成、图片编辑、视觉素材处理或图像模型工作流。

  • 适合让 Agent 根据文本生成图片、处理背景、整理视觉提示词或调用相关图像工具。
  • 使用时需要确认输入图片、版权来源、输出格式和模型限制;涉及人物、品牌、商品或公开展示素材时,应额外核对授权、真实性和内容合规边界。
  • 安装方式:github,命令为 npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill image-zoom-360。
  • 建议结合项目实际需求核验具体功能,并注意遵守版权与内容审核要求。

SKILL.md

Image Zoom & 360-Degree Views

Overview

Implement a rich product media experience that includes high-resolution zoom on hover, touch-native pinch-to-zoom on mobile, 360-degree spin views from a sequence of images, and inline video playback. Richer media is associated with lower return rates and higher conversion for fashion, jewelry, electronics, and other detail-sensitive categories.

When to Use This Skill

  • When product return rates are high and additional visual detail could reduce them
  • When implementing a product detail page for fashion, jewelry, electronics, or other detail-sensitive categories
  • When upgrading from a static single image to a full media gallery
  • When integrating with a product photography workflow that includes 360-degree spin assets
  • When product videos exist and need to be surfaced inline on the PDP

Core Instructions

Step 1: Determine the merchant's platform and choose the right approach

PlatformRecommended ApproachWhy
ShopifyUse built-in media support in OS2.0 themes (Dawn, Sense) + Magic Zoom Plus app or Swiper Gallery for 360Dawn natively supports product images, video, and 3D models in the media gallery; Magic Zoom Plus ($69 one-time) adds hover zoom and 360 spin without theme edits
WooCommerceInstall WooCommerce Product Gallery Slider or YITH WooCommerce Zoom Magnifier (free/premium)WooCommerce includes a basic gallery; YITH Zoom Magnifier adds hover zoom and lightbox; Product Gallery Slider adds swipe, thumbnails, and video support
BigCommerceUse the Cornerstone theme's built-in zoom (hover zoom is enabled by default) + install Magic 360 or Sirv app for spin viewsCornerstone has native zoom; Sirv ($20+/mo) provides hosted 360 spin and zoom CDN with a Stencil widget
Custom / HeadlessBuild a custom gallery component with CSS transform zoom, Pointer Events API for pinch-to-zoom, and frame-based spin viewerFull control over performance and UX; see implementation below

Step 2: Set up the product gallery


Shopify

Built-in media gallery (no app required):

  1. In your product admin (Products → [product] → Media), upload images, add YouTube/Vimeo video URLs, and upload .glb files for 3D models
  2. Shopify OS2.0 themes (Dawn, Sense, Craft) display all media types in the gallery automatically — images, video, and 3D
  3. In Online Store → Themes → Customize, navigate to your product page template and find the Product media section:

- Enable Image zoom (magnifier on hover) - Set Media size to Large or Extra Large for better zoom quality - Enable Video looping for product videos

  1. For variant-specific images: assign images to variants in Products → [product] → Variants → [variant] → Image — the gallery automatically switches to the variant image when a shopper selects that variant

For 360-degree spin views — Magic Zoom Plus ($69 one-time):

  1. Install from the Shopify App Store
  2. Upload your spin sequence images as numbered files (e.g., product-001.jpg through product-036.jpg)
  3. The app creates a spin viewer widget that embeds in your product page without theme code changes

WooCommerce

Built-in zoom (no plugin required):

WooCommerce includes basic image zoom (powered by Zoom.js) by default on product pages. To configure it:

  1. Go to WooCommerce → Settings → Products → Display
  2. Under Product Images, set Zoom behavior: Enabled, Disabled, or Inner
  3. Upload high-resolution images (at least 1000×1000px) — the zoom uses the full uploaded image

YITH WooCommerce Zoom Magnifier (free + premium):

  1. Install from WordPress.org
  2. Go to YITH → Zoom Magnifier → Settings
  3. Configure zoom type: Inner (magnifies within the image container), Outer (shows magnified panel beside the image), or Lens (circular magnifier follows cursor)
  4. Enable lightbox for full-screen zoom on click

Product Gallery Slider (free — WooCommerce.com):

  1. Install and activate
  2. Adds swipe support, thumbnail strip, and fullscreen lightbox to the built-in WooCommerce gallery
  3. Supports video thumbnails (YouTube/Vimeo) in the gallery

For 360 views: Use WooCommerce 360° Image plugin (free, wordpress.org) — upload numbered spin frames as product images prefixed with 360_ and the plugin creates a drag-to-spin viewer.


BigCommerce

Built-in zoom (Cornerstone theme):

  1. Go to Storefront → My Themes → Customize
  2. Under Product Page → Image, enable Image zoom (hover zoom is on by default)
  3. Set Image size to Large for better zoom quality — BigCommerce serves images at multiple sizes automatically

Sirv (hosted 360 spin + zoom CDN):

  1. Install Sirv from the BigCommerce App Marketplace
  2. Upload your spin sequence images to Sirv's CDN — it auto-detects numbered sequences
  3. Paste the Sirv embed code into your product description or use the Sirv BigCommerce widget
  4. Sirv also serves all your product images via its CDN with automatic WebP conversion

Product videos:

  1. In your BigCommerce product admin, click Add Video in the media section and paste a YouTube or Vimeo URL
  2. Videos appear as thumbnail items in the product gallery automatically

Custom / Headless

CSS hover zoom (no JavaScript image loading):

// ZoomImage.jsx
import { useState, useRef } from 'react';

export function ZoomImage({ src, alt }) {
  const [zoom, setZoom] = useState(null);
  const containerRef = useRef(null);

  function handleMouseMove(e) {
    const rect = containerRef.current.getBoundingClientRect();
    const x = ((e.clientX - rect.left) / rect.width) * 100;
    const y = ((e.clientY - rect.top) / rect.height) * 100;
    setZoom({ x, y });
  }

  return (
    <div
      ref={containerRef}
      className="zoom-container"
      onMouseMove={handleMouseMove}
      onMouseLeave={() => setZoom(null)}
    >
      <img
        src={src}
        alt={alt}
        className="zoom-image"
        style={zoom ? {
          transformOrigin: `${zoom.x}% ${zoom.y}%`,
          transform: 'scale(2.5)',
        } : {}}
        draggable={false}
      />
    </div>
  );
}
.zoom-container { overflow: hidden; cursor: crosshair; aspect-ratio: 1/1; }
.zoom-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.05s linear; will-change: transform; }

360-degree spin viewer:

// SpinViewer.jsx — preloads all frames, switches on drag
export function SpinViewer({ frames, productName = 'Product' }) {
  const [frameIndex, setFrameIndex] = useState(0);
  const [loaded, setLoaded] = useState(false);
  const dragStart = useRef(null);

  useEffect(() => {
    let count = 0;
    frames.forEach(src => {
      const img = new Image();
      img.src = src;
      img.onload = () => { if (++count === frames.length) setLoaded(true); };
    });
  }, [frames]);

  function handleDragStart(e) { dragStart.current = e.clientX ?? e.touches?.[0]?.clientX; }
  function handleDragMove(e) {
    if (dragStart.current === null) return;
    const clientX = e.clientX ?? e.touches?.[0]?.clientX;
    const delta = Math.round((clientX - dragStart.current) / 8);
    if (delta !== 0) {
      setFrameIndex(i => ((i + delta) % frames.length + frames.length) % frames.length);
      dragStart.current = clientX;
    }
  }
  function handleDragEnd() { dragStart.current = null; }

  if (!loaded) return <div aria-label="Loading 360 view">Loading...</div>;
  return (
    <div
      onMouseDown={handleDragStart} onMouseMove={handleDragMove}
      onMouseUp={handleDragEnd} onMouseLeave={handleDragEnd}
      onTouchStart={handleDragStart} onTouchMove={handleDragMove} onTouchEnd={handleDragEnd}
      aria-label="360 degree product view — drag to rotate"
      role="img" style={{ cursor: 'ew-resize' }}
    >
      <img src={frames[frameIndex]} alt={`${productName}, frame ${frameIndex + 1} of ${frames.length}`} draggable={false} />
      <span aria-hidden="true" style={{ fontSize: '0.75rem', color: '#666' }}>Drag to rotate</span>
    </div>
  );
}

Step 3: Optimize media for performance

Regardless of platform, follow these media guidelines:

  1. Hero image: Upload at minimum 2000px on the longest side for zoom quality; platforms resize down automatically for thumbnails
  2. Format: Upload WebP images where your platform supports it — Shopify, BigCommerce, and Sirv convert automatically; for WooCommerce use the Imagify or ShortPixel plugin
  3. 360 spin frames: 24-36 frames is the sweet spot; at 30 KB per frame (optimized JPEG) that is under 1 MB total for the full sequence
  4. Video: Upload MP4 directly to Shopify/BigCommerce, or embed YouTube/Vimeo to offload hosting costs; always include a poster image
  5. LCP (Largest Contentful Paint): The main product image is almost always the LCP element — ensure it loads with high priority

Best Practices

  • Serve images at 2x the rendered size for retina screens but no larger — a 400px container needs an 800px image, not 2000px
  • Use WebP or AVIF format — 30-50% smaller than JPEG at equivalent quality
  • Pre-load the hero image — add fetchpriority="high" and loading="eager" to the first product image
  • Lazy-load non-hero media — thumbnails, 360 frames 2–N, and video should load after first interaction
  • Show a loading state for 360 views — preloading 36 frames can take several seconds on mobile; show a progress indicator
  • Provide keyboard alternatives for drag interactions — 360 spin should support left/right arrow keys in addition to mouse drag
  • Avoid autoplay with sound — muted autoplay is acceptable; audio autoplay is blocked by most browsers

Common Pitfalls

ProblemSolution
Zoom CSS transform causes layout shiftUse will-change: transform and overflow: hidden on the container so the scaled image does not reflow siblings
360 spin is jittery on mobileThrottle frame updates to one per requestAnimationFrame; do not call setState on every touchmove event
Video does not autoplay on iOSAdd playsInline and muted attributes; iOS requires both for autoplay without user gesture
LCP score poor due to large hero imageAdd fetchpriority="high" and loading="eager" to the main product image; verify with Lighthouse
360 assets too large (36 × 500 KB)Target 20–40 KB per frame at 800px wide using JPEG quality 75 through your CDN

Related Skills

  • @product-page-design
  • @responsive-storefront
  • @accessibility-commerce
  • @image-optimization-cdn

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.25%
按下载量换算56

Claude

31.62%
按下载量换算47

Cursor

17.06%
按下载量换算25

Gemini CLI

8.31%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills