.squad/skills/fill-overlap-detection/SKILL.md
# SKILL: Fill-Overlap Detection ## Purpose Detect when RCON `/fill` commands in StructureBuilder silently overwrite blocks placed by earlier fills. Catches the class of bugs where architectural layering isn't properly sequenced. ## When to Use - After adding a new building type - After modifying fill command sequences in any building method - When reviewing structural changes for geometric correctness ## Pattern ```csharp // 1. Parse fill commands into bounding boxes record FillBox(int Min
npx skillsauth add csharpfritz/aspire-minecraft .squad/skills/fill-overlap-detectionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Detect when RCON /fill commands in StructureBuilder silently overwrite blocks placed by earlier fills. Catches the class of bugs where architectural layering isn't properly sequenced.
// 1. Parse fill commands into bounding boxes
record FillBox(int MinX, int MinY, int MinZ, int MaxX, int MaxY, int MaxZ, string Block, string RawCommand);
FillBox? ParseFillCommand(string command)
{
// Parse "fill x1 y1 z1 x2 y2 z2 minecraft:block [modifiers]"
// Normalize min/max coordinates
}
// 2. Check all pairs for overlaps
bool BoxesOverlap(FillBox a, FillBox b)
{
return a.MinX <= b.MaxX && a.MaxX >= b.MinX
&& a.MinY <= b.MaxY && a.MaxY >= b.MinY
&& a.MinZ <= b.MaxZ && a.MaxZ >= b.MinZ;
}
// 3. Filter intentional overlaps
// - Air/cave_air fills (clearing)
// - Hollow fills (shell only)
// - Same block type (redundant)
// - Smaller detail over larger structure
// - Interior furnishing inside wall volumes
// - Same material family upgrades
// - Wool/banner decorative trim
// 4. Assert zero unintentional overlaps
tests/Aspire.Hosting.Minecraft.Worker.Tests/Services/FillOverlapDetectionTests.cs — full implementationBuildAndDetectOverlaps(name, type, grandLayout) — one-line test setupIsIntentionalLayering(earlier, later) — whitelist logicMinecraft building technique deliberately uses architectural layering (fill large region, then overlay details). The test must distinguish between this intentional pattern and actual bugs where a fill silently destroys intended blocks.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
tools
Techniques for visually connecting water bodies (canals, lakes, rivers) in Minecraft
development
# Static Configuration Pattern **Confidence:** low **Source:** earned ## When to Use When a class has compile-time constants (`const`) that need to become runtime-configurable without breaking existing consumers. ## Pattern 1. Convert `const` fields to `static T { get; private set; } = <original value>`. 2. Add a public `Configure*()` method that sets the new values. Call once at startup. 3. Add an `internal static Reset*()` method that restores defaults — needed for test isolation since `p
development
Core conventions and patterns used in the Squad codebase