scienceworld-liquid-source-finder
$
npx mdskill add zjunlp/SkillNet/scienceworld-liquid-source-finderLocate liquid sources by systematically surveying rooms.
- Helps agents obtain water when inventory is empty.
- Depends on teleportation and visual scanning tools.
- Prioritizes kitchen and bathroom before other areas.
- Guides agents to the nearest container found.
SKILL.md
.github/skills/scienceworld-liquid-source-finderView on GitHub ↗
---
name: scienceworld-liquid-source-finder
description: This skill searches rooms for a liquid source (e.g., sink, toilet, jug) by sequentially surveying different locations. It should be triggered when the task requires obtaining a liquid (like water) and the agent does not have immediate access to it. The skill involves teleporting to candidate rooms, looking around, and identifying potential sources, guiding the agent toward the nearest available liquid.
---
# Skill: Liquid Source Finder
## When to Use
Activate this skill when your primary task requires a liquid (e.g., water, juice, paint) and you have confirmed it is not present in your current inventory or immediate vicinity.
## Core Procedure
1. **Initiate Search:** If no liquid source is visible, begin a systematic room survey.
2. **Prioritize Rooms:** Teleport to and survey rooms in this order of likelihood:
* **Kitchen** (high priority - contains sink, fridge, cups)
* **Bathroom** (high priority - contains sink, toilet, bathtub)
* **Greenhouse** (medium priority - contains sink, jugs)
* **Workshop** (medium priority - may contain specialized containers)
* **Art Studio** (low priority - may contain paint or water for cleaning)
* **Living Room, Bedroom, Hallway** (low priority - check for any containers)
3. **Survey Each Room:**
* Use `look around` upon arrival.
* Visually scan the observation for liquid sources or containers that might hold liquid (e.g., `sink`, `toilet`, `jug`, `cup`, `bathtub`).
* If a source is found (e.g., a `sink`), proceed to obtain the liquid. If a container is found (e.g., a `jug`), `examine` it or `look at` it to check its contents.
4. **Obtain the Liquid:**
* If the liquid is in a portable container (e.g., `cup containing water`), simply `pick up` the container.
* If the liquid is in a fixed source (e.g., `sink`, `toilet`):
a. Ensure you have an empty container in your inventory. If not, find one (e.g., a `cup`).
b. `move` your container to the source.
c. `activate` the source if necessary (e.g., turn on the sink).
d. `deactivate` the source once done.
e. `pick up` the now-filled container.
5. **Terminate Search:** Once the required liquid is successfully obtained and in your inventory, conclude the skill and return to the main task flow.
## Key Principles
* **Efficiency:** Do not re-survey rooms unnecessarily. Keep mental note of rooms already visited.
* **Container Management:** Always ensure you have a suitable container before attempting to collect liquid from a non-portable source.
* **Observation Parsing:** Focus on object names and their described contents. Look for keywords like `water`, `juice`, or the name of your target liquid, and objects like `sink`, `toilet`, `jug`.
## Quick Reference
**Trigger:** Need liquid, don't have it.
**Action Loop:** Teleport -> `look around` -> Identify source -> Collect.
**Success:** Liquid is in inventory.
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.