home / skills / bdambrosio / cognitive_workbench / mc-place-until-supported

mc-place-until-supported skill

/src/world-tools/minecraft/mc-place-until-supported

This skill places blocks until solid support is observed, absorbing placement uncertainty to ensure reliable footing for safe movement and construction.

npx playbooks add skill bdambrosio/cognitive_workbench --skill mc-place-until-supported

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

Files (2)
Skill.md
2.3 KB
---
name: mc-place-until-supported
type: python
description: "Create reliable footing by placing blocks until observed support becomes provably solid. Absorbs placement uncertainty and never exposes 'accepted but ineffective' outcomes"
---

# Minecraft Place Until Supported Tool

Creates reliable footing by placing blocks until observed support becomes provably solid. Absorbs placement uncertainty and never exposes 'accepted but ineffective' outcomes.

## Purpose

Reliable footing creation for safe movement and construction. Uses observation-verification loop to ensure blocks are actually placed and provide support, handling asynchronous placement uncertainty.

## Input

- `value`: Item/block name (preferred, optional - auto-selects from inventory if not provided)
- `item`: Item/block name (alternative to value, optional)
- `placement_policy`: One of `{"underfoot", "forward-underfoot", "lateral"}` (default: `"underfoot"`)
- `max_attempts`: Integer maximum placement attempts (default: `3`)
- `verify_delay`: Float seconds to wait before re-observation (default: `0.0`)

## Output

Returns uniform_return format with:
- `value`: Text summary with outcome and attempt count
- `data`: Structured data dict (machine-readable). Key fields:
  - `outcome`: `"SUPPORTED"` | `"NO_PLACEABLE_TARGET"` | `"PLACEMENT_IMPOSSIBLE"` | `"INVENTORY_EXHAUSTED"` | `"SUPPORT_AMBIGUOUS"`
  - `attempts_made`: Integer
  - `max_attempts`: Integer
  - `placement_policy`: String
  - `item`: String

## Behavior & Performance

- Observation-verification loop: Places block, observes, verifies support
- Retries up to max_attempts if support not achieved
- Handles asynchronous placement uncertainty
- Auto-selects item from inventory if not specified

## Guidelines

- Use for creating reliable footing before movement
- `SUPPORTED` outcome indicates solid footing achieved
- `NO_PLACEABLE_TARGET` indicates no valid placement location
- `INVENTORY_EXHAUSTED` indicates no more blocks available
- `SUPPORT_AMBIGUOUS` indicates uncertain support state - may need retry

## Usage Examples

Place until supported with defaults:
```json
{"type":"mc-place-until-supported","value":"dirt","placement_policy":"underfoot","max_attempts":3,"out":"$place"}
```

Place forward-underfoot:
```json
{"type":"mc-place-until-supported","item":"cobblestone","placement_policy":"forward-underfoot","out":"$place"}
```

Overview

This skill creates reliable footing by placing blocks until observed support becomes provably solid. It wraps placement actions in an observation-verification loop to absorb asynchronous placement uncertainty and avoid situations where a placement is accepted but ineffective. The skill auto-selects items from inventory if none are specified and reports a machine-readable outcome.

How this skill works

The tool attempts block placement according to a chosen placement_policy, then observes the game state and verifies whether the placed block provides actual support. If support is not confirmed, it retries up to max_attempts, optionally waiting verify_delay seconds between placement and re-observation. It returns a structured result describing outcome, attempts made, and the item used.

When to use it

  • Creating safe footing before stepping or falling-sensitive movement.
  • Bridging small gaps where asynchronous placement may fail intermittently.
  • Automated building routines that require guaranteed support under blocks.
  • Situations where false-positive placement events could cause hazards.

Best practices

  • Choose placement_policy that matches the geometry: underfoot for below player, forward-underfoot for a step ahead, lateral for side placements.
  • Keep max_attempts modest (e.g., 2–5) to balance reliability and speed.
  • Set verify_delay if the server/client shows delayed block state updates.
  • Supply the preferred item when you need a specific block type; otherwise rely on auto-selection.
  • Handle INVENTORY_EXHAUSTED and SUPPORT_AMBIGUOUS outcomes explicitly in calling code.

Example use cases

  • Place dirt underfoot repeatedly until stepping onto a confirmed block before moving forward.
  • Build a one-block-wide safe path across voids using forward-underfoot policy with retries.
  • Ensure scaffolding placement below an automated miner to prevent falls when block placement is laggy.
  • Attempt lateral placements to shore up a ledge where server lag sometimes drops placements.

FAQ

What does SUPPORTED mean?

SUPPORTED means a placed block was observed and verified to provide solid support.

What should I do on INVENTORY_EXHAUSTED?

Stop placement attempts and supply more blocks or switch the item parameter to an available block.

When does SUPPORT_AMBIGUOUS occur?

SUPPORT_AMBIGUOUS occurs when observations are inconclusive about whether placed blocks provide support, often due to timing or client/server desync; increase max_attempts or verify_delay.