Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计通过

wishlist-save-for-later心愿单 保存以供日后使用

Agent Skill

wishlist-save-for-later 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

456

周安装

19

GitHub Stars

19

下载量

152
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:wishlist-save-for-later(心愿单 保存以供日后使用)
来源仓库:https://github.com/finsilabs/awesome-ecommerce-skills
仓库路径:skills/wishlist-save-for-later
安装命令:
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill wishlist-save-for-later
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill wishlist-save-for-later

简介

wishlist-save-for-later 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 它支持按关键词、任务类型或来源仓库进行搜索,帮助 Agent 快速获取相关资源。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,具体用法请参考原始 README。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Wishlist / Save for Later

Overview

Implement persistent wishlists that survive browser sessions for both authenticated and guest users. Includes shareable wishlist links, back-in-stock email alerts for out-of-stock wishlist items, and move-to-cart flows. Guest wishlists stored in localStorage are merged with the server-side list on login.

When to Use This Skill

  • When shoppers want to save items for future purchase but are not ready to buy
  • When building a feature to reduce cart abandonment by offering "save for later" on cart items
  • When implementing back-in-stock notifications for high-demand products
  • When the brand's social/sharing strategy should include wishlist sharing

Core Instructions

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

PlatformRecommended ApproachWhy
ShopifyInstall Wishlist Plus (free tier) or Growave (from $9/mo, includes wishlist + loyalty + reviews)Wishlist Plus is the most installed wishlist app on Shopify — adds heart buttons to product and collection pages, persistent wishlists for logged-in users, guest wishlist via browser storage, and a shareable wishlist page
WooCommerceInstall YITH WooCommerce Wishlist (free) — the most widely used WooCommerce wishlist pluginYITH Wishlist adds an "Add to Wishlist" button to product pages, creates a shareable wishlist page for each customer, handles guest wishlists via session, and includes "move to cart" functionality
BigCommerceEnable the built-in Wishlists feature in Account → Wishlists — it's native to the platform; extend with Wishlist Plus app if neededBigCommerce includes server-side wishlists for registered customers built in; guests need a third-party app or custom solution
Custom / HeadlessBuild with localStorage for guest users + server-side storage for authenticated users; merge on loginFull control over data model, sharing, and back-in-stock notifications; see implementation below

Step 2: Set up wishlists on your platform


Shopify

Wishlist Plus (recommended — free tier available):

  1. Install Wishlist Plus from the Shopify App Store
  2. In the app dashboard:

- Set Guest wishlist: Enabled (uses browser storage for logged-out users) - Set Auto-merge: Enabled (merges guest wishlist into account wishlist on login) - Configure the heart button position: Above add to cart, Below add to cart, or On product image

  1. The app automatically adds a heart/wishlist button to all product pages and collection cards
  2. Configure Wishlist page URL (default: /pages/wishlist) in the app settings
  3. Enable Email reminders: sends a reminder email when wishlist items go on sale or come back in stock
  4. Add the wishlist link to your navigation:

- Go to Online Store → Navigation → Main menu - Add a link pointing to /pages/wishlist

Back-in-stock alerts:

  • Wishlist Plus sends automatic back-in-stock emails when inventory is restored
  • Configure the email template and timing in Wishlist Plus → Email Settings

WooCommerce

YITH WooCommerce Wishlist (free):

  1. Install and activate from WordPress.org
  2. Go to YITH → Wishlist → Settings → General:

- Set Wishlist page: create a new page with the [yith_wcwl_wishlist] shortcode, then select it - Enable Share wishlist: lets customers share a public URL to their wishlist - Enable Move to cart: shows a "Move to Cart" button on the wishlist page - Configure Add to Wishlist button position: under Add to Cart, or via shortcode/widget

  1. Under YITH → Wishlist → Settings → Guest Users:

- Enable Allow guests to use wishlist: stores in session/cookie - Set Redirect after login: redirect to wishlist page so guest list merges automatically

  1. The plugin creates a customer-specific wishlist page at /wishlist/?token=[user-token] for sharing

Back-in-stock with YITH:

  • Install the companion plugin YITH WooCommerce Back In Stock Notifications (free)
  • When a wishlist item goes out of stock, customers see an "Email me when available" option
  • Configure the notification email template in the plugin settings

BigCommerce

Built-in Wishlists:

  1. Wishlists are available to logged-in customers in their Account → Wishlists section
  2. Customers can create multiple named wishlists (Birthday, Home, etc.)
  3. To add "Add to Wishlist" buttons to product pages in Cornerstone:

- Go to Storefront → My Themes → Customize - In Product Page, enable the Add to Wishlist button if not already visible

  1. Shared wishlists: customers can set individual wishlists to Public in their account and share the URL

For guest wishlists: BigCommerce's built-in wishlist requires login. Install Wishlist Plus from the BigCommerce App Marketplace for guest wishlist support.


Custom / Headless

localStorage guest wishlist:

// lib/wishlistStore.js
const KEY = 'guest_wishlist';

export function getGuestWishlist() {
  try { return JSON.parse(localStorage.getItem(KEY) ?? '[]'); } catch { return []; }
}

export function toggleGuestWishlist(item) {
  const items = getGuestWishlist();
  const exists = items.some(i => i.variantId === item.variantId);
  const updated = exists
    ? items.filter(i => i.variantId !== item.variantId)
    : [...items, { ...item, addedAt: Date.now() }];
  try { localStorage.setItem(KEY, JSON.stringify(updated)); } catch {}
  return updated;
}

Merge guest wishlist on login:

export async function mergeGuestWishlistOnLogin() {
  const guestItems = getGuestWishlist();
  if (guestItems.length === 0) return;
  await fetch('/api/wishlist/merge', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ items: guestItems }),
  });
  localStorage.removeItem('guest_wishlist');
}

// Server: POST /api/wishlist/merge
// Insert only items not already in the user's server wishlist

Heart button component:

function WishlistButton({ product, variant }) {
  const { toggle, isWishlisted } = useWishlist();
  const wishlisted = isWishlisted(variant.id);
  return (
    <button
      onClick={() => toggle({ productId: product.id, variantId: variant.id })}
      aria-label={wishlisted ? `Remove ${product.name} from wishlist` : `Add ${product.name} to wishlist`}
      aria-pressed={wishlisted}
      className={`wishlist-btn ${wishlisted ? 'active' : ''}`}>
      <svg aria-hidden="true" viewBox="0 0 24 24"
        fill={wishlisted ? 'currentColor' : 'none'} stroke="currentColor">
        <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" />
      </svg>
    </button>
  );
}

Back-in-stock notification trigger (run on inventory webhook or cron):

async function notifyBackInStock(variantId) {
  const subscribers = await db.backInStockSubscriptions.findMany({
    where: { variantId, notifiedAt: null },
  });
  for (const sub of subscribers) {
    await emailService.send({
      to: sub.email,
      template: 'back-in-stock',
      data: { productName: sub.productName, productUrl: sub.productUrl },
    });
    await db.backInStockSubscriptions.update({
      where: { id: sub.id }, data: { notifiedAt: new Date() },
    });
  }
}

Best Practices

  • Optimistic UI for toggle — update the heart icon immediately on click; revert on API error to avoid perceived sluggishness
  • Merge guest wishlists on login — nothing frustrates shoppers more than losing saved items after signing in
  • Rate-limit back-in-stock emails — send at most one notification per subscriber per variant per restock event
  • Show wishlist count in the header — a small badge count reinforces engagement
  • Allow move-to-cart from wishlist — provide a "Move to Cart" button that adds the item and removes it from the wishlist atomically
  • Expire guest wishlists — clear localStorage entries older than 90 days to avoid showing discontinued products

Common Pitfalls

ProblemSolution
Guest wishlist lost on loginImplement the merge flow immediately after authentication; trigger it in the post-login redirect
Back-in-stock email sends multiple timesMark notifiedAt on the subscription record after sending; only notify subscribers where notifiedAt IS NULL
Wishlist heart causes full-page re-renderManage wishlist state at a context level (React Context or Zustand) so only the heart button re-renders
Share link exposes private dataRender only product name, image, and price on shared wishlists — never addresses, notes, or account info
localStorage blocked in private browsingWrap all reads/writes in try/catch; fall back to in-memory storage for the current session

Related Skills

  • @recently-viewed-products
  • @product-page-design
  • @cart-abandonment-recovery
  • @accessibility-commerce

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

36.16%
按下载量换算55

Claude

28.76%
按下载量换算44

Cursor

18.26%
按下载量换算28

Gemini CLI

9.39%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

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

来源信息

继续浏览同类 Skills