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.