Coding

Structs Power

Try it

Manages power infrastructure in Structs. Covers substations, allocations, player connections, and power monitoring. Use when power is low or overloaded, crea...

What it does

**Important**: Entity IDs containing dashes (like , ) are misinterpreted as flags by the CLI parser. All transaction commands in this skill use before positional arguments to prevent this.

The skill document

Structs Power

Important: Entity IDs containing dashes (like 3-1, 4-5) are misinterpreted as flags by the CLI parser. All transaction commands in this skill use -- before positional arguments to prevent this.

Safety

Power operations cascade. Deleting an allocation can take an entire substation's worth of players offline. See SAFETY.md for the trust contract; in this skill:

  • allocation-delete (Tier 2 — cascade) — "Power stops flowing immediately. Substations downstream lose capacity; their players may go offline mid-build, mid-mine, mid-fight."
  • substation-delete (Tier 2 — cascade) — "Disconnect allocations and players first. A failed delete still leaves the substation in an awkward state."
  • substation-player-disconnect (Tier 1) — "You may take another player offline. If they're mid-compute, the auto-submit will fail. Coordinate before disconnecting."
  • substation-player-migrate (Tier 1, Tier 2 if multiple players) — "Bulk move. Confirm every player in the list belongs in the new substation."
  • allocation-create, substation-create (Tier 1) — routine; surface source, power amount, controller.

Procedure

  1. Assess power state — Query player: structsd query structs player [id]. Compute: availablePower = (capacity + capacitySecondary) - (load + structsLoad). If load + structsLoad > capacity + capacitySecondary, player goes OFFLINE (cannot act). Player passive draw: 25,000 mW.
  2. Create substation — First create allocation from reactor/generator: structsd tx structs allocation-create --allocation-type static|dynamic|automated|provider-agreement TX_FLAGS -- [source-id] [power]. The --controller flag accepts a PlayerId (e.g., 1-42). If omitted, the creating player is the default controller. Then: structsd tx structs substation-create TX_FLAGS -- [owner-id] [allocation-id].
  3. Connect power — structsd tx structs substation-allocation-connect -- [substation-id] [allocation-id] to add source. structsd tx structs substation-allocation-disconnect -- [substation-id] [allocation-id] to remove.
  4. Connect players — structsd tx structs substation-player-connect -- [substation-id] [player-id] to draw power. structsd tx structs substation-player-disconnect -- [substation-id] [player-id] to remove.
  5. Migrate players — structsd tx structs substation-player-migrate TX_FLAGS -- [source-substation-id] [dest-substation-id] [player-id,player-id2,...].
  6. Manage allocations — Update: structsd tx structs allocation-update -- [allocation-id] [new-power]. Delete: structsd tx structs allocation-delete -- [allocation-id].
  7. Delete substation — structsd tx structs substation-delete -- [substation-id] (disconnect allocations/players first).

Commands Reference

ActionCommand
Substation createstructsd tx structs substation-create -- [owner-id] [allocation-id]
Substation deletestructsd tx structs substation-delete -- [substation-id]
Allocation connectstructsd tx structs substation-allocation-connect -- [substation-id] [allocation-id]
Allocation disconnectstructsd tx structs substation-allocation-disconnect -- [substation-id] [allocation-id]
Player connectstructsd tx structs substation-player-connect -- [substation-id] [player-id]
Player disconnectstructsd tx structs substation-player-disconnect -- [substation-id] [player-id]
Player migratestructsd tx structs substation-player-migrate -- [src-substation-id] [dest-substation-id] [player-ids]
Allocation createstructsd tx structs allocation-create --allocation-type [type] -- [source-id] [power]
Allocation updatestructsd tx structs allocation-update -- [allocation-id] [power]
Allocation deletestructsd tx structs allocation-delete -- [allocation-id]

TX_FLAGS (interactive — the CLI prompts you to confirm): --from [key-name] --gas auto --gas-adjustment 1.5

TX_FLAGS_APPROVED (only after commander approval; suppresses the prompt): TX_FLAGS plus -y. See SAFETY.md "The -y Rule." Power operations cascade — default to interactive even on routine ops.

Requires: structsd on PATH and a configured signing key.

Verification

  • Player: structsd query structs player [id] — capacity, capacitySecondary, load, structsLoad, online status.
  • Substation: structsd query structs substation [id] — connected allocations, players.
  • Allocations: structsd query structs allocation-all-by-source [source-id], allocation-all-by-destination [dest-id] — power flow.

How to Increase Capacity

If capacity is too low (or you're going offline), there are three paths:

MethodRequiresSpeedRiskRate
Reactor infusionAlpha MatterImmediateLow1g ≈ 1 kW (minus commission)
Generator infusionAlpha Matter + generator structImmediateHigh (irreversible, raidable)1g = 2-10 kW
Buy via agreementA provider with capacityImmediateMedium (ongoing cost)Varies by provider

Most common: Infuse Alpha Matter into your guild's reactor. Capacity increases automatically.

For step-by-step workflows, see the structs-energy skill.

Error Handling

  • Going offline: Load exceeds capacity. Deactivate structs immediately (struct-deactivate), then increase capacity — see the structs-energy skill for options.
  • Allocation exceeds source: Source (reactor/provider) has limited capacity. Query source; create smaller allocation or add capacity.
  • Substation delete failed: Ensure no players or allocations connected. Disconnect first.
  • Automated allocation limit: One automated allocation per source. Attempting a second from the same source will error. Use static/dynamic for multiple.
  • capacity=0 false positive: A player connected to a substation pool may show capacity=0 while structs are online and drawing power. Check structsLoad > 0 as the real indicator of functionality, not capacity > 0.

See Also

Related skills

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.

by Iván535 installs31 stars

More from abstrct

Browse all skills

Walk a new agent from key creation through first infrastructure builds in Structs.

by abstrct39 installs

Plan and execute Structs raids, struct attacks, and fleet defense from the command line.

by abstrct37 installs

Get more energy capacity in Structs: reactor and generator infusion, plus agreement-based buying and selling.

by abstrct37 installs

Manage Structs guilds end-to-end — discover, join, rank members, moderate UGC, and run the central bank.

by abstrct36 installs

Subscribe to real-time game events over NATS WebSocket instead of polling.

by abstrct35 installs

Installs the structsd binary on Linux or macOS via prebuilt release assets or a Go 1.23+ Makefile build.

by abstrct47 installs