← 返回 Skills 市场
ensonfun

Lululemon AU Finder

作者 ensonfun · GitHub ↗ · v0.1.0 · MIT-0
cross-platform ✓ 安全检测通过
163
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install lululemon-au-product-finder
功能描述
Find a product on the Lululemon Australia site from a natural-language clothing description and return structured details such as product name, variant color...
使用说明 (SKILL.md)

Lululemon Au Product Finder

Overview

This skill finds a Lululemon Australia product from a fuzzy user description and returns structured variant data. It is optimized for live catalog lookups where direct curl-style scraping or fresh browser automation may be blocked, and it is expected to degrade gracefully instead of failing hard.

Core Rules

  • Treat all catalog information as live. Verify against current pages before answering.
  • Scope the work to lululemon.com.au, usually under /en-au/p/.
  • Prefer search-engine discovery over Lululemon's onsite search.
  • Prefer product detail pages over category, sale, or search pages.
  • Group variants by product slug, then merge data across multiple variant URLs.
  • Report uncertainty explicitly when only one variant page is accessible.
  • Preserve per-field provenance when falling back to snippets or indirect evidence.

Workflow

1. Normalize the Request

Extract the strongest product tokens from the user's description:

  • product family: Define Jacket, Swiftly Tech, ABC Pant
  • fabric or line: Nulu, Luon, Warpstreme
  • fit or length: cropped, hip length, 5 inch
  • audience if present: women, men

Preserve meaningful qualifiers. Remove filler words.

Build 2-4 search queries, for example:

  • site:lululemon.com.au/en-au/p "define jacket nulu"
  • site:lululemon.com.au/en-au/p "swiftly tech long sleeve 2.0"
  • site:lululemon.com.au/en-au/p "abc trouser warpstreme"

2. Discover Candidate Product Pages

Use web search first. Do not start with direct requests to the site's search pages.

Good candidates:

  • URLs under https://www.lululemon.com.au/en-au/p/...
  • search results whose title closely matches the requested product name

Bad candidates unless nothing else exists:

  • category pages under /c/
  • sale landing pages
  • URLs that only differ by unrelated campaign parameters

When the search result is close but ambiguous, open the top candidates and compare:

  • page title
  • main product heading
  • fit/fabric text
  • price range vs single price

3. Select the Product and Collect Variants

Treat the slug after /p/ as the product family key.

Example:

  • .../p/define-jacket-nulu/154826268.html
  • .../p/define-jacket-nulu/149502742.html

These usually represent the same product family with different color variants, and sometimes different sale states.

Rules:

  • merge URLs with the same slug into one product record
  • keep variant-level prices and sizes separate
  • do not assume one page exposes every color name
  • do not invent colors from swatch images alone

If needed, read anti-bot-and-sources.md for the validated discovery strategy and known failure modes.

3A. Anti-Bot Fallback Ladder

If a product page is blocked or partially readable, do not stop immediately. Fall back in this order:

  1. open another search result for the same slug
  2. open another variant URL for the same slug
  3. use search-result snippets that point to official lululemon.com.au product URLs
  4. use category or collection pages on lululemon.com.au to confirm the product family and current price band
  5. reuse an existing real browser session if the environment supports it
  6. ask the user for a direct official URL, page HTML, or screenshots only after the official-site fallbacks above are exhausted

What each fallback is allowed to answer:

  • product name: product page, snippet, category card
  • official URL: product page, search result
  • color: product page first, search snippet second, same-slug sibling pages third
  • sizes: product page first, snippet second
  • current price: product page first, snippet or category card second
  • original price or sale state: product page first, snippet second

Do not use unofficial reseller pages to fill official catalog fields.

4. Extract Fields From Each Variant Page

From each accessible variant page, extract:

  • product_name
  • url
  • color
  • price.current
  • price.original when a regular price is shown
  • price.sale
  • sizes
  • optional flags such as low_stock, notify_only, online_only

Common page anchors:

  • the main heading near the top of the page
  • Colour :
  • Select US Size (AU Size)
  • A$...
  • Sale Price ... Regular Price ...

Normalization rules:

  • currency is always AUD unless the page clearly shows otherwise
  • convert price strings like A$169 to numeric 169
  • preserve the site's size labels, for example 0 (AU 4)
  • if the product name is split across lines, join it into one string

5. Merge and Return Structured Output

Return one product object with:

  • canonical product name
  • product slug
  • currency
  • all_colors as the union of observed variant colors
  • variants as an array of per-URL observations
  • confidence
  • field_sources
  • coverage
  • sources

Use this JSON shape by default:

{
  "query": "define jacket nulu",
  "product_name": "Define Jacket Nulu",
  "product_slug": "define-jacket-nulu",
  "currency": "AUD",
  "all_colors": ["Black", "Espresso"],
  "variants": [
    {
      "url": "https://www.lululemon.com.au/en-au/p/define-jacket-nulu/154826268.html",
      "color": "Black",
      "price": {
        "current": 169,
        "original": 169,
        "sale": false
      },
      "sizes": ["0 (AU 4)", "2 (AU 6)", "4 (AU 8)"],
      "field_sources": {
        "color": "product_page",
        "price.current": "product_page",
        "sizes": "product_page"
      }
    }
  ],
  "confidence": "medium",
  "coverage": {
    "variant_count_observed": 1,
    "all_colors_complete": false,
    "sizes_complete": true
  },
  "sources": [
    "https://www.lululemon.com.au/en-au/p/define-jacket-nulu/154826268.html"
  ]
}

Anti-Bot Policy

Default order of attack:

  1. Use web search to discover product URLs.
  2. Open product detail pages and extract visible structured text.
  3. Merge multiple variant URLs for the same slug.
  4. If product pages are blocked, fall back to official-site search snippets and related official pages.
  5. If the environment supports a real browser session, prefer session reuse over a fresh automated browser.
  6. Only then ask the user for a direct product URL, page HTML, or screenshots.

Avoid these as the primary path:

  • raw curl or requests against the homepage or product pages
  • fresh headless browser sessions with default automation fingerprints
  • onsite search pages using ?q= or ?search=

If a user explicitly wants a scriptable crawler, explain that the stable default is not a raw HTTP scraper. It is a discovery-and-extraction workflow built around search indexing plus product detail pages, with optional browser-state reuse only when the environment supports a real user session.

If you have to answer from fallbacks, downgrade confidence and mark each fallback-derived field in field_sources.

Failure Handling

  • If multiple products fit the description, return the top matches and note why the match is ambiguous.
  • If only one variant page is accessible, say that all_colors may be incomplete.
  • If a page exposes images but not machine-readable color names, do not infer names from pixels.
  • If the page is blocked, say so plainly and keep working through the fallback ladder.
  • If all official pages are blocked but official search snippets are available, return a partial answer instead of a hard failure.
  • If the answer is partial, say exactly which fields were verified from product pages and which came from snippets or sibling variants.

When To Return Partial Results

Return partial structured output when at least one of these is known from official sources:

  • an official product URL
  • a reliable product name match
  • at least one of color, sizes, or current price

For partial output:

  • keep unknown fields as null or empty arrays
  • set confidence to low or medium
  • set coverage.all_colors_complete to false unless multiple live variants were verified
  • include a short note describing the blocking point
安全使用建议
This skill appears coherent and does not ask for credentials or install code. Before enabling, consider these practical points: (1) If you run agents with a real browser session, be aware the skill may reuse that session if available — that can surface cookies or authenticated state. Prefer running it in an isolated browsing environment or a cleared session. (2) The skill uses external search engines to discover product pages; queries and results are sent to those engines. (3) Only provide user-supplied HTML or screenshots if you are comfortable sharing their content. If you need stricter isolation, run the skill in an environment where the agent cannot access your existing browser profiles or private cookies.
功能分析
Type: OpenClaw Skill Name: lululemon-au-product-finder Version: 0.1.0 The Lululemon AU Product Finder is a specialized tool for extracting structured product data (colors, sizes, prices) from the Lululemon Australia website. The skill is well-documented and includes sophisticated fallback logic (detailed in SKILL.md and references/fallback-ladder.md) to handle anti-bot measures like Cloudflare by utilizing search engine snippets and sibling product pages. There is no evidence of data exfiltration, malicious code execution, or harmful prompt injection; the behavior is entirely consistent with its stated purpose of being a resilient shopping assistant.
能力评估
Purpose & Capability
Name and description match the runtime instructions: all work is scoped to lululemon.com.au product pages, search-engine discovery, and merging variant data. There are no unrelated environment variables, binaries, or install steps requested.
Instruction Scope
The SKILL.md describes live web discovery via search results and opening product pages, plus an explicit fallback ladder for anti-bot blocks. This stays within the stated purpose. One thing to note: it suggests reusing an existing real browser session if available — that could expose broader browsing context (cookies, authenticated session state) depending on the environment. The skill otherwise avoids asking for unrelated files or creds and asks for user-supplied HTML/screenshots only after official fallbacks are exhausted.
Install Mechanism
Instruction-only skill with no install spec and no code files to write or execute. This is the lowest-risk install model.
Credentials
No environment variables, credentials, or config paths are required. The only implicit external interactions are web searches and opening lululemon pages, which are appropriate for the stated task.
Persistence & Privilege
Flags show no always:true setting and agent invocation is normal/user-invocable. The skill does not request persistent system privileges or to modify other skills or system config.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install lululemon-au-product-finder
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /lululemon-au-product-finder 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.0
Initial public release. Adds a skill for finding Lululemon Australia products from natural-language descriptions. Returns structured product data including name, colors, sizes, prices, URLs, and provenance. Includes anti-bot fallback handling using official-site search discovery and same-slug variant merging.
元数据
Slug lululemon-au-product-finder
版本 0.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Lululemon AU Finder 是什么?

Find a product on the Lululemon Australia site from a natural-language clothing description and return structured details such as product name, variant color... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 163 次。

如何安装 Lululemon AU Finder?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install lululemon-au-product-finder」即可一键安装,无需额外配置。

Lululemon AU Finder 是免费的吗?

是的,Lululemon AU Finder 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Lululemon AU Finder 支持哪些平台?

Lululemon AU Finder 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Lululemon AU Finder?

由 ensonfun(@ensonfun)开发并维护,当前版本 v0.1.0。

💬 留言讨论