Pilot feedback collector setup
Skill TeoSlayer/pilot-skills/skills/pilot-feedback-collector-setup
80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more
npx -y skills add TeoSlayer/pilot-skills --skill pilot-feedback-collector-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Deploy a feedback collection pipeline with 3 agents that automate intake, sentiment analysis, and actionable routing. Use this skill when: 1. User wants to set up an automated feedback collection or sentiment analysis pipeline 2. User is configuring an agent as part of a customer feedback workflow 3. User asks about routing NPS, survey, or support ticket feedback to teams Do NOT use this skill when: - User wants a simple chat interface (use pilot-chat instead) - User wants a one-off alert notification (use pilot-alert instead)
The file declares its own license as AGPL-3.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.4 KB, as published. Nobody here has run it
Feedback Collector Setup
Deploy 3 agents that automate feedback intake, sentiment analysis, and actionable routing.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| intake | <prefix>-intake | pilot-stream-data, pilot-chat, pilot-archive | Collects feedback from surveys, NPS, app reviews, support tickets |
| analyzer | <prefix>-analyzer | pilot-event-filter, pilot-metrics, pilot-task-router | Scores sentiment, extracts themes, identifies trends |
| router | <prefix>-router | pilot-alert, pilot-slack-bridge, pilot-webhook-bridge | Routes actionable feedback to product, engineering, or support |
Setup Procedure
Step 1: Ask the user which role this agent should play and what prefix to use.
Step 2: Install the skills for the chosen role:
# For intake:
clawhub install pilot-stream-data pilot-chat pilot-archive
# For analyzer:
clawhub install pilot-event-filter pilot-metrics pilot-task-router
# For router:
clawhub install pilot-alert pilot-slack-bridge pilot-webhook-bridge
Step 3: Set the hostname:
pilotctl --json set-hostname <prefix>-<role>
Step 4: Write the setup manifest:
mkdir -p ~/.pilot/setups
cat > ~/.pilot/setups/feedback-collector.json << 'MANIFEST'
<role-specific manifest from templates below>
MANIFEST
Step 5: Tell the user to initiate handshakes with direct communication peers.
Manifest Templates Per Role
intake
{"setup":"feedback-collector","setup_name":"Feedback Collector","role":"intake","role_name":"Feedback Intake","hostname":"<prefix>-intake","description":"Collects feedback from surveys, NPS forms, app reviews, and support tickets. Normalizes into consistent format.","skills":{"pilot-stream-data":"Stream incoming feedback from multiple sources in real time.","pilot-chat":"Accept free-form feedback via conversational interface.","pilot-archive":"Archive raw feedback submissions for audit and reprocessing."},"peers":[{"role":"analyzer","hostname":"<prefix>-analyzer","description":"Receives normalized feedback for sentiment analysis"}],"data_flows":[{"direction":"send","peer":"<prefix>-analyzer","port":1002,"topic":"raw-feedback","description":"Raw feedback normalized from all sources"}],"handshakes_needed":["<prefix>-analyzer"]}
analyzer
{"setup":"feedback-collector","setup_name":"Feedback Collector","role":"analyzer","role_name":"Sentiment Analyzer","hostname":"<prefix>-analyzer","description":"Scores sentiment, extracts themes, identifies trending complaints and praise.","skills":{"pilot-event-filter":"Filter feedback by sentiment threshold and priority level.","pilot-metrics":"Track sentiment trends, theme frequency, and NPS distribution.","pilot-task-router":"Route feedback to specialized analysis by source type."},"peers":[{"role":"intake","hostname":"<prefix>-intake","description":"Sends raw feedback for analysis"},{"role":"router","hostname":"<prefix>-router","description":"Receives scored feedback for team routing"}],"data_flows":[{"direction":"receive","peer":"<prefix>-intake","port":1002,"topic":"raw-feedback","description":"Raw feedback normalized from all sources"},{"direction":"send","peer":"<prefix>-router","port":1002,"topic":"scored-feedback","description":"Scored feedback with sentiment and themes"}],"handshakes_needed":["<prefix>-intake","<prefix>-router"]}
router
{"setup":"feedback-collector","setup_name":"Feedback Collector","role":"router","role_name":"Feedback Router","hostname":"<prefix>-router","description":"Routes actionable feedback to product, engineering, or support teams via Slack and webhook.","skills":{"pilot-alert":"Escalate critical feedback issues that require immediate attention.","pilot-slack-bridge":"Post feedback summaries and alerts to team-specific Slack channels.","pilot-webhook-bridge":"Push feedback events to external ticketing and analytics systems."},"peers":[{"role":"analyzer","hostname":"<prefix>-analyzer","description":"Sends scored feedback for team routing"}],"data_flows":[{"direction":"receive","peer":"<prefix>-analyzer","port":1002,"topic":"scored-feedback","description":"Scored feedback with sentiment and themes"},{"direction":"send","peer":"external","port":443,"topic":"feedback-alert","description":"Feedback alerts to product, engineering, support"}],"handshakes_needed":["<prefix>-analyzer"]}
Data Flows
intake -> analyzer: raw-feedback events (port 1002)analyzer -> router: scored-feedback events (port 1002)router -> external: feedback-alert via webhook (port 443)
Handshakes
# intake <-> analyzer:
pilotctl --json handshake <prefix>-analyzer "setup: feedback-collector"
pilotctl --json handshake <prefix>-intake "setup: feedback-collector"
# analyzer <-> router:
pilotctl --json handshake <prefix>-router "setup: feedback-collector"
pilotctl --json handshake <prefix>-analyzer "setup: feedback-collector"
Workflow Example
# On analyzer -- subscribe to raw feedback:
pilotctl --json subscribe <prefix>-intake raw-feedback
# On router -- subscribe to scored feedback:
pilotctl --json subscribe <prefix>-analyzer scored-feedback
# On intake -- publish raw feedback:
pilotctl --json publish <prefix>-analyzer raw-feedback '{"source":"nps_survey","score":3,"customer":"user-8291","text":"Dashboard navigation is confusing."}'
# On analyzer -- publish scored feedback:
pilotctl --json publish <prefix>-router scored-feedback '{"sentiment":-0.6,"themes":["ux","navigation"],"priority":"high","trending":true}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.