home / skills / bdambrosio / cognitive_workbench / nav-approach-wall

This skill helps you advance toward a solid wall using nav conventions and motion tools to achieve stable adjacency.

npx playbooks add skill bdambrosio/cognitive_workbench --skill nav-approach-wall

Review the files below or copy the command above to add this skill to your agents.

Files (2)
Skill.md
1.3 KB
---
name: nav-approach-wall
type: python
description: "Bring the agent into stable adjacency with a solid vertical surface using nav conventions and nav motion tools."
---

# nav-approach-wall

Advance forward until a solid vertical surface is directly ahead (stable adjacency), using nav motion tools and nav conventions.

## Input

- `target`: Integer maximum blocks to advance before giving up (default: `10`)
- `step_duration`: Float seconds per move (default: `0.2`)
- `placement_item`: Item/block name for stabilization (default: `"dirt"`)

## Output

Success (`status: "success"`):
- `value`: Summary text with log
- `extra.outcome`: `"SUCCESS"`
- `extra.log`: List of step descriptions

Failure (`status: "failed"`):
- `value`: Summary text with log
- `extra.outcome`: `"NO_WALL_REACHABLE"` | `"SUPPORT_UNSTABILIZABLE"` | `"FALL_DETECTED"`
- `extra.log`: List of step descriptions

## Behavior

- Observes forward block each loop
- Uses `nav-advance` for motion (verified, snap-to-grid, nav history)
- If support becomes ambiguous, attempts `mc-place-until-supported` then continues

## Planning Notes

- Use before `nav-climb` or other wall-dependent operations
- If `FALL_DETECTED`, treat as safety event and consider `nav-backtrack`

## Example

```json
{"type":"nav-approach-wall","target":10,"out":"$aw"}
```

Overview

This skill brings the agent into stable adjacency with a solid vertical surface using navigation conventions and motion primitives. It advances stepwise, verifies support and forward blocks, and stabilizes the agent if ground becomes ambiguous. The goal is a reliable, repeatable approach before wall-dependent actions like climbing.

How this skill works

Each loop the skill inspects the block directly ahead and uses a verified nav-advance primitive to move one grid step toward the wall. If the forward cell is a solid vertical surface the skill stops with success. If the support beneath the agent becomes ambiguous, it runs a place-until-supported routine to lay down a stabilization block and then continues. The skill records a step-by-step log and emits clear outcomes for success, unreachable walls, support failures, or detected falls.

When to use it

  • Before any wall-dependent operation (e.g., nav-climb) to ensure the agent is adjacent to a surface.
  • When approaching an unknown environment where gaps or ledges may exist.
  • During automated navigation tasks that require deterministic adjacency to vertical blocks.
  • When motion must be snap-to-grid and recorded in nav history for later planning.

Best practices

  • Provide a conservative target distance to avoid excessive searching (default 10).
  • Set step_duration to allow reliable sensing and motion completion on your platform.
  • Choose a placement_item that is readily available and stacks predictable support (default: dirt).
  • Treat FALL_DETECTED as a safety event and trigger a recovery or backtrack routine promptly.
  • Run this skill as part of a layered plan: approach, stabilize, then perform wall-specific actions.

Example use cases

  • Move an agent toward a cliff face until it is directly adjacent for rope- or ladder-based climbing.
  • Approach a building wall to prepare for wall-scanning or surface interaction routines.
  • Safely close distance to a target in a world with intermittent gaps by placing support when needed.
  • Automate repeated approach-and-stabilize steps in a mapping or construction pipeline.

FAQ

What does SUCCESS mean in the outcome?

SUCCESS means the agent reached a position directly adjacent to a solid vertical surface and preserved stable support.

What happens if a fall is detected?

A FALL_DETECTED outcome is reported, the skill aborts, and you should run a recovery or nav-backtrack sequence.