home / skills / bdambrosio / cognitive_workbench / nav-move
This skill executes exactly one forward move relative to facing direction and reports outcome to enable reliable step-by-step navigation.
npx playbooks add skill bdambrosio/cognitive_workbench --skill nav-moveReview the files below or copy the command above to add this skill to your agents.
---
name: nav-move
type: python
description: "Attempt exactly ONE adjacent navigation move forward and report the outcome. Atomic navigation operation suitable for composition."
---
# nav-move
Attempt exactly one adjacent forward move (relative to current facing direction) and report the outcome. Atomic forward navigation primitive.
## Input
- `step_duration`: Float seconds for the move (default: `0.2`)
- `max_abs_delta_y`: Float tolerance for Y noise (default: `0.2`)
## Output
Success (`status: "success"`):
- `value`: Summary text
- `extra.from`: Starting position `{x, y, z}`
- `extra.to`: Ending position `{x, y, z}`
- `extra.delta_y`: Vertical displacement
- `extra.support_here`: Support type at destination
Failure (`status: "failed"`):
- `reason`: One of `"status_failed"`, `"move_failed"`, `"collision"`, `"fell"`, `"observation_failed"`, `"support_ambiguous"`, `"unexpected_vertical_change"`
- `extra.from`, `extra.to`: Positions (if available)
## Behavior
- Automatically aligns agent to block center and cardinal yaw before movement
- Calls bridge `/act/move` once (forward) with collision checking
- Moves forward relative to current facing direction
- Validates landing via `mc-status` + `mc-observe`
- Snaps to block center after any position change
- Updates `world_state("nav")` history
## Alignment
Before movement, agent is automatically aligned:
- Position: Block center (x+0.5, y, z+0.5) - eliminates fractional offsets
- Yaw: Nearest cardinal (0°=South, 90°=West, 180°=North, 270°=East)
- Pitch: 0°
This prevents collisions from fractional offsets and ensures predictable movement direction.
## Planning Notes
- Use for single-step movement with verification
- For multi-step forward motion, prefer `nav-advance`
- If `fell` occurs, treat as safety event and consider `nav-backtrack`
## Examples
```json
{"type":"nav-move","out":"$m1"}
{"type":"nav-move","step_duration":0.25,"out":"$m2"}
```
This skill attempts exactly one adjacent forward move relative to the agent's current facing direction and reports a precise outcome. It is an atomic navigation primitive designed to be composed into larger motion plans. The operation aligns the agent, executes a single forward action, verifies landing, and returns structured success or failure details.
Before moving, the agent snaps to the center of the current block and sets yaw to the nearest cardinal direction and pitch to zero to avoid fractional-offset collisions. The skill calls a single forward move action with collision checking, then validates the result using status and observation checks. It returns structured output describing start/end positions, vertical change, support at the destination, or a specific failure reason.
What exactly does success include?
Success includes a summary text plus extra fields: starting and ending positions, vertical displacement, and detected support at the destination.
What failure reasons should I handle specially?
Treat "fell" as a safety-critical event requiring backtrack or emergency stop. "collision" indicates blocked path; consider clearing or re-planning. "unexpected_vertical_change" and "support_ambiguous" indicate sensing or environment anomalies.
Should I use nav-move for long movements?
No. Use this for single-step atomic moves. For multi-step forward motion, prefer a higher-level primitive designed for advancement and path planning.