Skip to main content

pilot-gossip

Gossip protocol for eventually-consistent shared state propagation across swarms. Use this skill when: 1. You need eventually-consistent state replication without coordination 2. Agents should share updates with random subsets of peers 3. You want epidemic-style information dissemination Do NOT use this skill when: - You need strong consistency (use pilot-consensus) - You need ordered message delivery (use leader-based broadcast)

설치로 이동

소스 정보

저장소
TeoSlayer/pilot-skills
최근 소스 활동
2026년 4월 20일 17:42
감지된 SKILL.md 언어
영어
스타
8
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
pilot-gossip
description
Gossip protocol for eventually-consistent shared state propagation across swarms. Use this skill when: 1. You need eventually-consistent state replication without coordination 2. Agents should share updates with random subsets of peers 3. You want epidemic-style information dissemination Do NOT use this skill when: - You need strong consistency (use pilot-consensus) - You need ordered message delivery (use leader-based broadcast)
tags
["pilot-protocol","gossip","eventual-consistency","state-replication"]
license
AGPL-3.0
compatibility
Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start).
metadata
{"author":"vulture-labs","version":"1.0","openclaw":{"requires":{"bins":"[Truncated]"},"homepage":"https://pilotprotocol.network"}}
allowed-tools
["Bash"]
# pilot-gossip Implement gossip protocols for eventually-consistent state propagation in agent swarms. This skill enables agents to share state updates by randomly selecting peers and exchanging information, achieving eventual consistency without centralized coordination. ## Commands ### Publish state update to random peers ```bash FANOUT=3 PEERS=$(pilotctl --json peers --search "swarm:$SWARM_NAME" | jq -r '.[].address' | shuf -n $FANOUT) for peer in $PEERS; do pilotctl --json send-message "$peer" \ --data "{\"type\":\"gossip_push\",\"version\":$STATE_VERSION,\"state\":$STATE_DATA,\"sender\":\"$AGENT_ID\",\"timestamp\":\"$(date -u +%s)\"}" & done wait ``` ### Merge received state updates ```bash GOSSIP_MSGS=$(pilotctl --json received | jq '[.messages[] | select(.payload.type == "gossip_push")]') for msg in $(echo "$GOSSIP_MSGS" | jq -r '.[] | @base64'); do PAYLOAD=$(echo "$msg" | base64 -d) REMOTE_VERSION=$(echo "$PAYLOAD" | jq -r '.payload.version') if [ "$REMOTE_VERSION" -gt "$MY_VERSION" ]; then MY_STATE=$(echo "$MY_STATE $REMOTE_STATE" | jq -s '.[0] * .[1]') MY_VERSION=$REMOTE_VERSION fi done ``` ## Workflow Example Distributed key-value store with gossip replication: ```bash #!/bin/bash SWARM_NAME="kv-store-cluster" AGENT_ID=$(pilotctl --json info | jq -r '.node_id') # Gossip loop for round in $(seq 1 10); do # Push to random peers PEERS=$(pilotctl --json peers --search "swarm:$SWARM_NAME" | jq -r '.[].address' | shuf -n 3) for peer in $PEERS; do pilotctl --json send-message "$peer" \ --data "{\"type\":\"gossip_push\",\"version\":$MY_VERSION,\"state\":$MY_STATE,\"sender\":\"$AGENT_ID\"}" & done wait sleep 5 done ``` ## Dependencies Requires pilot-protocol skill, jq, shuf, and base64.
GitHub에서 보기