home / skills / bdambrosio / cognitive_workbench / mc-observe-blocks
This skill observes visible non-air blocks within a limited radius and cone to aid navigation and movement planning.
npx playbooks add skill bdambrosio/cognitive_workbench --skill mc-observe-blocksReview the files below or copy the command above to add this skill to your agents.
---
name: mc-observe-blocks
type: python
description: "Visible non-air blocks within radius R (default/max 7). Filtered by forward cone (yaw ±60°, pitch -60..+90) and line-of-sight. Does NOT report items."
---
# Minecraft Observe Blocks Tool
Enumerates all visible non-air blocks within observation radius. Provides structured summary with pose, directional distances, footing, clearance, geometry hints, and movement affordances.
## Purpose
Visible block observation for spatial awareness and movement planning. Returns both human-readable SUMMARY text and machine-readable structured data.
## Input
- `radius`: Optional integer observation radius (default: `7`, max: `7`)
- `blocks_radius`: Optional integer observation radius (default: `7`, max: `7`). If both provided, `blocks_radius` takes precedence.
- `value`: Ignored
## Output
Returns uniform_return format with:
- `value`: Multi-line SUMMARY text (human-readable, ≤ 1024 chars)
- `data`: Structured observation dict (machine-readable). Key fields:
- `success`: boolean
- `pose`: `{x, y, z, yaw, pitch}` (floats)
- `dirs`: Per-direction info (`fwd`, `back`, `left`, `right`, `up`, `down`). Each has `dist` (float | null) and `blk` (string | null)
- `support`: `{here: {type: "solid"|"unsafe", block, depth}, fwd: {type: "solid"|"unsafe", block, depth, forward_block}}`
- `clear`: `{fwd: {body: bool, head: bool}, up: {body: bool, head: bool}}`
- `blocks`: `{seen: [string], fluid: [string], hazard: [string], nearby: [dict]}` (nearby is exhaustive raw list)
- Each entry in `blocks.nearby` includes: `name`, `position`, `dx`, `dy`, `dz`, `surface` (true|false|\"unknown\")
- `nav_surface`: Navigation-first surface samples for nearby cells: list of `{x, z, support_y, support_block, walkable, cover_block, dx, dz}`
- `geom`: `{pit: bool, stair: bool, slope: bool}`
- `aff`: `{step: bool, jump: bool, descend: bool, sky: bool}`
- `conf`: `"high"` | `"med"` | `"low"`
- `note`: string (human-readable summary)
## Behavior & Performance
- Navigation-first: uses a capped forward-cone cell scan with short vertical probes to infer `support_y`/walkable; synthesized `blocks.nearby` is lightweight
- View cone: Only reports blocks within a 120° horizontal cone (yaw ±60°) and vertical range up 60° / down 90° (relative to pitch 0)
- Line-of-sight: Not a rendering-accurate visibility model; tuned for navigation surfaces (non-supporting cover should not hide support)
- Radius limits: Default 7 blocks, maximum 7 blocks
- Confidence levels: `high` (complete, fast), `med` (complete but slow/many blocks), `low` (incomplete observation)
## Guidelines
- Use `mc-observe-items` for dropped item entities (this tool only reports blocks)
- `support.here` and `support.fwd` indicate safe footing for movement planning
- `aff.step`, `aff.jump`, `aff.descend` provide movement affordances
- `conf=low` indicates incomplete observation - may need retry or larger radius
- Raw exhaustive data stored in `data.blocks.nearby` for detailed analysis
## Usage Examples
Standard observation:
```json
{"type":"mc-observe-blocks","out":"$obs"}
```
With custom radius:
```json
{"type":"mc-observe-blocks","radius":5,"out":"$obs"}
```
This skill inspects visible non-air blocks around the agent within a capped radius (default and max 7) and returns both a human-readable summary and a structured observation dictionary. It focuses on navigation-relevant information: pose, per-direction distances, support surfaces, clearance, nearby block list, geometric hints, and movement affordances. It does not report dropped item entities.
The skill performs a cone-limited scan (120° horizontal, +60° up, -90° down) and applies short vertical probes to infer support surfaces and walkability. Results are filtered by a line-of-sight model tuned for navigation (non-supporting cover does not obscure potential support). Output includes a multi-line SUMMARY and a machine-readable data object with pose, per-direction block info, support estimates, clearance checks, nearby raw block entries, navigation surface samples, geometry flags, affordances, and a confidence level.
Does this report dropped items?
No. This tool only reports blocks. Use mc-observe-items to list dropped item entities.
What does conf mean?
conf indicates observation completeness: "high" = complete and fast, "med" = complete but slower, "low" = incomplete and may require retrying or different sensing parameters.
How is support determined?
Support is inferred by short vertical probes and a navigation-first cell scan that estimates support_y, support_block, and walkability for nearby cells; support.here and support.fwd summarize footing for current and forward positions.