scienceworld-circuit-builder
$
npx mdskill add zjunlp/SkillNet/scienceworld-circuit-builderBuild functional circuits to test object conductivity in the workshop.
- Tests electrical conductivity by completing series circuits with batteries and bulbs.
- Requires workshop location, specific components, and inventory management.
- Executes precise connect actions to link power sources to targets.
- Indicates success when the light bulb illuminates during operation.
SKILL.md
.github/skills/scienceworld-circuit-builderView on GitHub ↗
---
name: scienceworld-circuit-builder
description: This skill constructs a simple electrical circuit by connecting components like batteries, wires, and light bulbs. Use when the agent needs to test electrical conductivity or create a functional circuit for an experiment. The input is a set of available components, and the output is a fully connected circuit ready for activation.
---
# Instructions
## 1. Objective
Your goal is to build a functional electrical circuit to test the conductivity of a target object (e.g., a metal pot). The circuit's success is indicated by a light bulb turning on.
## 2. Prerequisites & Setup
* **Location:** You must be in the **workshop**. If not, teleport there.
* **Components:** Ensure the following are present on the table:
* A battery
* A light bulb (e.g., blue light bulb)
* At least two wires (e.g., orange, yellow, green)
* The target object to test (e.g., metal pot)
* A blue box (for conductive objects) and an orange box (for non-conductive objects)
* **Inventory:** The target object must be in your inventory. If not, locate and pick it up.
## 3. Core Procedure
Follow these steps to construct the series circuit. Use the exact `connect` actions as shown.
1. **Place the Target Object:** Drop the target object from your inventory onto the floor of the workshop.
2. **Connect Power Source:**
* `connect battery anode to <Wire1> terminal 1` (e.g., `orange wire`)
* `connect battery cathode to <Wire2> terminal 1` (e.g., `yellow wire`)
3. **Connect Light Bulb:**
* `connect <Wire1> terminal 2 to <LightBulb> cathode` (e.g., `blue light bulb`)
* `connect <Wire3> terminal 2 to anode in <LightBulb>` (e.g., `green wire`)
4. **Integrate Target Object into Circuit:**
* `connect <TargetObject> terminal 1 to <Wire2> terminal 2`
* `connect <TargetObject> terminal 2 to <Wire3> terminal 1`
## 4. Testing & Conclusion
1. **Observe:** After completing the connections, `wait1` for 1-2 iterations.
2. **Check Result:** `look around`. If the light bulb is **on**, the target object is **electrically conductive**.
3. **Final Action:** Based on the result:
* If **conductive**: `move <TargetObject> to blue box`
* If **non-conductive**: `move <TargetObject> to orange box`
## 5. Key Principles
* **Circuit Logic:** This builds a simple series circuit: Battery -> Wire1 -> Light Bulb -> Wire3 -> Target Object -> Wire2 -> Battery.
* **Action Precision:** Use the exact object names and connection points (anode, cathode, terminal 1/2) as observed in the environment.
* **Error Handling:** If a component is missing, examine the room (`look around`) to identify available substitutes before proceeding.
## 6. Example
**Task:** Test whether a metal pot is electrically conductive.
1. `teleport to workshop`
2. `pick up metal pot`
3. `connect battery anode to orange wire terminal 1`
4. `connect battery cathode to yellow wire terminal 1`
5. `connect orange wire terminal 2 to blue light bulb cathode`
6. `connect green wire terminal 2 to anode in blue light bulb`
7. `connect metal pot terminal 1 to yellow wire terminal 2`
8. `connect metal pot terminal 2 to green wire terminal 1`
9. `wait1` — observe if the light bulb turns on
10. Light bulb is on → `move metal pot to blue box` (conductive)
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.