scienceworld-task-parser
$
npx mdskill add zjunlp/SkillNet/scienceworld-task-parserExtracts task requirements and constraints from user instructions.
- Identifies required objects, target locations, and action sequences.
- Depends on ScienceWorld environment context and natural language input.
- Decides plan structure by analyzing verbs and spatial references.
- Outputs a concise thought summarizing the extracted task components.
SKILL.md
.github/skills/scienceworld-task-parserView on GitHub ↗
--- name: scienceworld-task-parser description: Analyzes user instructions in ScienceWorld environments to extract specific task requirements and constraints. Use when receiving a new task to identify required objects, target locations, and action sequences before taking any environment actions. --- # Instructions for ScienceWorld Task Parsing When you receive a new task instruction in a ScienceWorld environment, follow this process to parse it into a structured plan. ## 1. Parse the Instruction Immediately analyze the user's natural language instruction. Extract the following core components: * **Target Object Type:** Identify the category or description of the object to be manipulated (e.g., 'non-living thing', 'liquid', 'electrical component'). * **Target Location:** Identify the final destination for the object, including the room and specific container (e.g., 'purple box in the workshop'). * **Required Actions:** Infer the sequence of actions implied by verbs like "find", "focus on", "move", "pour", "mix", etc. **Output your analysis as a concise thought.** Example: "Task requires finding a non-living object in the workshop and moving it to the purple box." ## 2. Survey the Environment * Use `look around` in your current room to get an inventory of visible objects, containers, and their states. * If the target location is a different room, use `teleport to LOC` to go there first, then `look around`. ## 3. Identify the Target Object * From the room description, identify objects matching the parsed **Target Object Type**. * If multiple candidates exist, select one that is clearly non-living, portable, and not part of a fixed apparatus (e.g., a wire, a light bulb, a battery). Avoid substances like 'air'. * Use `examine OBJ` or `look at OBJ` if you need more detail to confirm an object's properties. ## 4. Execute the Task Sequence 1. **Signal Intent:** Use `focus on OBJ` on the identified target object. This explicitly marks the object for the task. 2. **Perform Core Action:** Execute the primary action from the parsed instruction (e.g., `move OBJ to OBJ`, `pour OBJ into OBJ`). 3. Use `wait` or `wait1` only if necessary to allow for state changes. ## Key Principles * **Efficiency:** All containers are pre-opened. Do not use `open` or `close` unless explicitly required. * **Directness:** Teleport directly to the target room. Do not explore unrelated rooms. * **Clarity:** Structure your internal reasoning using the "Thought:" prefix before each action, as shown in the trajectory. * **Verification:** If an initial `look around` is insufficient, a second `look around` is acceptable to confirm the environment state before proceeding. ## Example **Task instruction:** "Find a non-living thing in the workshop and move it to the purple box." 1. **Parse:** Target = non-living object, Location = workshop, Container = purple box. 2. `teleport to workshop` 3. `look around` — observe: "a battery, a blue light bulb, an orange wire..." 4. Select: battery (non-living, portable). 5. `focus on battery` 6. `move battery to purple box`
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.