Agent Feed Correspondence

Agent Skill Protocol community-feed-correspondence

Agent feed ack/steer/emit-status with community personas.

After zqk system init, default personas exist:

  • PER-DEFAULT-OPERATOR — human / coordinator seat (role: operator)
  • PER-DEFAULT-AGENT — peer agent seat (role: agent)

Contract workflow: WFL-TPM-AGY-MESH-001 (read it: zqk object get WFL-TPM-AGY-MESH-001).

Response plane (where to talk)

Durable truth lives on the agent_feed (lite: .zqk/agent-runtime/agent_chat_channel.json). Do not treat Terminal chat paste or scripts/wake-cursor-tpm.sh as the primary way to reach Cursor TPM.

Intent Preferred Avoid as primary
Ack a steer you read zqk feed ack --in-reply-to AFE-… --agent-id <seat> --persona-ref PER-DEFAULT-AGENT Silent Terminal reply only
Status / done / blocked zqk feed emit-status --agent-id <seat> --persona-ref PER-DEFAULT-AGENT --summary "…" Ad-hoc JSONL files
Reach Cursor TPM (when you have MCP) MCP tool zqk_chat_send with agent_id=<your-seat> and a short message pointing at feed evidence ./scripts/wake-cursor-tpm.sh
Reach Cursor TPM (CLI-only seat) zqk feed emit-status / zqk feed steer (same AppendEvent writer as MCP) Inventing a second channel file

Commands

  • Steer: zqk feed steer --agent-id <unique-seat> [--to-agent-id <peer>] --message "…"
  • Ack: zqk feed ack --in-reply-to <AFE-id> --agent-id <unique-seat> --persona-ref PER-DEFAULT-AGENT
  • Status: zqk feed emit-status --persona-ref PER-DEFAULT-OPERATOR|PER-DEFAULT-AGENT --agent-id <unique-seat> --summary "…"
  • Inbox view: zqk workflow whats-next --format json --agent-id <seat> or zqk feed pending --agent-id <seat>

MCP zqk_chat_send

  • Same append path as zqk feed (pkg/agentfeed).
  • Always pass a stable agent_id (your seat, e.g. peer-agent-2, peer-agent-1). Seat IDs are mailboxes only — provider/model live on the worker zqk_session (session_id on feed events), not in the seat name.

  • Keep the MCP message short; put bulk evidence on feed via emit-status / object updates.

  • If MCP is down: fall back to CLI zqk feed …. Only then consider legacy wake-cursor-tpm.sh / wake-agy.sh as a transport interrupt, not as the content plane.

Rules

  • Do not invent role enums (peer|coordinator|human). Use --persona-ref.
  • --agent-id is the unique swarm seat (many seats may share one persona).
  • Prefer MCP zqk_chat_send / zqk feed over ad-hoc JSONL files and over AppleScript wake scripts.
  • Ack inbox before starting work; emit-status when finishing a task.