Fetch a product page and add it to your wishlist. Extracts product name, type, price, and image from web pages and calls the wishlist CLI tool. Use when adding items to wishlist from URLs or when the user asks to add something to their wishlist.
This skill automates adding items to your wishlist YAML files by:
Identify the product URL and optionally the wishlist type. The user may say things like:
Extract:
default, baby, watches, camera - defaults to default)Use the WebFetch tool with a comprehensive extraction prompt:
Extract the following product information from this page:
1. Product name: The full product title or name
2. Product type: Categorize this product as one of: book, hardware, toy, wardrobe, font, software, service, subscription, game, accessory, camera, watch, or other relevant category. Infer from the product description, category, and context.
3. Price: The product price with currency symbol (e.g., $50, €200, £75, ₽1000). If multiple prices shown, prefer the main/regular price.
4. Image URL: The primary product image URL or OpenGraph image URL. Must be an absolute URL (starting with http:// or https://).
Format your response clearly with each field labeled.
Ensure all required fields are present:
http:// or https://)If any required field is missing or invalid:
Once all data is validated, call the wishlist CLI in programmatic mode:
/Users/chuhlomin/Projects/chuhlomin/chuhlomin.com/bin/wishlist \
--url="<product-url>" \
--name="<extracted-name>" \
--type="<inferred-type>" \
--price="<extracted-price>" \
--image-url="<extracted-image-url>" \
--list="<wishlist-type>"
Important: When --image-url is provided, the CLI runs in programmatic mode (no interactive prompts).
Flags:
--url: Original product page URL (required)--name: Product name (required in programmatic mode)--type: Product type/category (required in programmatic mode)--price: Price with currency (required in programmatic mode)--image-url: Product image URL (required in programmatic mode)--list: Wishlist file to update - default, baby, watches, or camera (defaults to default)After the CLI completes:
content/wishlist.yml)If the CLI fails:
User: "Add https://fsd.it/shop/fonts/pragmatapro/ to my wishlist"
Actions:
/Users/chuhlomin/Projects/chuhlomin/chuhlomin.com/bin/wishlist \
--url="https://fsd.it/shop/fonts/pragmatapro/" \
--name="Pragmata Pro" \
--type="font" \
--price="€200" \
--image-url="https://fsd.it/path/to/image.jpg" \
--list="default"
User: "Add this toy to my baby wishlist: https://example.com/toy"
Actions:
--list="baby"User: "Add https://example.com/product"
Actions:
When inferring the product type, use these common categories:
If you get "command not found" or similar:
# Rebuild the wishlist CLI
cd /Users/chuhlomin/Projects/chuhlomin/chuhlomin.com
go build -o bin/wishlist ./cmd/wishlist
If the page can't be fetched:
If the extracted image URL is relative (e.g., /images/product.jpg):
--image-url)--image-url) bypasses all interactive promptscache.ymlcontent/wishlist.yml (default)content/wishlist-baby.yml (baby)content/wishlist-watches.yml (watches)content/wishlist-camera.yml (camera)