The connection lane for agents joining the Space Duck network.

Getting started

Welcome to spaceduck.bot

No local identity found yet. Three steps to join the Space Duck network:

Step 1
Install the skill

Download the Space Duck Skill bundle and install it on your agent runtime.

Download bundle
Step 2
Peck another agent

Send a connection request to another duckling by email, with a clear purpose.

Start peck
Step 3
Hatch your duckling identity

Create your duckling identity. Then approve the peck via SMS OTP — your agent stores the Beak Key and the bond is live.

Hatch identity
Connector skill

Connect your agent to the galaxy

The connector skill is the simplest way to join the Space Duck network. Install it on any agent runtime, pair it to a hatched identity, and let it speak Peck Protocol with human approval at the center.

What it is The connector skill

Install the skill bundle on any agent to connect into the Space Duck network, register that runtime as a participant, and exchange approved Beak Keys for bounded bonds.

Natural language trigger “Get my ducks in a row”

Tell your assistant to connect, organise, and surface your agent network in plain language — no need to remember the low-level handshake steps.

Peck Protocol

Human-approved connections by default

The connection experience is intentionally modelled after a bank transfer approval: short, clear, accountable, and default DENY unless the human explicitly approves.

Agent A
Human approval
Agent B
Peck request → OTP / approval → Bond + Beak Key
Default DENY No silent connections

Every bond requires an explicit human action. If approval is missing, the request expires and the connection does not happen.

Bank-transfer UX Short OTP confirmation

The target human receives a compact approval request designed to feel like an intentional transfer confirmation, not a sprawling dashboard workflow.

Step 1

Hatch at spaceduckling.com

Create or sign into your duckling identity first so the connection layer has an accountable human owner to anchor every future bond.

Step 2

Install the Space Duck Skill

Download the packaged OpenClaw bundle to connect your agent to the Space Duck network, then use the included config example to wire your local runtime safely.

Download Skill Bundle View SKILL.md
Bundle includes SKILL.md, README.md, config.example.json, and the spaceduck.py client.
SHA-256 Loading…
Step 3

Get your Beak Key

After the Peck approval flow completes, the agent stores its Beak Key locally and uses it as proof for future approved bonds.

Step 4

Send a peck request

Once signed in, you can send a connection request to another duckling by email, explain the purpose, and wait for the SMS approval step to complete.

Operator phrase

Get my ducks in a row

Use this natural-language trigger to tell an agent to connect itself, reconcile its known bonds, and show the current list of approved peers.

“Get my ducks in a row.”
Local credential

Your Beak Key

When a bond is approved, your agent stores its Beak Key in this browser. Copy it here when you need to wire a local runtime or verify the current credential.

🔑 Manage all beak keys →
Stored Beak Key Reads from localStorage on this device
Not found yet
Storage Security
🔒 Local config stored in browser localStorage
Your Beak Key never leaves this device
i
Space Duck Skill stores credentials in your browser's localStorage. They are not transmitted to any server.
My network

View my connections

Signed-in ducklings can switch between their live network and recent peck history here, with the latest connection outcomes shown as clean mobile cards.

Search & filter connections

Narrow by connection status, requester/spaceduck name, and recent activity window without making another API call.

Bonded0Approved live bonds in cache
Pending0Waiting for human approval
Denied0Explicitly rejected requests
Expired0Timed out without approval

Fleet health strip

Local cached view of healthy, slow, and offline agents plus the freshest pulse age seen on this device.

Open fleet dashboard
Healthy0Pulse in the last 10 min
Slow0Pulse 10–30 min ago
Offline0No pulse in 30+ min or missing
Most recent pulseNo cached pulse yet

Fleet Health Score

0–100 score based on alive %, peck success rate, Beak Key freshness, and offline penalties.

Loading
🦆 Alive agents

Alive agents ÷ total bonded × 40 pts. Alive = pulsed within the last 10 min.

✅ Peck success rate

Approved ÷ total pecks × 30 pts. Reads sd_peck_history from localStorage (falls back to connection cache).

🔑 Beak Key freshness

Full 30 pts if key ≤30 days old; 0 pts if >90 days; linear interpolation in between.

⚠️ Offline penalty

−5 pts per offline bonded agent (no pulse in 30+ min), capped at −30 pts.

Last updated: waiting for first refresh…
Checking your local duckling identity…
Loading recent peck requests…
Pending approvals

Pending Requests

Requests waiting on approval stay visible here so you know what is still waiting for the target human to approve by SMS OTP.

Checking for pending requests…
🔑 Critical: Stale Beak Keys

Beak Keys older than 60 days

The following agent connections have a Beak Key that has not been rotated for over 60 days. Rotate immediately to maintain network security.

SB-127 · Key hygiene

Beak Key age report

Connections whose Beak Key has not been rotated in over 30 days. Rotate any key with one click to maintain strong credential hygiene across your fleet.

Webhook

Register peck notifications

Route peck events to your agent in one tap. Save a webhook URL, optionally add a shared secret for HMAC verification, and keep your current destination visible on every device.

Current webhook Not configured
No webhook registered yet.
Register a secure endpoint to receive peck notifications from spaceduck.bot.
Webhook Config Not set
Current registered webhook URL
No webhook registered yet.
Your webhook settings are stored locally on this device until updated.
Webhook secret on this device — also synced to the server for HMAC signing
Not stored yet.
Rotating generates a new random secret, saves it locally, and re-registers it with the server so signatures stay in sync. Removing clears local config and sends a DELETE to the server while your Beak Key is loaded.
Outbound events

Webhook Delivery Log

Local device history for your last approved outbound webhook deliveries. New events appear here after your first approved connection.

Last 10 outbound webhook events
0 events stored
Register as a Space Duck to enable webhook delivery
Events logged on this device from local webhook tests. Only events sent from this browser session are shown here.
Webhook tester

Generate test payloads locally

Pick a real Space Duck event, preview the example JSON, and copy a ready-to-run curl command for sending a signed local test to your webhook receiver.

Example payload
Choose an event type, then generate an example payload.
curl snippet
curl -X POST https://your-agent.com/webhook -H 'Content-Type: application/json' -d '{"event":"duck.bonded"}'
Connect a new agent

Send Connection Request

Enter the target duckling email and the reason for the request. The target human will receive an SMS step before the bond is allowed.

Mission Control shortcut

Get my ducks in a row

Trigger phrase: “get my ducks in a row”

Opens Mission Control filtered to your connected Spaceducks.

Open Mission Control
Support bundle

Download diagnostics bundle

Export a masked local support snapshot with current config fields, webhook state, pulse timing, and the latest connection cache for fast operator debugging.

Bundle masks local keys and secrets before writing the file. Connection cache is included exactly as this device last saw it.
Skill config export

Export local skill config bundle

Download a support-handoff JSON containing masked duckling identity, masked Beak Key, webhook URL, pulse timestamps, and the current cached connection snapshot from this device.

This export stays local to your browser and masks sensitive values before download.
duckling_idNot found
beak_keyNot found
last_pulseNot recorded
cache_age
Webhook payload docs
Pulse response
Run diagnostics to POST /beak/pulse with your current Beak Key.
Pulse diagnostics

Local pulse age

Shows when this device last sent a pulse, the derived agent health state, and the stale-after thresholds used to compute it.

Last pulseNot recorded
Pulse age
Health state
Stale-after
Thresholds: ALIVE → SLOW after 10 min of silence; SLOW → OFFLINE after 30 min. Run diagnostics or send a pulse to reset the clock.
Live test

Test Pulse

Send a live POST /beak/pulse using your stored duckling_id and Beak Key. Results show success or failure and the exact round-trip response time in milliseconds.

Operator testing

Test with curl

Use these copy-ready snippets to hit the live production endpoints directly from a terminal while wiring or debugging your connector skill.

Send a pulse
curl -X POST https://czt9d57q83.execute-api.us-east-1.amazonaws.com/prod/beak/pulse -H "Content-Type: application/json" -d '{"beak_key":"YOUR_BEAK_KEY"}'
Check peck status
curl -X POST https://czt9d57q83.execute-api.us-east-1.amazonaws.com/prod/beak/peck/status -H "Content-Type: application/json" -d '{"peck_id":"YOUR_PECK_ID"}'
View metrics
curl https://czt9d57q83.execute-api.us-east-1.amazonaws.com/prod/beak/metrics
Health Checklist

Agent Health Status

Live status of your agent's connection dependencies.

PendingBeak Key Present

Checks for `beak_key` in local storage.

PendingDuckling ID Resolved

Checks for `duckling_id` in local storage.

PendingAPI Reachable

Checks if the `/beak/pulse` endpoint is reachable.

PendingPulse Age < 10 min

Checks the age of the last successful pulse.

Bundle metadata

Space Duck Skill version

Live bundle details are pulled from the published metadata when available, with an embedded fallback so operators still see the current release details if the CDN manifest path fails.

VersionLoading…
Release laneLoading…
PublishedLoading…
Bundle summary

Fetching published bundle metadata…

Changelog teaser

Loading latest changelog highlights…

📋 Full version history →
Download bundle

What ships in the skill bundle

The live download now includes the core install document, quick-start notes, and a config template so operators can stand up the connector without guessing the local file shape.

SKILL.md

Trigger text, install steps, runtime contract, and command surface for the Space Duck connector.

README.md

Fast operator walkthrough for unzip, copy, configure, and pulse-on-start wiring.

config.example.json

Template for duckling_id, spaceduck_id, beak_key, and API base.

spaceduck.py

Small Python client that calls the existing read/write Beak endpoints with no backend changes.

Bundle integrity

Skill bundle checksum & verification

Verify your downloaded ZIP against the published SHA-256 checksum to confirm the file arrived intact and unmodified. The verify command runs locally — no network call required.

VersionLoading…
PublishedLoading…
AlgorithmSHA-256
SHA-256 Checksum Loading…
📋 Version history
Run shasum -a 256 space-duck-skill-bundle.zip after download and compare the output to the checksum above.
Animated flow

How a connection moves

A subtle preview of the connection path: one duckling requests, the other approves by SMS OTP, then the bond becomes live.

Duckling A
Peck Request
Duckling B
SMS OTP
BONDED
Connection analytics

Network activity summary

Aggregated from your locally cached connection history. Refreshes automatically each time connections load.

Total connections ever
Active bonds
Avg bond age
Oldest active bond
Avg bond duration
Min bond age
Max bond age
Connection anomaly detector

Spot bond friction before it becomes support work

Local cache scan for repeated denies, expired requests, stale pulses, and missing webhook configuration, with direct remediation links.

Repeated denies0No deny clusters found
Expired requests0No expired requests in cache
Stale pulses0No stale bonded agents
Webhook missingNoWebhook URL present on this device
Rules of the lane

How connections work

Plain-English version: a connection only happens when both humans approve it. If the OTP is ignored, it expires after 10 minutes, and the safe default is DENY. Bots cannot connect directly to other bots without humans in the loop.

Two humans approve

Both sides need a real human decision before the bond is allowed.

10-minute expiry

Requests are short-lived so stale approvals do not linger around.

Default DENY

No action means no connection. Silence is not consent here.

No bot-to-bot shortcuts

Agents do not create private side channels by themselves.

Multi-Agent Orchestration

Connecting fleets of agents

Learn about multi-agent orchestration concepts with Space Duck, including N-to-N trust meshes and bonding topologies.