scienceworld-conditional-placer

$npx mdskill add zjunlp/SkillNet/scienceworld-conditional-placer

Sort objects into containers using measured conditions like temperature.

  • Enables sorting tasks requiring conditional logic based on sensor data.
  • Integrates with navigation and object manipulation tools for physical tasks.
  • Decides placement by comparing measured values against predefined thresholds.
  • Delivers results by moving the target object to the correct container.
SKILL.md
.github/skills/scienceworld-conditional-placerView on GitHub ↗
---
name: scienceworld-conditional-placer
description: Places an object into one of several designated containers based on a measured condition, such as a temperature threshold. Use this skill when you have completed a measurement or assessment and the task requires sorting or storing the object into one of multiple containers according to a rule (e.g., "if temperature > X, place in container A; otherwise container B").
---
# Skill: Conditional Object Placer

## Purpose
Place a target object into the correct container based on a measured condition (e.g., temperature threshold, conductivity result). This skill executes the full measure-then-sort workflow.

## Core Workflow
1. **Locate & Acquire Measurement Tool:** `teleport to LOC` then `pick up` the measurement device (e.g., thermometer).
2. **Locate & Acquire Target Object:** `teleport to LOC` then `pick up` the object to be measured (e.g., metal fork).
3. **Identify Target Containers:** Use `look around` to find the designated containers (e.g., blue box, orange box).
4. **Perform Measurement:** `use OBJ on OBJ` (e.g., `use thermometer on metal fork`) to obtain the value.
5. **Evaluate Condition & Place:** Compare the measured value against the threshold, then `move OBJ to OBJ` to place the object in the correct container.

## Key Actions
| Action | Purpose |
|--------|---------|
| `teleport to LOC` | Navigate between rooms |
| `look around` | Survey a room for objects |
| `pick up OBJ` | Acquire tools or target object |
| `use OBJ on OBJ` | Perform measurement |
| `move OBJ to OBJ` | Place object into selected container |

## Example
**Task:** "Measure the temperature of the metal fork. If above 50C, place in the orange box. Otherwise, place in the blue box."

1. `teleport to kitchen`
2. `look around` — find thermometer and metal fork
3. `pick up thermometer`
4. `pick up metal fork`
5. `use thermometer on metal fork` — reads 72 degrees
6. 72 > 50, so: `move metal fork to orange box`

## Important Notes
* All containers are pre-opened. Do not use `open` or `close` actions.
* The measurement tool and target object must be picked up and used from inventory.
* Room names, object names, thresholds, and container names vary per task — adapt accordingly.
More from zjunlp/SkillNet