place-littleman-rooms

Places and routes Littleman rooms into compact verified .man programs.

1|Updated Jul 30, 2026
One-click install
npx skills add https://github.com/d-experts/public-icfpc-2026 --skill place-littleman-rooms-d-experts
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: place-littleman-rooms
Source: https://github.com/d-experts/public-icfpc-2026/tree/main/member-10/skills/place-littleman-rooms
Command: npx skills add https://github.com/d-experts/public-icfpc-2026 --skill place-littleman-rooms-d-experts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Rearranging Littleman rooms and directed pipes into a smaller .man program footprint is error-prone: pipe capacities, cyclic FIFO state, port identities, and display-side rules must all be preserved while minimizing layout size. This Skill automates that placement, routing, and verification workflow. ## Core Features & Use Cases - Whole-program placement and routing: Accepts an existing .man file or room ASCII plus a directed connection graph, then searches layouts from the strongest lower bound upward to minimize max(width, height) and ticks. - Optimizer integration: Drives the repository's pipeopt and roomopt tools for annealed placement, room-interior optimization, and pipe-only rerouting. - Behavioral validation: Runs lman check and lman test on every candidate and ranks passing candidates with the score_candidates.py script, never trusting structural checks alone. - Use Case: Given a working but oversized .man solution for an ICFPC problem, produce a smaller verified layout that preserves FIFO capacities, Y-runner semantics, and display connections, then report old versus new footprint and tick scores. ## Quick Start Use the place-littleman-rooms skill to compact my solution.man file for the reverse-a-list problem and verify the result with the official lman test command.

Frequently Asked Questions about place-littleman-rooms

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I compact a Littleman .man program layout?▼

Provide the existing .man file and let the skill run lman check to extract rooms, pipes, and ports, then search layouts from the strongest lower bound upward. Candidates are validated with lman test and ranked by score, side, and ticks.

What input formats does Littleman room placement accept?▼

It accepts either an existing valid .man file or loose room ASCII blocks plus a directed connection graph in prose, YAML, or JSON. Missing port locations are treated as movable and omitted non-cyclic pipe capacities default to two cells.

How are cyclic FIFO pipes handled during rerouting?▼

Cyclic and stateful pipes are routed with their required capacity preserved, adding two-cell detours when needed. The skill never shortens a stateful FIFO and asks the user when a cyclic connection's capacity requirement cannot be recovered.

Can roomopt optimize rooms containing Y runners?▼

No, room-interior optimizers are skipped for rooms containing Y unless they explicitly model runner multiplicity. Whole-program placement may still move those rooms unchanged while preserving their two-runner semantics.

Why does the skill rerun lman test after pipeopt succeeds?▼

Optimizer structural checks are not behavioral proof, so every candidate is validated with lman check and lman test against the problem slug. If no test vectors exist, only structural validation is performed and the gap is explicitly reported.