Use when the agent is holding an object and needs to place it into a target receptacle in ALFWorld. This skill checks receptacle suitability, opens closed containers if needed, and executes the `put` command to store the object. It handles both open surfaces (countertops, beds) and closed containers (drawers, cabinets).
Scanned 5/28/2026
Install via CLI
openskills install zjunlp/SkillNet---
name: alfworld-object-storer
description: Use when the agent is holding an object and needs to place it into a target receptacle in ALFWorld. This skill checks receptacle suitability, opens closed containers if needed, and executes the `put` command to store the object. It handles both open surfaces (countertops, beds) and closed containers (drawers, cabinets).
---
# Skill: Object Storer
## When to Use
Trigger this skill when:
1. The agent is holding the target object (optionally cleaned/heated/cooled as required)
2. A suitable storage receptacle has been identified
3. The agent needs to execute the final placement step
## Core Workflow
### 1. Validate Prerequisites
- Confirm the agent is holding `{object_name}` (check inventory)
- Confirm the agent is at the location of `{target_receptacle}`
- If not at the receptacle, navigate there first: `go to {target_receptacle}`
### 2. Check Receptacle State
Evaluate the receptacle before placing:
| Receptacle State | Action |
|-----------------|--------|
| Open and empty/suitable | Proceed with `put` |
| Closed (drawer, cabinet, safe) | `open {target_receptacle}` first, then `put` |
| Unsuitable (wrong type, full) | Abort and search for alternative receptacle |
### 3. Execute Storage
- Run: `put {object_name} in/on {target_receptacle}`
- Check the observation for confirmation
### 4. Verify Placement
- A successful placement updates the receptacle contents in the observation
- If the observation confirms the object is now in/on the receptacle, storage is complete
## Example
**Task:** "Clean the knife and put it in a drawer."
```
> 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 nothing.
> put knife 1 in/on drawer 1
You put the knife 1 in/on the drawer 1.
```
**Result:** `knife 1` is now stored in `drawer 1`. Task complete.
**Example 2 — Open surface:**
```
> go to bed 1
On the bed 1, you see a pillow 1.
> put cellphone 2 in/on bed 1
You put the cellphone 2 in/on the bed 1.
```
## Error Handling
- **"Nothing happened"**: The agent may not be holding the object, or the receptacle name is incorrect. Verify with `inventory` and re-check the receptacle identifier.
- **Receptacle unsuitable**: If the receptacle is not appropriate for the object, search for an alternative using the object-locator skill.
- **Agent not at receptacle**: Navigate to the receptacle with `go to {target_receptacle}` before attempting `put`.
No comments yet. Be the first to comment!