pilot-thread
Threaded conversations with context tracking over the Pilot Protocol network. This skill enables organized multi-turn dialogues by maintaining conversation threads, allowing multiple simultaneous discussions with clear context separation and complete message history.
Commands
Start a Thread
Create a new conversation thread using pub/sub:
THREAD_ID=$(date +%s)
TOPIC="thread_$THREAD_ID"
pilotctl --json publish <hostname> "$TOPIC" --data "{\"action\":\"create\",\"thread_id\":\"$THREAD_ID\",\"subject\":\"Discussion Topic\"}"
Reply to Thread
Send reply in existing thread:
pilotctl --json publish <hostname> "thread_$THREAD_ID" --data "{\"action\":\"reply\",\"thread_id\":\"$THREAD_ID\",\"message\":\"Response text\"}"
Subscribe to Thread
Listen for thread updates:
pilotctl --json subscribe <hostname> "thread_$THREAD_ID"
View Thread History
Check received messages in thread:
pilotctl --json inbox | jq '.messages[] | select(.thread_id == "'$THREAD_ID'")'
Workflow Example
#!/bin/bash
# Start and participate in threaded conversation
PEER="agent-b"
SUBJECT="Q2 Data Processing Pipeline"
THREAD_ID=$(date +%s)
TOPIC="thread_$THREAD_ID"
# Create thread with initial message
pilotctl --json publish "$PEER" "$TOPIC" --data "{\"action\":\"create\",\"thread_id\":\"$THREAD_ID\",\"subject\":\"$SUBJECT\",\"message\":\"Let's plan the Q2 data processing pipeline.\"}"
echo "Created thread: $THREAD_ID"
# Subscribe to thread responses
pilotctl --json subscribe "$PEER" "$TOPIC" --count 1 --timeout 60s | while read -r msg; do
ACTION=$(echo "$msg" | jq -r '.action')
TEXT=$(echo "$msg" | jq -r '.message')
if [ "$ACTION" = "reply" ]; then
echo "Response: $TEXT"
# Continue conversation
pilotctl --json publish "$PEER" "$TOPIC" --data "{\"action\":\"reply\",\"thread_id\":\"$THREAD_ID\",\"message\":\"Great! Can you handle 100K records per hour?\"}"
break
fi
done
Dependencies
Requires pilot-protocol, pilotctl, jq. Thread management uses pub/sub channels with thread-specific topics.