webshop-product-selector
$
npx mdskill add zjunlp/SkillNet/webshop-product-selectorSelects top product from search results using price and keyword scoring.
- Helps agents choose the best item when multiple options meet core needs.
- Depends on selector.py script for automated filtering and ranking logic.
- Scores candidates by price limits and title keyword matching against requirements.
- Navigates to the chosen product detail page via click action.
SKILL.md
.github/skills/webshop-product-selectorView on GitHub ↗
---
name: webshop-product-selector
description: >-
Selects the most promising product candidate from a filtered shortlist for detailed
inspection. Use when you are on a search results page with multiple viable items and need
to make a final selection based on a heuristic such as best feature match or lowest price.
Triggers navigation to the selected product's detail page via click[product_id].
---
# Instructions
Use this skill when you are on a search results page with multiple product options that appear to meet the user's core requirements.
## Decision Process
1. **Assess the List:** Review the provided observation, which contains a list of products. Each product entry typically includes a Product ID (e.g., `B093C1THVP`), a title, and a price.
2. **Apply Selection Heuristic:** Use the bundled `selector.py` script to programmatically identify the best candidate. The script implements the following logic:
* Filters products strictly under the user's specified maximum price.
* Scores remaining products based on keyword matching in the title against the user's core requirements (e.g., "portable", "easy to carry", "double horn").
* Selects the product with the highest score. In case of a tie, it chooses the lowest-priced item.
3. **Execute Action:** The final action is always to click on the selected product's ID to navigate to its detail page for final verification and purchase. The action format is `click[product_id]`.
## Thought Process Template
Structure your reasoning before acting using this template:
**Thought:** [List the user's requirements, evaluate each candidate product against them, explain why the selected product is the best match.]
**Action:** `click[<product_id>]`
## Example
**Instruction:** "i need a portable double horn bluetooth speaker that is easy to carry, and price lower than 50.00 dollars"
**Observation (Search Results):**
- B093C1THVP: "Portable Double Horn Bluetooth Speaker — Compact & Easy to Carry" — $32.99
- B08XYZ1234: "Double Horn Wireless Speaker — Premium Sound" — $55.00
- B07ABC5678: "Mini Portable Bluetooth Speaker" — $19.99
**Thought:** The user needs a portable, double horn bluetooth speaker that is easy to carry, under $50. B093C1THVP at $32.99 matches "portable", "double horn", and "easy to carry" — all keywords present in the title. B08XYZ1234 exceeds the $50 budget. B07ABC5678 is within budget but lacks "double horn". Selecting B093C1THVP as the best match.
**Action:** `click[B093C1THVP]`
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.