alfworld-temperature-regulator
$
npx mdskill add zjunlp/SkillNet/alfworld-temperature-regulatorRegulate an object's temperature by placing it in an appliance for heating or cooling.
- Handles tasks requiring modification of an item's thermal state, like cooling or warming.
- Integrates with environmental objects such as fridges and microwaves for state changes.
- Determines the necessary sequence of actions: pick up, process, and then deposit the item.
- Outputs the object at a specified final location with its temperature property updated.
SKILL.md
.github/skills/alfworld-temperature-regulatorView on GitHub ↗
---
name: alfworld-temperature-regulator
description: Manages the temperature state of an object by placing it into an appropriate appliance (fridge for cooling, microwave for heating). Use when the task requires modifying an object's temperature property, such as "cool some bread" or "heat some food". Takes the object identifier, temperature-modifying receptacle, and final target receptacle as inputs, and outputs the object at the target location with its temperature state changed.
---
# Instructions
This skill executes a sequence to change an object's temperature by placing it in a specific receptacle (e.g., fridge for cooling, microwave for heating) and then relocating it to a final target location.
## 1. Input Validation & Planning
* **Inputs Required:** The `object` identifier (e.g., `bread 1`) and the `temperature_receptacle` identifier (e.g., `fridge 1` for cooling, `microwave 1` for heating). The final `target_receptacle` (e.g., `diningtable 1`) is also required.
* **Verify** the provided object and receptacles exist in the agent's current observation. If not, the agent must first navigate to locate them.
* **Plan** the sequence: Locate object -> Pick up object -> Navigate to temperature receptacle -> Open it (if closed) -> Place object inside -> Close receptacle (optional, based on environment feedback) -> Navigate to target receptacle -> Place object there.
## 2. Execution Sequence
Follow this core logic. Use deterministic scripts for error-prone steps (see `scripts/`).
1. **Acquire Object:** `go to` the object's location, then `take {object} from {recep}`.
2. **Apply Temperature Effect:**
* `go to {temperature_receptacle}`.
* If the receptacle is reported as "closed", `open {temperature_receptacle}`.
* `put {object} in/on {temperature_receptacle}`.
* (Optional) `close {temperature_receptacle}` if the environment or task logic suggests it (e.g., maintaining fridge temperature).
3. **Deliver Object:** `go to {target_receptacle}`, then `put {object} in/on {target_receptacle}`.
## 3. Error Handling & Observations
* If an action results in "Nothing happened", consult the troubleshooting guide in `references/troubleshooting.md`.
* Always verify the state change after each action (e.g., "You pick up...", "You open...", "You put...").
* If the object is not at the expected location, pause execution and re-scan the environment.
## 4. Example
**Task:** "Cool some bread and put it on the diningtable."
**Input:** `object: bread 1`, `temperature_receptacle: fridge 1`, `target_receptacle: diningtable 1`
**Sequence:**
1. `go to countertop 1` → Observation: "You are at countertop 1. You see bread 1, ..."
2. `take bread 1 from countertop 1` → Observation: "You pick up the bread 1 from the countertop 1."
3. `go to fridge 1` → Observation: "You are at fridge 1."
4. `cool bread 1 with fridge 1` → Observation: "You cool the bread 1 using the fridge 1."
5. `go to diningtable 1` → Observation: "You are at diningtable 1."
6. `put bread 1 in/on diningtable 1` → Observation: "You put the bread 1 in/on the diningtable 1."
**Output:** The bread 1 is cooled and placed on the diningtable 1. Task complete.
## 5. Completion
The skill is complete when the object has been placed into the `temperature_receptacle` and subsequently placed onto the `target_receptacle`. Confirm the final observation states the object is on the target.
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.