webshop-query-parser
$
npx mdskill add zjunlp/SkillNet/webshop-query-parserExtracts shopping constraints to structure product search criteria.
- Converts natural language instructions into actionable search parameters.
- Depends on parse_query.py script for initial query analysis.
- Decides criteria by identifying attributes, prices, and product types.
- Outputs structured data to guide subsequent discovery workflows.
SKILL.md
.github/skills/webshop-query-parserView on GitHub ↗
---
name: webshop-query-parser
description: This skill extracts key constraints and product requirements from a user's shopping query. It should be triggered when the agent receives a new shopping instruction, to identify product attributes (e.g., 'gluten free'), price limits (e.g., 'lower than 140.00 dollars'), and other specifications. The skill outputs a structured set of search criteria to guide subsequent product discovery.
---
# Instructions
## When to Use
Activate this skill immediately when a new shopping instruction is received from the user, before any search or click actions are performed.
## Core Task
Parse the user's natural language instruction to extract structured search criteria. Your goal is to identify:
1. **Product Type/Name:** The primary item the user wants (e.g., "popcorn").
2. **Key Attributes:** Descriptive features like "gluten free", "organic", "vegan", etc.
3. **Price Constraints:** Any upper or lower price limits (e.g., "lower than 140.00 dollars").
4. **Other Specifications:** Brand, size, quantity, or other qualifying terms.
## Procedure
1. **Run the Parser:** Execute the bundled script `parse_query.py` on the user's instruction.
2. **Review & Refine:** Examine the script's output. If the instruction is complex or ambiguous, use your judgment to refine the criteria. For example, ensure price limits are correctly interpreted as numeric ranges.
3. **Formulate Search Strategy:** Use the extracted criteria to plan the initial web search. Combine the **Product Type** with the most critical **Key Attributes** to form effective initial search keywords.
* **Example:** For "i need gluten free popcorn, and price lower than 140.00 dollars", the script will output `{'product': 'popcorn', 'attributes': ['gluten free'], 'price_max': 140.0}`. Your initial search should be `search[gluten free popcorn]`.
## Output
After parsing, hold the structured criteria in memory. Use it to:
* Guide the formulation of `search[keywords]` actions.
* Evaluate product listings and details during `click` actions to check for constraint compliance (especially price).
* Inform your reasoning in the `Thought:` part of your response.
## Notes
* Keep the initial search query concise but precise. Prioritize must-have attributes from the user's instruction.
* The price filter is often not available as a direct web action; you must manually check prices in the search results and product details.
* If the initial search yields no results, consider broadening the search by removing less critical attributes one at a time, but always respect hard constraints like "gluten free" if specified.
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.