alfworld-storage-explorer
$
npx mdskill add zjunlp/SkillNet/alfworld-storage-explorerSystematically search and validate storage locations to find the best spot for an object.
- Resolves placement ambiguity when the target container is unknown or vague.
- Interacts with environmental storage units like drawers and cabinets.
- Assesses suitability by opening, inspecting, and then placing items within containers.
- Returns the best-matched receptacle after a thorough examination process.
SKILL.md
.github/skills/alfworld-storage-explorerView on GitHub ↗
--- name: alfworld-storage-explorer description: Systematically explores storage receptacles (drawers, cabinets, shelves) to find an appropriate placement location for an object. Use when the agent needs to store an item but the exact target receptacle is unknown or ambiguous. Opens, inspects, and closes candidate receptacles to assess suitability, then places the object in the best match. --- # Skill: Storage Explorer ## When to Use Activate this skill when: 1. You have an object that needs to be stored/placed. 2. The exact target receptacle is unspecified or ambiguous. 3. You need to validate if a potential receptacle is appropriate before placing the object. ## Core Strategy 1. **Prioritize Exploration**: When the target location is unclear, systematically check available storage receptacles. 2. **Inspect Before Placing**: Always open and examine a receptacle's contents before deciding to place your object there. 3. **Maintain Environment State**: Close receptacles after inspection unless you're placing the object inside. ## Execution Pattern Follow this decision flow: ### Phase 1: Initial Assessment - Identify all potential storage receptacles in the environment (drawers, cabinets, etc.) - If you already have the target object, proceed to Phase 2 - If you don't have the object, acquire it first (this skill focuses on storage exploration) ### Phase 2: Systematic Exploration For each candidate receptacle: 1. **Navigate** to the receptacle 2. **Open** it (if closed) 3. **Observe** its contents 4. **Evaluate** suitability based on: - Current contents (are similar objects stored here?) - Available space - Logical categorization 5. **Close** the receptacle (unless placing object there) ### Phase 3: Decision Making - If you find a clearly appropriate receptacle (e.g., contains similar objects), place your object there - If no receptacle is clearly appropriate, choose based on: - Empty receptacles first - Proximity to related objects/areas - Consistency with environment patterns ## Key Considerations - **Efficiency**: Don't explore receptacles that are clearly inappropriate (e.g., refrigerator for non-food items) - **Context Clues**: Look for environmental hints about storage organization - **Task Requirements**: Consider if the object needs special conditions (clean, cooled, heated) ## Error Handling - If "Nothing happened" when trying to open/close, the receptacle might be locked or broken - If unable to place object in a receptacle, try alternative locations - If all exploration fails, reconsider your understanding of "appropriate" storage ## Example **Task:** "Put a clean sponge in drawer." **Input:** Holding `sponge 1` (already cleaned). Target type: drawer. **Sequence:** 1. `go to drawer 1` → Observation: "You are at drawer 1." 2. `open drawer 1` → Observation: "You open the drawer 1. The drawer 1 is open. You see nothing." 3. `put sponge 1 in/on drawer 1` → Observation: "You put the sponge 1 in/on the drawer 1." **Output:** The sponge 1 has been stored in drawer 1. Task complete. ## Output Format Maintain the standard action format:
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.