scienceworld-target-identifier
$
npx mdskill add zjunlp/SkillNet/scienceworld-target-identifierFilter raw room observations to pinpoint specific object types after exploring an area.
- Locates items matching a description, like 'living thing', from textual room reports.
- Processes raw observation text from environmental look-around actions.
- Applies a classification script to filter and prioritize candidate items found.
- Returns a structured list of potential objects with their locations for subsequent actions.
SKILL.md
.github/skills/scienceworld-target-identifierView on GitHub ↗
--- name: scienceworld-target-identifier description: Analyzes room observations to identify objects matching a given target description (e.g., 'living thing'). Triggered after exploring a room when the agent needs to locate a specific type of item. Processes the observation list, filters objects based on target criteria, and returns candidate objects for further action. --- # Skill: Target Object Identifier ## Purpose This skill enables you to systematically locate objects in the ScienceWorld environment that match a specific target description (e.g., "living thing", "container", "electrical device"). It transforms the raw observation text from `look around` into a structured list of candidate objects for your current task. ## When to Use 1. **Trigger Condition**: Immediately after executing `look around` in any room. 2. **Input Required**: The full observation text from `look around` AND the target description from your task. 3. **Output**: A prioritized list of matching objects with their locations and properties. ## Execution Workflow ### Step 1: Parse Observation Extract all observable items from the room description. Pay special attention to: - Objects listed after "Here you see:" - Objects in containers (marked with "containing" or "On the X is:") - Substances (marked as "a substance called") - Living vs. non-living distinctions ### Step 2: Apply Target Filter Use the bundled classification script to filter objects based on the target description: - For "living thing": Include animals, plants, eggs, and biological organisms - For specific categories: Match against known object taxonomies - For generic descriptions: Use semantic similarity matching ### Step 3: Prioritize Candidates Rank candidates by: 1. **Accessibility**: Objects not in closed containers first 2. **Proximity**: Objects in current room before other locations 3. **Task Relevance**: Objects matching secondary task criteria (e.g., "easy to transport") ### Step 4: Generate Action Plan For each high-priority candidate: 1. Note its exact name as it appears in observations 2. Determine if `pick up`, `focus on`, or other preliminary action is needed 3. Plan path to target location if specified in task ## Key Considerations - **Exact Object Names**: Use the exact phrasing from observations (e.g., "turtle egg" not "egg turtle") - **Container States**: All containers are open per environment rules - **Teleportation**: You can instantly move between rooms when searching - **Multiple Matches**: If multiple objects match, select based on task context (e.g., choose less mobile items for transport tasks) ## Error Handling - If no matches found: Teleport to another room and repeat - If ambiguous matches: Use `examine OBJ` for clarification - If classification uncertain: Check reference taxonomy in bundled resources ## Example Application *Task*: "Find a living thing and move it to the blue box in bathroom" 1. `look around` in current room 2. Run this skill with target="living thing" 3. Receive list: ["baby wolf", "turtle egg", "crocodile egg"] 4. Select "turtle egg" (easier to transport) 5. `focus on turtle egg` → `pick up turtle egg` → `teleport to bathroom` → `move turtle egg to blue 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.