Skill: Object Locator for ALFWorld
When to Use
Trigger this skill when:
- Your goal requires a specific object (e.g.,
knife, cellphone, apple)
- The object is not in your inventory
- The current observation does not explicitly state the object's location
Core Workflow
1. Parse the Environment
Extract all visible receptacles from the observation text. Typical ALFWorld receptacles include:
- Surfaces: countertop, desk, dresser, bed, shelf, sidetable, coffeetable, diningtable
- Containers: drawer, cabinet, safe, fridge, microwave, garbagecan
- Appliances: sinkbasin, bathtub, stoveburner, toaster
2. Rank by Likelihood
Use common-sense reasoning to prioritize where the target object is most likely found:
| Object Type |
High-Probability Receptacles |
| Kitchen items (knife, spatula, pan) |
countertop, drawer, diningtable, stoveburner |
| Food (apple, potato, tomato, bread) |
fridge, countertop, diningtable, microwave |
| Bathroom items (sponge, cloth, soap) |
sinkbasin, bathtub, cart, shelf |
| Electronics (cellphone, laptop, remote) |
desk, sidetable, dresser, bed, coffeetable |
| Stationery (pen, pencil, book) |
desk, shelf, drawer, sidetable |
| Lighting (candle, desklamp) |
sidetable, shelf, desk, dresser |
3. Navigate and Search
For each candidate receptacle (in priority order):
go to {receptacle}
- Read the observation — does it mention the target object?
- YES:
take {object} from {receptacle} — object found
- NO: If the receptacle is closed,
open {receptacle} and re-check
- Still NO: Move to the next candidate receptacle
4. Track Searched Locations
Maintain a list of already-searched receptacles to avoid revisiting them. If all high-probability locations are exhausted, expand the search to remaining receptacles.
Example
Task: "Clean the knife and put it in drawer."
Observation: "You are in the middle of a room. Looking quickly around you, you see a countertop 1, a drawer 1, a drawer 2, a fridge 1, a sinkbasin 1, a stoveburner 1."
> go to countertop 1
On the countertop 1, you see a knife 1, a saltshaker 2, a bread 1.
> take knife 1 from countertop 1
You pick up the knife 1 from the countertop 1.
Result: Target object knife 1 located and acquired from countertop 1.
Example — Object not at first location:
> go to countertop 1
On the countertop 1, you see a saltshaker 2, a bread 1.
> go to drawer 1
The drawer 1 is closed.
> open drawer 1
You open the drawer 1. The drawer 1 is open. In it, you see a knife 1.
> take knife 1 from drawer 1
You pick up the knife 1 from the drawer 1.
Error Handling
- Object not found in any receptacle: Re-check closed containers that may not have been opened. Some objects are only visible after opening.
- Multiple instances: If the task requires a specific instance (e.g.,
knife 1 vs knife 2), verify the object identifier matches before taking it.
- "Nothing happened": The
take command may fail if the agent is not at the receptacle. Ensure navigation was successful before attempting to take.
1---2name: alfworld-object-locator3description: Use when the agent needs to find a specific object in ALFWorld that is not currently in inventory and whose location is unknown. This skill parses the environment observation, ranks receptacles by likelihood of containing the target object using common-sense reasoning, and outputs a navigation action to the most promising location.4---5# Skill: Object Locator for ALFWorld67## When to Use8Trigger this skill when:91. Your goal requires a specific object (e.g., `knife`, `cellphone`, `apple`)102. The object is not in your inventory113. The current observation does not explicitly state the object's location1213## Core Workflow1415### 1. Parse the Environment16Extract all visible receptacles from the observation text. Typical ALFWorld receptacles include:17- **Surfaces**: countertop, desk, dresser, bed, shelf, sidetable, coffeetable, diningtable18- **Containers**: drawer, cabinet, safe, fridge, microwave, garbagecan19- **Appliances**: sinkbasin, bathtub, stoveburner, toaster2021### 2. Rank by Likelihood22Use common-sense reasoning to prioritize where the target object is most likely found:2324| Object Type | High-Probability Receptacles |25|-------------|------------------------------|26| Kitchen items (knife, spatula, pan) | countertop, drawer, diningtable, stoveburner |27| Food (apple, potato, tomato, bread) | fridge, countertop, diningtable, microwave |28| Bathroom items (sponge, cloth, soap) | sinkbasin, bathtub, cart, shelf |29| Electronics (cellphone, laptop, remote) | desk, sidetable, dresser, bed, coffeetable |30| Stationery (pen, pencil, book) | desk, shelf, drawer, sidetable |31| Lighting (candle, desklamp) | sidetable, shelf, desk, dresser |3233### 3. Navigate and Search34For each candidate receptacle (in priority order):351. `go to {receptacle}`362. Read the observation — does it mention the target object?37 - **YES**: `take {object} from {receptacle}` — object found38 - **NO**: If the receptacle is closed, `open {receptacle}` and re-check39 - **Still NO**: Move to the next candidate receptacle4041### 4. Track Searched Locations42Maintain a list of already-searched receptacles to avoid revisiting them. If all high-probability locations are exhausted, expand the search to remaining receptacles.4344## Example4546**Task:** "Clean the knife and put it in drawer."47**Observation:** "You are in the middle of a room. Looking quickly around you, you see a countertop 1, a drawer 1, a drawer 2, a fridge 1, a sinkbasin 1, a stoveburner 1."4849```50> go to countertop 151On the countertop 1, you see a knife 1, a saltshaker 2, a bread 1.52> take knife 1 from countertop 153You pick up the knife 1 from the countertop 1.54```5556**Result:** Target object `knife 1` located and acquired from `countertop 1`.5758**Example — Object not at first location:**5960```61> go to countertop 162On the countertop 1, you see a saltshaker 2, a bread 1.63> go to drawer 164The drawer 1 is closed.65> open drawer 166You open the drawer 1. The drawer 1 is open. In it, you see a knife 1.67> take knife 1 from drawer 168You pick up the knife 1 from the drawer 1.69```7071## Error Handling72- **Object not found in any receptacle**: Re-check closed containers that may not have been opened. Some objects are only visible after opening.73- **Multiple instances**: If the task requires a specific instance (e.g., `knife 1` vs `knife 2`), verify the object identifier matches before taking it.74- **"Nothing happened"**: The `take` command may fail if the agent is not at the receptacle. Ensure navigation was successful before attempting to take.