scienceworld-threshold-evaluator

$npx mdskill add zjunlp/SkillNet/scienceworld-threshold-evaluator

Compare 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