scienceworld-substance-fetcher
$
npx mdskill add zjunlp/SkillNet/scienceworld-substance-fetcherFetch specific substances from containers across rooms.
- Enables agents to locate and acquire materials like chocolate or chemicals.
- Depends on teleport, look around, pick up, and move actions.
- Scans room descriptions to identify containers holding target items.
- Executes retrieval commands based on object portability and location.
SKILL.md
.github/skills/scienceworld-substance-fetcherView on GitHub ↗
---
name: scienceworld-substance-fetcher
description: Locates and retrieves a target substance or material from a container in the environment. Use this skill when the task requires processing a specific substance (e.g., chocolate, sodium chloride, a chemical) and you need to find and acquire it. Searches rooms and containers (fridge, cupboard, counter) and retrieves the substance via pick up or move actions.
---
# Skill: Substance Fetcher
## Primary Objective
Locate a specified target substance (e.g., `chocolate`, `sodium chloride`) within the environment and retrieve it for subsequent processing.
## Core Logic & Workflow
1. **Identify Target:** The target substance name is provided as part of the task initiation (e.g., "Your task is to measure the melting point of **chocolate**").
2. **Search Strategy:**
* If the current room does not contain the target, use `teleport to [room]` to navigate to likely locations (e.g., `kitchen`, `workshop`, `greenhouse`).
* Use `look around` to survey a room and identify containers.
3. **Locate in Container:**
* Examine open containers (`fridge`, `cupboard`, `counter`, `drawer`) listed in the room description.
* The target substance is often found inside a container (e.g., "In the fridge is: **chocolate**").
4. **Retrieval Action:**
* If the substance is a portable object, use `pick up [substance]`.
* If the substance is inside another object (e.g., in a pot), use `move [substance] to [destination container]` to prepare it for use.
* **Key Assumption:** All containers are already open. Do not use `open` or `close` actions.
## Critical Constraints & Notes
* **Container State:** Assume all containers (fridge, cupboard, drawer) are **already open**. Do not waste actions opening them.
* **Action Efficiency:** Prefer `pick up` for direct acquisition. Use `move` only when necessary to transfer the substance to a specific vessel for an experiment.
* **Verification:** After retrieval, you may use `examine [substance]` or check your inventory to confirm success before proceeding to the next phase of the experiment.
## Example Execution (Based on Trajectory)
**Task Context:** "Your task is to measure the melting point of **chocolate**..."
1. `teleport to kitchen`
2. `look around` *(Observes: "In the fridge is: chocolate...")*
3. `pick up chocolate` or `move chocolate to metal pot`
## Error Handling
* If the substance is not found in the initially suspected room, teleport to and search other relevant rooms (e.g., `workshop` for chemicals, `greenhouse` for plants).
* If the retrieval action fails (e.g., object not found), re-examine the room description with `look around` to confirm the substance's location and container.
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.