scienceworld-object-selector
$
npx mdskill add zjunlp/SkillNet/scienceworld-object-selectorSelect a specific object from multiple visible candidates by filtering based on type or property.
- Determines the correct item when multiple options exist in the scene.
- Relies on environmental perception to survey and evaluate visible items.
- Filters candidates against specified criteria like object type or function.
- Signals the chosen item's intent using a 'focus on [OBJECT]' action.
SKILL.md
.github/skills/scienceworld-object-selectorView on GitHub ↗
--- name: scienceworld-object-selector description: Use when the agent needs to choose a specific object from multiple candidates in the environment based on task criteria such as object type (non-living thing, electrical component, container), properties, or category. This skill surveys visible objects with "look around", evaluates each against the task requirements, selects the most suitable candidate, and signals intent with "focus on [OBJECT]". --- # Skill: scienceworld-object-selector ## Purpose Identify and select the correct object from visible candidates in the ScienceWorld environment based on task-defined criteria (e.g., "non-living thing", "electrical component", "container"), then signal intent with a `focus on` action. ## When to Use - When a task requires choosing a specific type of object from multiple visible options - When the agent must classify objects by property (living/non-living, material type, function) to select one - When the task instructs finding and interacting with a particular category of object ## Workflow 1. **Survey the environment** -- Use `look around` to list all visible objects in the current location. 2. **Evaluate candidates** -- For each visible object, determine if it matches the task criteria. Exclude target containers (e.g., destination boxes) and fixed furniture from candidates. 3. **Select the best match** -- Choose the first suitable, portable object unless the task specifies a preference (e.g., "largest", "closest"). 4. **Signal intent** -- Execute `focus on [OBJECT]` to confirm selection. 5. **Execute the task action** -- Proceed with the required action (e.g., `pick up`, `move`, `use`). ## Examples ### Example 1: Find a non-living thing and move it **Task:** "Find a non-living thing. First, focus on the thing. Then, move it to the purple box." ``` > look around You see: purple box, table, battery, black wire, blue light bulb, red light bulb, red wire, switch, violet light bulb, yellow wire, ultra low temperature freezer. ``` **Evaluation:** Purple box is the destination. Table and freezer are fixed furniture. Remaining items (battery, wires, bulbs, switch) are all non-living and portable. ``` > focus on black wire You focus on the black wire. > move black wire to purple box You move the black wire to the purple box. ``` ### Example 2: Find an electrical component **Task:** "Find an electrical component and place it on the workbench." ``` > look around You see: workbench, chair, battery, glass cup, red wire, notebook. > focus on battery You focus on the battery. > move battery to workbench You move the battery to the workbench. ``` ## Key Principles - **Exclude destinations** -- Never select the target container or destination as the candidate object. - **Verify if uncertain** -- Use `examine [OBJECT]` for more detail about an object's properties before selecting. - **Task alignment** -- The selection should enable the next action in the task sequence.
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.