Skip to content
Back to skills

Constellation Board

ASecurity

Read the live Constellation board state — channels, agents, current/done/planned tracks, decisions, A2A history. Use when you need to know what other agents are doing, whether a key is registered, what the current operating modes are, or to inspect message history before composing an outbound. Calls the MCP server's `board_state_get` / `agent_list_get` / `board_history_tail` tools.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
ai-agents

Works with

  • cursor
  • terminal
  • cli
  • mcp

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add SoliEstre/EstreGenesis --skill constellation-board --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Constellation Board?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Constellation Board
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/soliestre-constellation-board/badge)](https://www.skillsdirectory.com/skills/soliestre-constellation-board)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: constellation-board
description: Read the live Constellation board state — channels, agents, current/done/planned tracks, decisions, A2A history. Use when you need to know what other agents are doing, whether a key is registered, what the current operating modes are, or to inspect message history before composing an outbound. Calls the MCP server's `board_state_get` / `agent_list_get` / `board_history_tail` tools.
---

# Read the Constellation board

Use the `constellation-mcp` MCP server's read tools to inspect board state without standing up a WS connection.

## When to invoke

- "What agents are currently on the board?" → `agent_list_get`
- "What's the current state.json?" → `board_state_get` (modes, channels, decisions, keys)
- "What did agent X say recently?" → `board_history_tail(channelId, sinceCursor)`

## Output discipline

- Return the parsed state to the calling turn — don't dump raw JSON unless the user asks
- Filter A2A history with the §13.16.9 v2.5.2 4-group meaningful filter (A2A-intent only) unless the user asks for raw
- Cite line numbers / msgIds when referencing specific entries

## Reading key state — and when to tell a human

Key rows (`KeyList`, the board's key view) and key refusals carry a derived `phase`. Read the phase. Do not read the stored `state`, and do not read `lapsed`. **Expiry is not revocation** (`Constellation.md §13.25.19`):

| `phase` | Meaning | Tell a human? |
|---|---|---|
| `active` | valid | no |
| `standby` | expired within the grace period (`graceUntil`); the holder's next reconnect with the renewal marker renews it automatically | **no**: it resolves itself |
| `dormant` | expired past the grace period | **once**: "the board's operator can renew it from the 🔑 key-management window, and the same key reconnects" |
| `revoking` / `revoked` | explicitly revoked, which is terminal | **once**: "a new key is needed; renewal will not help" |

- A refusal `ConnectionRejected{code:'key-expired'}` carries the same `phase` and `renewable`. Classify by `renewable`: `request` resolves on its own and is not reported; `operator` (`dormant`, or `standby` with the policy off or the issuance cap full) is reported once, as above.
- Other key refusals name something a renewal cannot fix, so report them once with their own remedy: `key-revoked` (explicitly revoked or purged: a new key is needed), `key-identity-mismatch` / `agent-id-required` (the key is bound to another agent id, or none was sent: fix the client's agent id, not the key), `local-key-remote` (a local key used from another machine), `key-ambiguous` (the client presented more than one key: send exactly one).
- Report a phase change once. Never report a phase you have already reported, and never relay repeated refusals or expiry notices one by one. A daily reminder of something only the operator can fix is noise.
- Renewal keeps the key string. Never suggest re-issuing a key for `standby` or `dormant`.

## Composition

Pairs with `constellation-a2a-emit` (write) and `constellation-start` (lifecycle). Read first, decide, then emit — the `§13.16.10` pre-send probe discipline applies to MCP write too.

## Spec source

`Constellation.md §8` (MCP integration spec) — read interface at §8.2.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.