scienceworld-threshold-evaluator
$
npx mdskill add zjunlp/SkillNet/scienceworld-threshold-evaluatorCompare measurements against thresholds to trigger binary actions.
- Enables conditional logic for sorting objects by physical properties.
- Relies on numerical inputs and predefined comparison operators.
- Decides execution by evaluating measured values against set limits.
- Outputs the specific branch action required by the workflow.
SKILL.md
.github/skills/scienceworld-threshold-evaluatorView on GitHub ↗
---
name: scienceworld-threshold-evaluator
description: Use when the agent has just obtained a numerical measurement (temperature, weight, pH) and must compare it against a predefined threshold to determine a binary outcome. This skill extracts the measured value, evaluates it against the threshold condition (above/below), and executes the corresponding branch action such as classification or placement.
---
# Skill: scienceworld-threshold-evaluator
## Purpose
Compare a measured numerical value against a predefined threshold to determine which of two conditional actions to execute. This is the decision-making step that immediately follows a measurement in ScienceWorld experimental workflows.
## When to Use
- Immediately after obtaining a numerical measurement (e.g., temperature reading from a thermometer)
- When the task includes a conditional instruction like "if above X, do A; if below X, do B"
- When classifying or sorting objects based on measured properties
## Workflow
1. **Extract the measurement** -- Parse the numerical value from the observation (e.g., `"the thermometer measures a temperature of 56 degrees celsius"` yields `56`).
2. **Identify the threshold and condition** -- From the task instruction, determine the threshold value and comparison operator (e.g., `"above 50.0 degrees"` means `threshold=50.0`, `operator=">"`).
3. **Evaluate the comparison** -- Compare: `measured_value > threshold` or `measured_value < threshold`.
4. **Execute the correct branch** -- Perform the action specified for the satisfied condition.
## Examples
### Example 1: Temperature-based classification
**Task:** "Measure the temperature. If above 50.0 degrees, move to the orange box. If below 50.0 degrees, move to the blue box."
```
> use thermometer on unknown substance B
The thermometer measures a temperature of 56 degrees celsius.
```
**Evaluation:** 56 > 50.0 is TRUE, so execute the "above" branch.
```
> move unknown substance B to orange box
You move the unknown substance B to the orange box.
```
### Example 2: Weight-based sorting
**Task:** "If the object weighs more than 200 grams, place in the red bin. Otherwise, place in the green bin."
```
> use scale on rock sample
The scale measures a weight of 145 grams.
```
**Evaluation:** 145 > 200 is FALSE, so execute the "otherwise" branch.
```
> move rock sample to green bin
You move the rock sample to the green bin.
```
## Key Principles
- **Immediate execution** -- Do not perform other actions between obtaining the measurement and evaluating the threshold.
- **Precision** -- Use the exact numerical value from the observation; do not estimate or round.
- **Binary decision** -- The outcome is strictly one of two paths. If the measurement equals the threshold, re-examine the instruction for boundary guidance ("above" typically means `>`, not `>=`).
## Common Pitfalls
- **Incorrect branching** -- Executing the action for the opposite condition (e.g., blue box when value is above threshold).
- **Premature evaluation** -- Attempting to evaluate before the measurement is complete and valid.
- **Action confusion** -- Targeting the wrong object in the post-evaluation action.
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.