alfworld-receptacle-searcher
$
npx mdskill add zjunlp/SkillNet/alfworld-receptacle-searcherLocate hidden receptacles by systematic environmental exploration.
- Enables agents to find specific containers when initial scans fail.
- Depends on navigation actions and environmental observation data.
- Prioritizes common receptacle locations before executing deep searches.
- Outputs precise coordinates and navigational paths to the target.
SKILL.md
.github/skills/alfworld-receptacle-searcherView on GitHub ↗
---
name: alfworld-receptacle-searcher
description: This skill searches for a specific receptacle (e.g., garbage can, cabinet) by systematically exploring the environment, checking multiple locations until found. Trigger when the target receptacle is not initially visible, often after scanning nearby areas. It outputs the receptacle's location and may involve navigating through multiple waypoints.
---
# Instructions
## When to Use
Use this skill when you need to locate a specific receptacle (e.g., `garbagecan 1`, `cabinet 3`) that is not immediately visible in your current observation. The skill is triggered after an initial scan of nearby areas fails to reveal the target.
## Core Procedure
1. **Identify Target**: Confirm the exact name of the receptacle you need to find (e.g., from the task: "put a cool lettuce in garbagecan" -> target is `garbagecan 1`).
2. **Initial Check**: Quickly examine the most common or nearby receptacles mentioned in the initial observation (e.g., countertops, tables, open cabinets).
3. **Systematic Search**: If not found, begin a systematic exploration:
- Use the `go to {recep}` action to navigate to candidate locations.
- Prioritize receptacles that are typically in the environment (cabinets, countertops, tables).
- If a candidate is closed (e.g., "The cabinet 2 is closed."), you may skip opening it unless the target could logically be inside. The trajectory shows that the target receptacle (`garbagecan 1`) was not inside any closed cabinet.
4. **Persistence**: Continue the search until the target is found. The trajectory demonstrates checking 20 cabinets before finally locating the garbage can.
5. **Output**: Once found, note the receptacle's location and state (e.g., "On the garbagecan 1, you see nothing."). You are now ready to use this receptacle for the next task action (e.g., `put lettuce 1 in/on garbagecan 1`).
## Key Notes
- **Efficiency**: The search pattern in the trajectory was exhaustive (checking all cabinets 1-20). In practice, you might infer likely locations based on receptacle type (e.g., a garbage can is often standalone, not inside a cabinet).
- **Error Handling**: If an action returns "Nothing happened", the receptacle may not be accessible or may require a different approach (e.g., opening first).
- **Integration**: This skill outputs the found receptacle's identifier. It does not perform the final task action (e.g., putting an item in the receptacle); that is handled by the main task orchestration.
## Example from Trajectory
**Goal**: Find `garbagecan 1`.
**Process**:
1. Checked `countertop 1`, `diningtable 1`, `diningtable 2` (not found).
2. Systematically went to `cabinet 1` through `cabinet 20` (all closed, not found).
3. Finally went directly to `garbagecan 1` (found).
**Output**: Location of `garbagecan 1` confirmed.
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.