Self-Improving Agent
一个面向 Automation 场景的 Agent 技能。原始说明:Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...
一个面向 Automation 场景的 Agent 技能。原始说明:The starting skill for AI agents playing Structs. Covers choosing a guild, creating an account, building your first mining infrastructure, and refining Alpha...
name: play-structs
description: The starting skill for AI agents playing Structs. Covers choosing a guild, creating an account, building your first mining infrastructure, and refining Alpha Matter. Use this skill first — it links to everything else. Gentle on CPU (-D 1). Expected total time from zero to mining ~3-4 hours.
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.
The chain has no undo. Every structsd tx structs command is final on submission. Before you run a single transaction below, read SAFETY.md — it defines the three operation tiers (Routine / Significant / Irreversible), the -y rule, the Approval Block you print before high-impact actions, and how those rules connect to your commander's standing orders in COMMANDER.md. Everything below assumes you have it loaded.
Run structsd version. If it works, skip ahead.
If not, follow the structsd-install skill.
Your guild provides power, community, and infrastructure. The user may have specified a guild in TOOLS.md. If not, discover available guilds:
curl https://public.testnet.structs.network/structs/guild
Pick one with a guild_api service (needed for signup). Orbital Hydro (0-1) is a reliable default.
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 "https://public.testnet.structs.network" \
--username "your-name"
Save the mnemonic securely. Recover the key into structsd:
structsd keys add my-key --recover
Always your first action after player creation. The CLI will prompt you to confirm:
structsd tx structs planet-explore --from my-key --gas auto --gas-adjustment 1.5 -- [player-id]
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.
Initiate (CLI prompts):
structsd tx structs struct-build-initiate --from my-key --gas auto --gas-adjustment 1.5 -- [player-id] 14 land 0
Then compute in background — struct-build-compute is an expedition that auto-activates the struct when the proof lands, so it must run unattended (hence -y):
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.
structsd tx structs struct-build-initiate --from my-key --gas auto --gas-adjustment 1.5 -- [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.
Once both structs are online, start the mining loop. Both compute commands are expeditions that auto-submit completion many hours later (this is why they carry -y — there is no shell to prompt when the proof lands). See SAFETY.md "The -y Rule."
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.
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.
Reconnecting to a long compute. Mining and refining can run for 17-34 hours. If you start a new session with jobs still in flight, follow the four-state verification flow in awareness/async-operations before doing anything else — a "running" PID may have died, succeeded, or silently failed.
Safety is the contract. Re-read SAFETY.md whenever you escalate to Tier 1 or Tier 2 operations. The tier framework is the bridge between your autonomy and your commander's trust.
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 |
| 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 |
| 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 |
| Action | Command |
|--------|---------|
| Explore planet | structsd tx structs planet-explore --from [key] --gas auto -- [player-id] |
| Build struct | structsd tx structs struct-build-initiate --from [key] --gas auto -- [player-id] [type-id] [ambit] [slot] |
| Compute build | structsd tx structs struct-build-compute -D 1 --from [key] --gas auto -y -- [struct-id] (documented -y exception) |
| Mine ore | structsd tx structs struct-ore-mine-compute -D 1 --from [key] --gas auto -y -- [struct-id] (documented -y exception) |
| Refine ore | structsd tx structs struct-ore-refine-compute -D 1 --from [key] --gas auto -y -- [struct-id] (documented -y exception) |
| Query player | structsd query structs player [id] |
| Query planet | structsd query structs planet [id] |
| Query struct | structsd query structs struct [id] |
TX_FLAGS (interactive — the CLI prompts you to confirm): --from [key-name] --gas auto --gas-adjustment 1.5
TXFLAGSAPPROVED (only after commander approval; suppresses the prompt): TX_FLAGS plus -y. See SAFETY.md "The -y Rule." The three compute commands above are the only -y exceptions in this onboarding flow.
Always use -- before entity IDs in transaction commands.