name: controlled-waiting description: Executes timed waiting to allow processes like plant growth or pollination to progress. Use this skill when you need to advance time for biological or mechanical processes to reach their next stages. This enables progression in tasks that require temporal development rather than immediate actions.
Skill: Controlled Waiting
Purpose
This skill orchestrates a strategic waiting pattern to allow time-dependent processes (e.g., plant growth, chemical reactions, mechanical cycles) to complete. It is triggered when the agent's primary task is blocked, pending the natural progression of a state.
Core Logic
The skill follows a Monitor-Wait-Check cycle:
- Assess State: Confirm the process requiring time is active (e.g., seeds are planted, device is activated).
- Execute Wait: Use the
waitaction (for long periods) orwait1(for single steps) to advance the simulation. - Verify Progress: After waiting, check the environment (
look aroundorexamine) to see if the target state has been reached. - Repeat or Exit: If the target state is not yet achieved, loop back to step 2. If achieved, exit the skill and resume the main task.
Key Parameters & Decisions
- Wait Duration: Use
wait(10 steps) for significant biological/mechanical stages. Usewait1for fine-grained control or to observe rapid changes. - Monitoring Frequency: The interval between checks. Derived from the trajectory: after 2-3
waitactions, alook aroundis performed. Adjust based on the estimated time of the process. - Exit Condition: Clearly defined by the main task goal (e.g., "banana is present", "device status is 'ready'").
When to Use This Skill
- After initiating a process that has a known or unknown delay.
- When the environment state is stable and no other preparatory actions are possible.
- When prompted by task context (e.g., "give them time to grow", "wait for the reaction to complete").
When NOT to Use This Skill
- When you can perform other productive actions in parallel.
- When the process is instantaneous or requires a specific trigger (e.g., pressing a button).
- If waiting would cause a negative outcome (e.g., a timer expires, an object decays).
Integration with Main Task
This skill is a subroutine. The main task should:
- Set up the necessary conditions for the time-based process.
- Invoke this skill.
- Upon skill completion, verify the outcome and proceed with the next task step (e.g., harvest the grown banana).
Refer to references/botanical_growth_patterns.md for common plant growth stage timings.