alfworld-receptacle-finder
GitHub用于在虚拟环境中寻找合适的容器以存放或放置物品。通过导航和检查候选容器,优先选择空容器,若无则选择逻辑上可容纳物品的容器,最终执行放置操作。
Trigger Scenarios
Install
npx skills add zjunlp/SkillNet --skill alfworld-receptacle-finder -g -y
SKILL.md
Frontmatter
{
"name": "alfworld-receptacle-finder",
"description": "Searches for a suitable empty or appropriately occupied receptacle (like a shelf or table) to place an object. Use when you are holding an object that needs to be stored or placed and must find a receptacle that meets the placement criteria. Examines candidate receptacles by navigating to and inspecting each one until a suitable location is found."
}
Instructions
Trigger: Use this skill when you have an object in your inventory that needs to be stored or placed, and you must find a suitable receptacle (e.g., shelf, table, basin).
Core Procedure
- Identify Target Object: Confirm the object you are holding and its state (e.g.,
soapbar 1,clean). - Survey Environment: Use
go to {recep}actions to navigate to and visually inspect candidate receptacles from the observation list. - Evaluate Candidates: For each receptacle, assess its suitability:
- Primary Goal: Find an empty receptacle.
- Fallback: If no empty receptacle is available, identify one that can logically accommodate the object without conflict (e.g., a shelf with a tissuebox may still have space for a soapbar).
- Select & Place: Navigate to the chosen suitable receptacle and execute
put {obj} in/on {recep}.
Key Considerations
- Object State: Ensure the object meets any required pre-conditions (e.g.,
clean) before searching for a receptacle. Use skills likecleanif necessary. - Efficiency: Prioritize receptacles that are logically appropriate for the object (e.g., a
shelffor asoapbarover atoilet). - Observation Parsing: Carefully read the observation after each
go toaction. The line "On the {recep}, you see..." lists its contents. "you see nothing." indicates it is empty. - Invalid Actions: If an action fails ("Nothing happened"), re-evaluate your target and try a different receptacle or confirm the object is in your inventory.
Example
Scenario: You are holding soapbar 1 (clean) and need to find an empty shelf to place it.
Thought: I need to find an empty shelf for the soapbar. I'll check shelf 1 first.
Action: go to shelf 1
Observation: On the shelf 1, you see a tissuebox 1.
Thought: Shelf 1 has items. Let me try shelf 2.
Action: go to shelf 2
Observation: On the shelf 2, you see nothing.
Action: put soapbar 1 in/on shelf 2
Observation: You put the soapbar 1 in/on the shelf 2.
Result: Found an empty shelf and placed the soapbar on it.
Bundled Reference
For a detailed example including handling object pre-cleaning and sequential shelf evaluation, refer to references/example_trajectory.md.
Version History
- 7bb9a48 Current 2026-07-25 11:52


