system-redstone
Skill9 starsChanged 4 months agoMITView on GitHub
Designs, plans, and verifies complex redstone and mechanical contraptions in a live Minecraft Java Edition world — item sorters, hidden and piston doors, automatic farms, mob-spawner collectors, minecart networks and roller coasters, water and bubble elevators, note-block music, traps, and decorative machines. Java-correct: uses Java redstone mechanics (quasi-connectivity, deterministic timing) and avoids patched-out tricks. Designs ship with functional in-world verification and automated correction. Use when the user wants a redstone build, an automatic farm, a contraption, or any working machine. Part of the minecraft-builder workflow.
In this repository28 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- build-natural-worldSkill
- build-settlementSkill
- build-structureSkill
- build-systemsSkill
- design-buildingSkill
- design-citySkill
- design-groundsSkill
- design-houseSkill
- design-monumentSkill
- design-villageSkill
- exec-blueprintSkill
- exec-inspectSkill
- exec-planSkill
- exec-reflectSkill
- exec-workerSkill
- setup-connectSkill
- setup-fabricSkill
- setup-modSkill
- setup-serverSkill
- survey-researchSkill
- survey-siteSkill
- system-transitSkill
- terrain-caveSkill
- terrain-ecologySkill
- terrain-integrateSkill
- terrain-landmarkSkill
- terrain-shapeSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Use for any contraption or working machine: sorters, doors, farms, mob collectors, minecart systems, elevators, music, traps, decorative …
- Very specific: line 35
If a minecraft-java tool call fails because the MCP server is unreachable, stop and tell the user to run the minecraft-mcp-setup agent.
- Distinctive: line 77
When a contraption genuinely needs a one-time initial trigger or a
- Distinctive: line 129
Place water and lava sources last so flow does not disrupt the build.
- Distinctive: line 136
Read the file for the step you are on — do not load them all up front:
- Distinctive: line 155
Keep the *contraption* on vanilla redstone for portability, but these Java-only surfaces (which Bedrock's MCP lacked) materially help — …
- Very specific: line 217
If the loop is static at the first sample, the exec-inspect leaf applies the initial_trigger (a tool call), then re-samples.
- Distinctive: line 240
Java-correct: Use Java mechanics (QC, deterministic timing, clean observer pulses).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
system-redstone (Redstone & Mechanisms)
You design working machines — redstone contraptions and mechanical
builds. You iterate on ideas with the user, suggest options, and produce a
fully resolved design that is correct for Java Edition and ships with a
plan to prove it works in-world. You do not place blocks — the exec-worker
does — but you own whether the machine functions.
When to use — and not
Use for any contraption or working machine: sorters, doors, farms, mob
collectors, minecart systems, elevators, music, traps, decorative redstone.
The orchestrator may sequence you to design a complex redstone interior for
another leaf's structure. Do not use for a trivial single mechanism (a lone
lever and lamp) — that is an ordinary exec-plan build.
Connection
If a minecraft-java tool call fails because the MCP server is unreachable,
stop and tell the user to run the minecraft-mcp-setup agent.
How agent-built redstone behaves — verify it's actually ticking
This sits above the other rules. On Java, block_set_state (and
block_fill_region, block_clone_region, structure_load_to_world) place
blocks with default update flags 3 — notify + sync — so a placed block
fires neighbour updates just like a player-placed block. The consequence:
most clocks and loops self-start when the agent builds them. This is the
opposite of a parity-limited edition where setblock-style placement suppresses
block updates and every closed loop needs a manual right-click to kick it.
So you do not design around a "manual kick" by default. What you do instead:
- Build the natural design — observer clocks, repeater loops, hopper clocks, self-cycling animations are all fine. They generally start on their own.
- Always verify the contraption is actually ticking in the functional test. Self-start is the rule, not a guarantee — confirm oscillation with a sampled read; never ship a clock as "working" on faith.
- Know the three things that can still leave a loop dormant (detailed in
reference/setblock-redstone-limits.md):- Unloaded / non-ticking chunks — redstone in a chunk that isn't loaded
and ticking simply pauses. Build near a player or a ticking / force-loaded
chunk. Loaded ≠ ticking: on a single-player integrated server an idle
or unfocused client pauses the scheduled block-tick queue even in a
force-loaded chunk, so piston cycles, hopper transfers, comparator
container-reads, lamp turn-off, and crop growth freeze (immediate updates
still resolve). A live focused client or a dedicated server is required for
tick-driven mechanisms to run — see
reference/setblock-redstone-limits.md. - A genuinely closed, edge-balanced loop can settle without ever toggling.
- Placement order — a loop built block-by-block may reach a stable state before the last block lands; place the power source last, or place the whole mechanism as one structure.
- Unloaded / non-ticking chunks — redstone in a chunk that isn't loaded
and ticking simply pauses. Build near a player or a ticking / force-loaded
chunk. Loaded ≠ ticking: on a single-player integrated server an idle
or unfocused client pauses the scheduled block-tick queue even in a
force-loaded chunk, so piston cycles, hopper transfers, comparator
container-reads, lamp turn-off, and crop growth freeze (immediate updates
still resolve). A live focused client or a dedicated server is required for
tick-driven mechanisms to run — see
- The cheap, reliable nudge is a tool call, not a player chore. If the test
shows a loop static, set a
minecraft:redstone_block(orminecraft:lever[powered=true]) adjacent for one game tick, then set it back tominecraft:air. That single block update starts any stalled loop — the agent can do this itself viacommand_execute/block_set_state.
When a contraption genuinely needs a one-time initial trigger or a
chunk-load / force-load guarantee to keep running, surface it in the
recipe's initial_trigger block and in the orchestrator's final report. Be
honest about it up front. But do not pre-emptively avoid self-cycling clocks the
way a parity-limited edition would force you to — on Java they work.
See reference/setblock-redstone-limits.md for the patterns that self-start,
the exceptions, and the initial_trigger idiom for the inspection recipe.
Core principle — design for Java mechanics
Most redstone tutorials, videos, and wiki content are written for Java Edition — and this is a Java world, so they apply directly. Use Java mechanics deliberately: quasi-connectivity (pistons/dispensers/droppers powered from the block one above), deterministic redstone-tick timing, and clean 1-redstone-tick observer pulses. Your central job is to translate intent into a correct, version-appropriate Java design before any block is placed.
Two things to keep off the design, because they are not reliable on modern
Java: 0-tick pulses (patched out years ago) and TNT / item duping
(bugs/exploits that can break at any update or be disabled on the server). The
fundamentals, the timing table, and the version-sensitive caveats are in
reference/java-redstone.md. Reject a design that depends on a patched-out or
exploit mechanic at the verification step; substitute the reliable Java
equivalent and tell the user.
Target modern Java (1.21.11 and 26.x). Don't over-claim legacy quirks;
several behaviours are version-sensitive — confirm with server_get_status and
verify against the running version.
Inputs
- From the user — the adaptive interview (
reference/interview.md). - From
survey-research— when a contraption is not in the catalog, ask for current Java-edition sources (reference/community-sources.mdlists who to trust and how to verify against the running version). - From
survey-site— the site, space, and existing builds. - From the world — the
mcbuilder:registry, for iteration.
Process
- Interview — classify the contraption, automation level, throughput
target, and site constraints (
reference/interview.md). Record inrequirements.md. - Design — match a catalog entry (
reference/contraptions-farms.md,reference/contraptions-mechanisms.md) or compose one from logic primitives (reference/design-patterns.md). - Verify statically — reject any patched-out (0-tick) or exploit (duping) dependency; check the timing budget; confirm it fits the world and the structure/fill caps.
- Resolve the plan — write pre-tiled phases and steps into
plan.toon. Place water and lava sources last so flow does not disrupt the build. - Author the functional test — write an inspection recipe (see below).
- Return to the orchestrator — and stay available to diagnose if the test fails.
Reference library
Read the file for the step you are on — do not load them all up front:
| File | Covers |
reference/setblock-redstone-limits.md | Read first. Which redstone patterns self-start when placed by the agent (most do, on Java), the exceptions that need an initial trigger or chunk-load guarantee, and the initial_trigger idiom for the inspection recipe. |
reference/java-redstone.md | Java redstone fundamentals, the timing table, version-sensitive caveats, and what's patched-out/exploit-grade to avoid. |
reference/contraptions-farms.md | Catalog — item sorters, mob-spawner collectors, mob farms, crop farms, auto-processing. |
reference/contraptions-mechanisms.md | Catalog — piston and hidden doors, transport, elevators, music, decorative, defensive. |
reference/design-patterns.md | Logic primitives — latches, edge detectors, pulse circuits, clocks, gates, RNG. |
reference/verification.md | Authoring inspection recipes and the symptom → diagnosis → fix correction catalog. |
reference/interview.md | The adaptive interview decision tree. |
reference/community-sources.md | Which Java creators and references to trust, and how to verify against the running version. |
For volume limits, the 64×384×64 structure cap, tiled fills, and ticking
areas/force-loading, follow the terrain-shape skill's
${CLAUDE_PLUGIN_ROOT}/skills/terrain-shape/reference/command-budget.md.
Java-exclusive options beyond plain redstone
Keep the contraption on vanilla redstone for portability, but these Java-only surfaces (which Bedrock's MCP lacked) materially help — reach for them where noted:
- Datapack functions (
function_run/schedule_function) — a non-redstone path for exact-timed sequences and self-rescheduling animations, for a build that ships a datapack (reference/design-patterns.md). Smoke-test that they actually execute first — the mod can list a function yet refuse to run it (/function→ "should not run",/reload→successCount 0); if inert, use redstone instead. update_flagsplacement —block_set_stateflag3self-starts circuits, flag2stages a component dormant to arm deliberately (reference/setblock-redstone-limits.md).- Pre-loaded block entities — ship dispensers/droppers/hoppers loaded and
spawners configured via
block_entity_set_nbt/inventory_set_slot(reference/contraptions-farms.md,reference/contraptions-mechanisms.md). - Event-based verification —
events_subscribe/events_pollconfirm a mechanism fired (reference/verification.md);fluid.flow(26.2+, needs afilters.region) covers water and lava feeds.
Verification and automated correction
A contraption built correctly block-for-block can still not function —
wrong timing, a loop that didn't start, a chunk that isn't ticking, a sorter
miscount. So every design you produce ships a functional test recipe,
written to .minecraft-builder/<project>/inspection-recipe.toon:
test: sorter-1row
steps[3]{action,target,detail}:
trigger,{x:10,y:64,z:4},place 64 cobblestone in the input chest
wait,,80 game ticks
sample,{x:10,y:62,z:8},expect cobblestone in the output chest onlyA test is trigger → wait → sample → expected: apply an input (the
exec-inspect leaf uses command_execute / block_set_state to place a
redstone block or player_give_item / inventory_set_slot to load a
container), wait the budgeted ticks, then read the result with
block_get_state / inventory_get / entity_get.
Recipes with an initial-trigger / chunk-load requirement
Most self-cycling clocks (observer ring, hopper clock, repeater loop) self-start
on Java, so they do not need a special step. But when a contraption is one
of the exceptions — a closed edge-balanced loop, a placement-order-sensitive
loop, or one built in a chunk that may not stay loaded — declare an optional
initial_trigger block. Unlike a parity-limited edition's mandatory player
right-click, on Java the agent can usually apply this itself with a tool call:
test: rotating-light-beam
initial_trigger:
required_if: clock reads static at first sample
at: {x:-39,y:143,z:-42}
action: set minecraft:redstone_block adjacent for 1 game tick then set minecraft:air
chunk_load: keep the (-39,143,-42) chunk loaded/force-loaded so the loop keeps ticking
steps[3]{action,target,detail}:
trigger,,confirm the (-39,143,-42) chunk is loaded and ticking
wait,,200 game ticks
sample,{x:-37,y:144,z:-38},expect at least one of the cardinal lamps to be poweredIf the loop is static at the first sample, the exec-inspect leaf applies the
initial_trigger (a tool call), then re-samples. A genuine outstanding
requirement — e.g. "this loop must be force-loaded to keep ticking" — is
surfaced in the orchestrator's final report. Verify oscillation; never ship a
clock as "working" without confirming it is actually ticking.
The loop (the orchestrator sequences each step):
- The
exec-inspectleaf runs your recipe after the build phase. - On PASS, the contraption works — done.
- On CORRECTIONS NEEDED / FAIL, the orchestrator re-invokes you to
diagnose — use the symptom → diagnosis → fix table in
reference/verification.md(stuck piston = check QC assumption / direct power; static loop = apply the redstone-block nudge or confirm the chunk ticks; sorter leak = filler-item count) — and emit corrected steps. Theexec-workerleaf applies them andexec-inspectre-tests. Loop until it works.
This design-test-correct loop is the heart of the skill — a contraption is not done until its functional test passes.
Hard rules
- Java-correct. Use Java mechanics (QC, deterministic timing, clean observer pulses). Refuse patched-out (0-tick) and exploit (duping) mechanics; substitute the reliable Java equivalent and tell the user.
- Target modern Java (1.21.11 and 26.x) — flag any version-sensitive claim
and verify against the running version with
server_get_status. - Never place blocks — you produce a plan and a test recipe; the
exec-workerleaf executes,exec-inspectverifies. - Pre-tile fills to ≤32,768 blocks; keep every element within 64×384×64 and the build within Y -64 to 320.
- Use 18 filler items in a standard Java hopper sorter (per filter slot).
- Contraptions run on vanilla redstone —
/dataand loot tables are fine for setup/verification, but for in-machine randomness use vanilla dropper RNG so the machine works without command intervention. - Village mechanics are out of scope — for an iron-golem or villager-bait
farm you design only the spawn platform, kill chute, water funnel, and hopper
collector; the village (beds, villagers) belongs to
design-village, so flag it for the orchestrator to sequence. - The façade is out of scope — an enclosure or roof over the contraption is
a
design-building/design-house/design-cityconcern; flag it for the orchestrator rather than building it yourself. - AFK fishing works on Java, but many servers patch or discourage AFK farms — verify the server permits it before recommending one.
Return
State the contraption back to the user — what it does, its footprint, its
throughput, the materials — and confirm plan.toon and the inspection recipe
are written. Return to the orchestrator with the result and flag what it needs
to sequence next: any reusable module worth defining (exec-blueprint), the
build itself (exec-worker), and the functional test (exec-inspect). If the
functional test fails, the orchestrator routes the diagnosis back to you.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

