structs-diplomacy

Handles permissions, address management, and inter-player coordination in Structs. Use when granting or revoking permissions on objects, registering new addresses, managing multi-address accounts, delegating authority to other players, or setting up address-level access control.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "structs-diplomacy" with this command: npx skills add abstrct/structs-diplomacy

Structs Diplomacy

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.

Permission System (24-bit)

Permissions use a 24-bit bitmask. Individual permissions can be combined (OR'd together). See knowledge/mechanics/permissions for the full permission system reference.

PermissionValueDescription
PermPlay1Basic play access
PermAdmin2Administrative control (manage permissions)
PermUpdate4Update object settings
PermDelete8Delete object
PermTokenTransfer16Transfer tokens
PermTokenInfuse32Infuse tokens into reactors/generators
PermTokenMigrate64Migrate tokens between objects
PermTokenDefuse128Defuse (withdraw) tokens
PermGuildMembership512Manage guild membership
PermSubstationConnection1024Connect to substations
PermAllocationConnection2048Connect to allocations
PermReactorGuildCreate524288Create guilds on a reactor
PermHashBuild1048576Submit build proof-of-work
PermHashMine2097152Submit mine proof-of-work
PermHashRefine4194304Submit refine proof-of-work
PermHashRaid8388608Submit raid proof-of-work
PermAll16777215All permissions (full access)

Procedure

  1. Query permissionsstructsd query structs permission [id], permission-by-object [object-id], permission-by-player [player-id].
  2. Grant on objectstructsd tx structs permission-grant-on-object TX_FLAGS -- [object-id] [player-id] [permissions]. Permissions are additive.
  3. Revoke on objectstructsd tx structs permission-revoke-on-object -- [object-id] [player-id] [permissions].
  4. Set on objectstructsd tx structs permission-set-on-object -- [object-id] [player-id] [permissions] — clears existing and applies new set.
  5. Address-level permissionsstructsd tx structs permission-grant-on-address -- [address] [permissions], permission-revoke-on-address -- [address] [permissions], permission-set-on-address -- [address] [permissions].
  6. Guild rank permissionsstructsd tx structs permission-guild-rank-set TX_FLAGS -- [object-id] [guild-id] [permission] [rank] — grant permission on object to guild members at or above specified rank. Revoke: structsd tx structs permission-guild-rank-revoke TX_FLAGS -- [object-id] [guild-id] [permission].
  7. Address management — Register: structsd tx structs address-register TX_FLAGS -- [address] [proof-pubkey] [proof-signature] [permissions]. Revoke: structsd tx structs address-revoke -- [address]. Update primary: structsd tx structs player-update-primary-address -- [new-address].

Commands Reference

ActionCommand
Grant on objectstructsd tx structs permission-grant-on-object -- [object-id] [player-id] [permissions]
Revoke on objectstructsd tx structs permission-revoke-on-object -- [object-id] [player-id] [permissions]
Set on objectstructsd tx structs permission-set-on-object -- [object-id] [player-id] [permissions]
Grant on addressstructsd tx structs permission-grant-on-address -- [address] [permissions]
Revoke on addressstructsd tx structs permission-revoke-on-address -- [address] [permissions]
Set on addressstructsd tx structs permission-set-on-address -- [address] [permissions]
Set guild rank permissionstructsd tx structs permission-guild-rank-set -- [object-id] [guild-id] [permission] [rank]
Revoke guild rank permissionstructsd tx structs permission-guild-rank-revoke -- [object-id] [guild-id] [permission]
Address registerstructsd tx structs address-register -- [address] [proof-pubkey] [proof-sig] [permissions]
Address revokestructsd tx structs address-revoke -- [address]
Update primary addressstructsd tx structs player-update-primary-address -- [new-address]

TX_FLAGS: --from [key-name] --gas auto --gas-adjustment 1.5 -y

QueryCommand
Permission by IDstructsd query structs permission [id]
Permission by objectstructsd query structs permission-by-object [object-id]
Permission by playerstructsd query structs permission-by-player [player-id]
Guild rank permission by objectstructsd query structs guild-rank-permission-by-object [object-id]
Guild rank permission by object+guildstructsd query structs guild-rank-permission-by-object-and-guild [object-id] [guild-id]
Addressstructsd query structs address [address]
Addresses by playerstructsd query structs address-all-by-player [player-id]

Verification

  • Permission: structsd query structs permission-by-object [object-id] — list players with access.
  • Guild rank permission: structsd query structs guild-rank-permission-by-object [object-id] — list guild rank-based permissions.
  • Address: structsd query structs address [address] — verify registration, player link.
  • Player addresses: structsd query structs address-all-by-player [player-id] — all linked addresses.

Error Handling

  • Permission denied: Signer lacks permission on object. Check permission-by-object for current grants.
  • Address already registered: Use address-revoke first, or link to different player.
  • Invalid proof: Address registration requires valid proof pubkey and signature. Verify auth flow.
  • Object not found: Object ID may be stale. Re-query to confirm entity exists.

See Also

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Wangdongjie Cfo Skill

基于王东杰26年实战经验,提供A+H双市场IPO操盘、资本杠杆设计、业财融合和AI数字化风控咨询。

Registry SourceRecently Updated
General

Hk Stock Morning Report

Generate HK stock market morning report (股市晨報) for Chinese bank trading desk. Use when user asks "生成晨报", "股市晨报", "今日股市", "港股晨報", or any similar HK stock mark...

Registry SourceRecently Updated
General

Nansen Mpp Payment

Pay-per-call access to the Nansen API via MPP (Tempo). Use when a user wants anonymous Nansen access without an API key and without managing their own Base/S...

Registry SourceRecently Updated
General

Etsy Autolist

Auto-create and manage digital product listings on Etsy. Creates listings from existing digital product files (PDFs, templates, spreadsheets) using Etsy Open...

Registry SourceRecently Updated