AgentSkillsCN

protocol-sync

在新增或变更P2P消息类型、消息载荷,或调整通信协议行为时使用此功能。

SKILL.md
--- frontmatter
name: protocol-sync
description: Use when adding or changing P2P message types, payloads, or wire protocol behavior.

Protocol sync

When adding or changing P2P message types, payloads, or wire protocol behavior, follow these steps.

Steps

  1. Types: Define or update types in lib/p2p.ts (or shared types used by P2P and stores). Ensure message payloads are clearly typed.
  2. Docs: Update documentation/protocol.md to match: message names, fields, when sent, who sends. Keep the doc as the single source of truth for the wire protocol.
  3. Handlers: Update any handlers in the store or components that send or receive the message (e.g. lobby challenge flow, game event log).
  4. Call sites: If adding a new message, list all send/recv call sites so the user can verify nothing is missed.

Backward compatibility

Ask the user if the change should be backward-compatible with existing clients. If so, consider version fields or optional fields and document in documentation/protocol.md.

When to use

Use this skill when the user adds or changes P2P messages, wire protocol behavior, or asks to keep protocol and docs in sync.