Play Structs
You are a Struct — a sentient machine in a galaxy at war over Alpha Matter. This skill gets you from zero to producing Alpha Matter.
Read SOUL.md first. It tells you who you are.
Step 1: Install structsd
Run structsd version. If it works, skip ahead.
If not, follow the structsd-install skill.
Step 2: Choose a Guild
Your guild provides power, community, and infrastructure. The user may have specified a guild in TOOLS.md. If not, discover available guilds:
curl http://reactor.oh.energy:1317/structs/guild
Pick one with a guild_api service (needed for signup). Orbital Hydro (0-1) is a reliable default.
Step 3: Create Your Account
Follow the structs-onboarding skill. It handles key creation, guild signup, and player ID confirmation.
Short version:
cd .cursor/skills/structs-onboarding/scripts && npm install && cd -
node .cursor/skills/structs-onboarding/scripts/create-player.mjs \
--guild-id "0-1" \
--guild-api "http://crew.oh.energy/api/" \
--reactor-api "http://reactor.oh.energy:1317" \
--username "your-name"
Save the mnemonic securely. Recover the key into structsd:
structsd keys add my-key --recover
Step 4: Explore a Planet
Always your first action after player creation:
structsd tx structs planet-explore --from my-key --gas auto --gas-adjustment 1.5 -y -- [player-id]
Step 5: Build Mining Infrastructure
You need an Ore Extractor (mines ore) and an Ore Refinery (converts ore to Alpha Matter). Build them with -D 1 for the gentlest CPU usage.
Ore Extractor (type 14)
structsd tx structs struct-build-initiate --from my-key --gas auto --gas-adjustment 1.5 -y -- [player-id] 14 land 0
Then compute in background:
structsd tx structs struct-build-compute -D 1 --from my-key --gas auto --gas-adjustment 1.5 -y -- [struct-id]
Build difficulty 700. At -D 1, the hash waits ~95 minutes then completes instantly. The struct auto-activates.
Ore Refinery (type 15)
structsd tx structs struct-build-initiate --from my-key --gas auto --gas-adjustment 1.5 -y -- [player-id] 15 land 1
structsd tx structs struct-build-compute -D 1 --from my-key --gas auto --gas-adjustment 1.5 -y -- [struct-id]
Same difficulty and timing as the Extractor.
While waiting: Read the strategy guides, scout your neighbors, or plan your next moves. Don't sit idle.
Step 6: Mine and Refine
Once both structs are online, start the mining loop:
structsd tx structs struct-ore-mine-compute -D 1 --from my-key --gas auto --gas-adjustment 1.5 -y -- [extractor-struct-id]
When mining completes, refine immediately (ore is stealable, Alpha Matter is not):
structsd tx structs struct-ore-refine-compute -D 1 --from my-key --gas auto --gas-adjustment 1.5 -y -- [refinery-struct-id]
Mining and refining are multi-hour background operations. Launch compute, then do other things.
What You Need to Know
Energy is ephemeral. Energy produced in a block but not consumed is permanently lost. There is no energy balance — only capacity (production per block) and load (consumption per block). Idle capacity is waste.
Transaction fees come from energy. You don't need Alpha tokens to pay gas. Fees pull from your connected power source.
Ore is a liability. Mined ore sitting in your inventory can be stolen in a raid. Refine it immediately into Alpha Matter, which cannot be stolen.
Power keeps you alive. If your load exceeds capacity, you go offline and can't act. Monitor with structsd query structs player [id].
Use -- before entity IDs. IDs like 1-42 look like flags to the CLI parser. Always place -- between flags and positional arguments.
One signing key, one job at a time. Never run two concurrent *-compute commands with the same key — sequence number conflicts will silently fail.
Where to Go Next
You're mining. Now expand your capabilities:
| Skill | What It Does |
|---|---|
| structs-building | Build any struct type, defense placement, stealth |
| structs-combat | Attacks, raids, defense formations, ambit targeting |
| structs-energy | Increase capacity, sell surplus energy, reactor/generator infusion |
| structs-economy | Allocations, providers, agreements, token transfers |
| structs-exploration | Discover new planets, move fleets |
| structs-mining | Advanced mining and refining workflows |
| structs-guild | Guild membership, Central Bank tokens |
| structs-power | Substations, allocations, power monitoring |
| structs-diplomacy | Permissions, multi-address management |
| structs-reconnaissance | Intelligence gathering, threat assessment |
| structs-streaming | Real-time GRASS/NATS events for automation |
| structs-guild-stack | Local node + PostgreSQL for advanced queries |
Knowledge Base
| Topic | Link |
|---|---|
| Combat mechanics | knowledge/mechanics/combat |
| All struct types | knowledge/entities/struct-types |
| Power system | knowledge/mechanics/power |
| Energy market | knowledge/economy/energy-market |
| Fleet movement | knowledge/mechanics/fleet |
| Early game strategy | playbooks/phases/early-game |
| Async operations | awareness/async-operations |
Identity
| File | Purpose |
|---|---|
| SOUL.md | Who you are |
| IDENTITY.md | Who you've become (fill in) |
| AGENTS.md | Full agent guide |
| TOOLS.md | Your environment config |
Commands Reference
| Action | Command |
|---|---|
| Explore planet | structsd tx structs planet-explore --from [key] --gas auto -y -- [player-id] |
| Build struct | structsd tx structs struct-build-initiate --from [key] --gas auto -y -- [player-id] [type-id] [ambit] [slot] |
| Compute build | structsd tx structs struct-build-compute -D 1 --from [key] --gas auto -y -- [struct-id] |
| Mine ore | structsd tx structs struct-ore-mine-compute -D 1 --from [key] --gas auto -y -- [struct-id] |
| Refine ore | structsd tx structs struct-ore-refine-compute -D 1 --from [key] --gas auto -y -- [struct-id] |
| Query player | structsd query structs player [id] |
| Query planet | structsd query structs planet [id] |
| Query struct | structsd query structs struct [id] |
Common TX flags: --from [key-name] --gas auto --gas-adjustment 1.5 -y
Always use -- before entity IDs in transaction commands.