Token导航 LogoToken导航

Agent Skill · 开发

structs-onboarding(结构入职)

structs-onboarding 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

structs-onboarding 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 3,022。

总安装 13,153周安装 565GitHub Stars 公开资料未说明下载 4,610核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.2.2

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:structs-onboarding(结构入职)
来源仓库:https://github.com/abstrct/structs-onboarding
安装命令:
openclaw skills install structs-onboarding
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install structs-onboarding

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

协助新玩家加入 Structs,处理密钥创建、玩家注册和初始入侵。适用于 OpenClaw 中维护前端项目、生成组件或检查界面实现时。通过 clawhub 安装,建议查阅来源仓库和 README 获取详细指引。使用前需确认权限边界、项目维护状态及是否涉及网络或文件操作。注意评估是否会执行敏感命令或访问用户数据。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install structs-onboarding;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

structs-onboarding 怎么安装?

在终端执行 openclaw skills install structs-onboarding。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

structs-onboarding 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

structs-onboarding 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

structs-onboarding 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

structs-onboarding 用的人多吗?

公开数据是累计安装 13,153 次,近一周安装 565 次,下载 4,610 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

structs-onboarding 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
structs-onboarding

结构入职 · 本页

13,153—接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
structs-onboarding
description
Onboards a new player into Structs. Handles key creation/recovery, player creation (via reactor-infuse or guild signup), planet exploration, and initial infrastructure builds. Use when starting fresh, setting up a new agent, creating a player, claiming first planet, or building initial infrastructure. Build times range from ~17 min (Command Ship) to ~57 min (Ore Extractor/Refinery).

Structs Onboarding

Personal Files

Before starting, check if SOUL.md, IDENTITY.md, TOOLS.md, COMMANDER.md, or USER.md already have content. If so, read and merge — do not overwrite. These files may contain a previous agent's identity, a human operator's preferences, or your own prior configuration. Add your identity to the existing content.

Important: Entity IDs containing dashes (like 1-42, 5-10) are misinterpreted as flags by the CLI parser. All transaction commands in this skill use -- before positional arguments to prevent this. Always include -- when running structsd tx structs commands with entity IDs.

Procedure

Step 0: Key Management

If using Path B (guild signup) below, the create-player.mjs script can generate a mnemonic automatically — you can skip ahead to Step 1 and let the script handle key creation.

If using Path A (agent has $alpha) or need a key in the local structsd keyring:

structsd keys list

If no key exists, create or recover one:

  • Create new key: structsd keys add [key-name] — outputs a mnemonic. Save it securely.
  • Recover from mnemonic: structsd keys add [key-name] --recover — prompts for mnemonic input.

Get your address:

structsd keys show [key-name] -a

Mnemonic security: Store the mnemonic in an environment variable (STRUCTS_MNEMONIC), a .env file (excluded from git), or let the commander provide it. Never commit mnemonics or private keys to the repository.

Warning: structsd keys add --output json outputs the mnemonic in plaintext to stdout. Avoid using --output json unless you are redirecting output to a secure location.


Step 1: Check Player Status

structsd query structs address [your-address]

If the result shows a player ID other than 1-0, a player already exists. Skip to Step 3: Explore Planet (or later steps if planet already explored).

If the player ID is 1-0, no player exists — proceed to Step 2.


Step 2: Create Player

Two paths depending on whether the agent has $alpha (the native token).

Path A: Agent has $alpha

If the address already holds $alpha tokens, delegate to a reactor (validator). This automatically creates a player record.

  1. Choose a validator/reactor to delegate to
  2. Run: structsd tx structs reactor-infuse --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [your-address] [reactor-address] [amount]
  3. Poll until player exists: structsd query structs address [your-address] — repeat every 10 seconds until player ID is not 1-0
Path B: Agent has no $alpha (guild signup)

Join a guild that supports programmatic signup. The bundled create-player.mjs script handles the entire flow: mnemonic generation, proxy message signing, guild API POST, and polling for player creation. It returns a single JSON object with everything you need.

1. Choose a guild

The commander may specify a guild via TOOLS.md or environment config. Otherwise, query available guilds from a reference node:

curl http://reactor.oh.energy:1317/structs/guild

reactor.oh.energy is a reliable Structs network node run by the Slow Ninja team (Orbital Hydro guild).

2. Get the guild's API endpoint

Each guild record has an endpoint URL pointing to its configuration. Fetch it and look for services.guild_api and services.reactor_api. Not all guilds provide these — if empty, that guild does not support programmatic signup.

Note: Some guild configs may use guildApi (camelCase) instead of guild_api (snake_case). Check both fields when parsing programmatically.

Example guild config:

{
  "guild": {
    "id": "0-1",
    "name": "Orbital Hydro",
    "tag": "OH",
    "services": {
      "guild_api": "http://crew.oh.energy/api/",
      "reactor_api": "http://reactor.oh.energy:1317/",
      "client_websocket": "ws://reactor.oh.energy:26657"
    }
  }
}

3. Run the create-player script

Requirements: Node.js 18+ (for built-in fetch). Install dependencies once:

cd .cursor/skills/structs-onboarding/scripts && npm install

Then run (from workspace root):

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-chosen-name"

The script will:

  1. Generate a new mnemonic (or use --mnemonic "..." to recover an existing one)
  2. Derive the address and pubkey
  3. Check if a player already exists for this address
  4. Sign the guild-join proxy message and POST to the guild API
  5. Poll the reactor API until the player ID is confirmed (default 120s timeout)
  6. Output JSON to stdout with all results

Note: When a player joins a guild, they receive a default guild rank of 101. Guild leadership can later promote members to lower (higher-privilege) ranks. See the structs-guild skill for rank management.

Output format (parse this JSON):

{
  "success": true,
  "mnemonic": "word1 word2 ... word24",
  "address": "structs1...",
  "pubkey": "a1b2c3...",
  "player_id": "1-42",
  "guild_id": "0-1",
  "username": "your-chosen-name",
  "created": true,
  "next_step": "structsd tx structs planet-explore --from [key-name] --gas auto --gas-adjustment 1.5 -y -- 1-42"
}

Immediately save the mnemonic to a secure location (.env, environment variable, or secret store). If you need the key in the local structsd keyring for later commands, recover it: structsd keys add [key-name] --recover and enter the mnemonic.

Important: If the script was given no --mnemonic, it generated a fresh one. The mnemonic is only printed in this output — store it now or it is lost.

Encoding warning: Do NOT attempt to implement the guild signup signing manually. The guild API requires hex-encoded compressed secp256k1 pubkey (66 hex chars) and hex-encoded raw R||S signature (128 hex chars) — NOT base64, NOT Amino. The script handles this correctly. Agents who try to sign manually almost always fail because they use base64 encoding.


Step 3: Explore Planet

Always the first action after player creation:

structsd tx structs planet-explore --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [player-id]

New planets start with 5 ore and 4 slots per ambit (space, air, land, water).


Step 4: Check Command Ship

New players receive a Command Ship (type 1) at creation. It may start offline if insufficient power.

structsd query structs fleet [fleet-id]

Fleet ID matches player index: player 1-18 has fleet 9-18. Check for existing structs in the fleet.


Step 5: Build Command Ship (only if not gifted)

structsd tx structs struct-build-initiate --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [player-id] 1 space 0

Type 1 = Command Ship; must be in fleet, not on planet. Then compute in background:

structsd tx structs struct-build-compute -D 3 --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [struct-id]

Build difficulty 200; wait ~17 min for D=3, hash completes instantly. Compute auto-submits the complete transaction. The struct auto-activates after build-complete — no manual activation needed.


Step 6: Build Ore Extractor

Fleet must be on station, Command Ship online.

structsd tx structs struct-build-initiate --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [player-id] 14 land 0

Type 14 = Ore Extractor; ambits: land or water. Then compute in background:

structsd tx structs struct-build-compute -D 3 --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [struct-id]

Build difficulty 700; wait ~57 min for D=3. Auto-activates after build-complete.


Step 7: Build Ore Refinery

structsd tx structs struct-build-initiate --from [key-name] --gas auto --gas-adjustment 1.5 -y -- [player-id] 15 land 1

Type 15 = Ore Refinery; ambits: land or water. Compute same as above. Build difficulty 700. Auto-activates after build-complete.


Step 8: Verify

Query player, planet, fleet, and structs. Confirm all online.


Proof-of-Work Notes

The struct-build-compute command is a helper that calculates the hash AND automatically submits struct-build-complete with the results. You do not need to run struct-build-complete separately after compute.

Auto-activation: Structs automatically activate after build-complete. You do not need to run struct-activate after building. Use struct-activate only to re-activate a struct that was previously deactivated.

The -D flag (range 1-64) tells compute to wait until the difficulty drops to that level before starting. Use -D 3 — at D=3 the hash is trivially instant with zero wasted CPU. Lower values wait longer but waste less compute.

StructType IDBuild DifficultyWait to D=3
Command Ship1200~17 min
Ore Extractor14700~57 min
Ore Refinery15700~57 min
Ore Bunker183,600~4.6 hr

Charge

Build operations cost 8 charge. Charge accumulates at 1 per block (~6 seconds). Wait at least 48 seconds (8 blocks) between successive build-initiate actions on the same struct. During onboarding, charge is rarely a bottleneck since each struct is different. See knowledge/mechanics/building for the full charge cost table.

Async strategy: Initiate all planned builds immediately — this starts the age clock. While waiting for difficulty to drop, scout the galaxy, assess neighbors, or plan guild membership. Launch compute in a background terminal and check back later. See awareness/async-operations.

One key, one compute at a time. Never run two concurrent *-compute jobs with the same signing key. Both may reach target difficulty simultaneously and submit conflicting sequence numbers — one fails silently, leaving the struct stuck. Sequence compute jobs for the same player.

Ambit Encoding

Struct types have a possibleAmbit bit-flag field:

AmbitBit Value
Space16
Air8
Land4
Water2

Values are combined: 6 = land + water, 30 = all ambits. Check possibleAmbit before choosing an operating ambit.

Commands Reference

ActionCLI Command
List keysstructsd keys list
Create keystructsd keys add [name]
Recover keystructsd keys add [name] --recover
Show addressstructsd keys show [name] -a
Discover playerstructsd query structs address [address]
Query playerstructsd query structs player [id]
Reactor infusestructsd tx structs reactor-infuse --from [key] --gas auto -y -- [player-addr] [reactor-addr] [amount]
Create player (guild signup)node .cursor/skills/structs-onboarding/scripts/create-player.mjs --guild-id "..." --guild-api "..." --reactor-api "..." [--mnemonic "..."] [--username "..."]
Explore planetstructsd tx structs planet-explore --from [key] --gas auto -y -- [player-id]
Initiate buildstructsd tx structs struct-build-initiate --from [key] --gas auto -y -- [player-id] [struct-type-id] [operating-ambit] [slot]
Build compute (PoW + auto-complete + auto-activate)structsd tx structs struct-build-compute -D [difficulty] --from [key] --gas auto -y -- [struct-id]
Re-activate struct (only if previously deactivated)structsd tx structs struct-activate --from [key] --gas auto -y -- [struct-id]
Query planetstructsd query structs planet [id]
Query fleetstructsd query structs fleet [id]
Query structstructsd query structs struct [id]

Build order: Command Ship (type 1, fleet) → Ore Extractor (type 14, planet) → Ore Refinery (type 15, planet). Common tx flags: --from [key-name] --gas auto --gas-adjustment 1.5 -y.

Verification

  • structsd query structs address [address] — player exists (ID is not 1-0)
  • structsd query structs player [id] — player online
  • structsd query structs planet [id] — planet claimed, ore present
  • structsd query structs fleet [id] — fleet on station
  • structsd query structs struct [id] — struct status = Online

Error Handling

  • Player ID is 1-0 — Player doesn't exist. Follow Step 2 (Path A or Path B).
  • create-player.mjs fails — Check that --guild-api and --reactor-api URLs are correct and reachable. Verify the guild supports programmatic signup (services.guild_api exists). If providing a --mnemonic, verify it is a valid 24-word BIP39 mnemonic.
  • Guild API returns HTML or 404 — The URL is wrong or you are not using the script. The signup endpoint (/auth/signup) is POST only. Always use create-player.mjs which handles the POST, signing, and polling automatically.
  • Signup succeeds but player never appears — Re-run the script with the same --mnemonic to resume polling. The guild may be slow to process. If it still fails after 120s, the guild's proxy may be down.
  • "insufficient resources" — Check player Alpha Matter balance.
  • "fleet not on station" — Wait for fleet or move fleet before planet builds.
  • "invalid slot" — Use slot 0-3 per ambit; check planet structs for occupancy.
  • "power overload" — Not enough capacity to activate. Add power sources or connect to a substation with more capacity.

See Also

平台分布

OpenClaw

71.41%
按下载量换算3,292

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills