webshop-product-detail-navigator
$
npx mdskill add zjunlp/SkillNet/webshop-product-detail-navigatorClicks product links and configures options to match user needs.
- Transitions search results to detailed product pages for verification.
- Depends on web browser automation and DOM parsing capabilities.
- Matches user instructions against available flavor and size selectors.
- Executes configuration clicks to align product state with requirements.
SKILL.md
.github/skills/webshop-product-detail-navigatorView on GitHub ↗
---
name: webshop-product-detail-navigator
description: Navigates to and interacts with a specific product's detail page. This skill is triggered after a candidate product ID is selected from search results. It performs the click action to load the product page and then identifies available interactive elements (like flavor or size selectors) that need to be configured to match the user's requirements.
---
# Instructions
## Purpose
This skill is used to navigate from a product search result to the product's detail page and configure it according to the user's specific requirements (e.g., flavor, size, dietary needs).
## When to Use
Use this skill when you have identified a candidate product from a search result list and need to:
1. Load its detailed product page.
2. Verify its attributes against the user's instruction.
3. Select the correct options (like `flavor` or `size`) to match the user's request.
4. Proceed to the final purchase step if all criteria are met.
## Core Workflow
1. **Navigate to Product Page:** Click on the product ID (e.g., `B06Y96MXJV`) from the search results to load its detail page.
2. **Parse the Page State:** Once on the product page, the observation will contain the product title, price, and a list of available interactive elements (clickables). Analyze these to find configuration options.
3. **Match Requirements:** Cross-reference the user's original instruction with the available options. Look for keywords related to:
* **Product Type/Flavor:** (e.g., "smoked peppered bacon", "smoked bacon").
* **Attributes:** (e.g., "gluten free", "vegetarian").
* **Size/Packaging:** (e.g., "4 ounce (pack of 2)").
* **Price:** Ensure the displayed price is below any specified maximum.
4. **Configure the Product:** Sequentially click on the option values that match the user's requirements. The typical order is to select the correct `flavor` first, then the correct `size`.
5. **Finalize:** After configuring the product, if all requirements are satisfied, click the final action button (e.g., `Buy Now`).
## Action Format
Your actions must strictly follow the required format:
* `click[<exact_value>]` - The `<exact_value>` must match one of the strings in the "clickables" list from the observation, including case and spacing.
* `search[<keywords>]` - Use only if you need to go back to search. This skill focuses on post-search navigation.
## Key Logic (Handled by Script)
The deterministic sequence of checking for and selecting flavor and size options is handled by the bundled script `configure_product.py`. Use it to generate the correct click actions after loading the product page.
## Important Notes
* **Validation:** Do not click an option if it does not appear in the current list of clickables.
* **Observation:** Always read the full observation after each action. The list of clickables updates after each selection.
* **Goal:** The final goal is to have a product configured per the user's instruction and ready for purchase.
More from zjunlp/SkillNet
- alfworld-appliance-navigatorNavigates the agent to a target appliance (microwave, stove, fridge, or sinkbasin) needed for object processing. Use when you are holding an object that needs heating, cooling, or cleaning and must move to the correct appliance station. Identifies the required appliance from the task context and executes the movement action.
- alfworld-appliance-preparerPrepares a household appliance (microwave, oven, toaster, fridge) for use by ensuring it is in the correct open/closed state. Use when the agent needs to heat, cool, or cook an item and must first open or close the appliance before placing an object inside. Takes an appliance identifier as input and outputs a confirmation that the appliance is ready for the next action.
- alfworld-clean-objectCleans a specified object using an appropriate cleaning receptacle (e.g., sinkbasin). Use when a task requires an object to be in a clean state (e.g., "clean potato", "wash apple") before proceeding. Navigates to the cleaning location, performs the clean action, and confirms the object is now clean.
- alfworld-device-operatorOperates a device or appliance (like a desklamp, microwave, or fridge) to interact with another object. Use when the task requires using a tool on a target item (e.g., "look at laptop under the desklamp", "heat potato with microwave"). Locates both the device and target object, co-locates them, and executes the appropriate use action (toggle, heat, cool, or clean).
- alfworld-environment-scannerPerforms an initial scan of the ALFWorld environment to identify all visible objects and receptacles. Use when you first enter an environment and need to build a mental map for task planning. Processes raw observation text into a structured list of entities, categorizing them as objects or receptacles.
- alfworld-goal-interpreterParses the natural language task goal to extract actionable sub-objectives and required objects. Trigger this skill whenever a new task is assigned to break down complex instructions into clear, sequential targets. It interprets phrases like 'look at X under Y' to identify target objects (pillow), reference objects (desklamp), and spatial relationships (under).
- alfworld-heat-object-with-applianceUses a heating appliance (microwave, stoveburner, oven) to apply heat to a specified object. Use when the task requires warming or cooking an item (e.g., "heat some egg", "warm the mug") and a heating appliance is available. Takes the object name and appliance name as input and outputs the object in a heated state, ready for placement at the task's target location.
- alfworld-inventory-managementUse when the agent must collect and track multiple instances of the same object type in ALFWorld (e.g., "put two cellphone in bed"). This skill maintains a count of collected versus needed objects, guides systematic searching through receptacles, and ensures each found object is placed at the target before searching for the next.
- alfworld-locate-target-objectNavigates to a suspected location and identifies a target object. Use when your goal requires finding a specific object (e.g., "potato", "plate") and its location is not immediately known. Moves to a relevant receptacle (like a fridge or cabinet), checks its contents, and outputs the object's location or confirms its absence.
- alfworld-location-navigatorMoves the agent to a specified receptacle or object location within the Alfworld environment. Use this skill when the agent needs to physically approach a target to inspect or interact with it, such as when checking an object's state or preparing for pickup. The skill takes a target location name as input and executes the 'go to' action, resulting in the agent being positioned at the destination for subsequent operations.