Pilot Digital Twin Setup
v1.0.0Deploy a digital twin platform with 4 agents. Use this skill when: 1. User wants to set up a digital twin for physical asset monitoring and predictive mainte...
Security Scan
Capability signals
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
OpenClaw
Benign
medium confidencePurpose & Capability
The name/description (deploy a 4‑agent digital twin) aligns with the declared runtime needs: it requires pilotctl and clawhub and instructs installing per-role pilot-* skills. Requested binaries and the actions (set-hostname, install skills, write a manifest, perform handshakes) are appropriate for this kind of setup.
Instruction Scope
Instructions are focused on installing role-specific skills, setting hostnames, writing a JSON manifest to ~/.pilot/setups/digital-twin.json, and performing peer handshakes. Two things to note: (1) the README/SKILL.md states that when both sides exchange a handshake, trust is auto-approved (this could be a security risk in adversarial networks); (2) the action-planner role sends maintenance orders to external systems (port 443), which is expected but means network egress will occur.
Install Mechanism
This is an instruction-only skill with no install spec and no code files. That minimizes supply-chain risk because nothing is downloaded or executed by the skill itself; it merely invokes existing local tools (clawhub, pilotctl).
Credentials
The skill itself requires no environment variables or credentials, which is proportional. However, it installs other pilot-* skills (e.g., pilot-slack-bridge, pilot-webhook-bridge) that will likely require external credentials (Slack tokens, webhook URLs, etc.) when configured — the SKILL.md does not surface these downstream requirements.
Persistence & Privilege
The skill is not always-enabled, does not request broad system privileges, and only writes a manifest to a user-scoped path (~/.pilot). It does not claim to modify other skills' configurations beyond installing them via clawhub.
Assessment
This skill appears coherent for deploying a small digital‑twin stack, but review these before proceeding: 1) Confirm pilotctl and clawhub are the official, expected binaries (don’t run unknown executables). 2) Back up any existing ~/.pilot content; the skill writes a manifest to ~/.pilot/setups/digital-twin.json. 3) Be aware that installed downstream skills (webhook/slack bridges, etc.) will likely prompt for external credentials — only provide secrets you trust and scope them appropriately. 4) The setup auto‑approves trust when both sides exchange handshakes; if you’re in an untrusted or exposed network, consider manual verification steps or network controls to prevent accidental pairing. 5) If you need higher assurance, inspect the clawhub/pilot-* packages you’ll install to confirm they don’t request unrelated credentials or make unexpected outbound connections.Like a lobster shell, security has layers — review code before you run it.
Runtime requirements
Binspilotctl, clawhub
latest
Digital Twin Setup
Deploy 4 agents: sensor-bridge, model-engine, anomaly-detector, and action-planner.
Roles
| Role | Hostname | Skills | Purpose |
|---|---|---|---|
| sensor-bridge | <prefix>-sensor-bridge | pilot-stream-data, pilot-metrics, pilot-gossip | Ingests real-time telemetry from physical assets |
| model-engine | <prefix>-model-engine | pilot-dataset, pilot-task-router, pilot-consensus | Maintains physics model, runs simulations |
| anomaly-detector | <prefix>-anomaly-detector | pilot-event-filter, pilot-alert, pilot-audit-log | Detects drift between real and predicted behavior |
| action-planner | <prefix>-action-planner | pilot-webhook-bridge, pilot-cron, pilot-slack-bridge | Schedules maintenance, notifies field teams |
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 sensor-bridge:
clawhub install pilot-stream-data pilot-metrics pilot-gossip
# For model-engine:
clawhub install pilot-dataset pilot-task-router pilot-consensus
# For anomaly-detector:
clawhub install pilot-event-filter pilot-alert pilot-audit-log
# For action-planner:
clawhub install pilot-webhook-bridge pilot-cron pilot-slack-bridge
Step 3: Set the hostname and write the manifest to ~/.pilot/setups/digital-twin.json.
Step 4: Tell the user to initiate handshakes with the peers for their role.
Manifest Templates Per Role
sensor-bridge
{
"setup": "digital-twin", "role": "sensor-bridge", "role_name": "Sensor Bridge",
"hostname": "<prefix>-sensor-bridge",
"skills": {
"pilot-stream-data": "Ingest real-time sensor telemetry from physical assets.",
"pilot-metrics": "Track sensor health, sampling rates, and data quality.",
"pilot-gossip": "Discover and sync with peer sensor bridges."
},
"data_flows": [{ "direction": "send", "peer": "<prefix>-model-engine", "port": 1002, "topic": "telemetry", "description": "Unified telemetry stream from physical assets" }],
"handshakes_needed": ["<prefix>-model-engine"]
}
model-engine
{
"setup": "digital-twin", "role": "model-engine", "role_name": "Model Engine",
"hostname": "<prefix>-model-engine",
"skills": {
"pilot-dataset": "Store physics model parameters and simulation state.",
"pilot-task-router": "Route simulation tasks across asset models.",
"pilot-consensus": "Reconcile model state across redundant engines."
},
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-sensor-bridge", "port": 1002, "topic": "telemetry", "description": "Real-time sensor data" },
{ "direction": "send", "peer": "<prefix>-anomaly-detector", "port": 1002, "topic": "prediction", "description": "Expected behavior baselines and drift metrics" }
],
"handshakes_needed": ["<prefix>-sensor-bridge", "<prefix>-anomaly-detector"]
}
anomaly-detector
{
"setup": "digital-twin", "role": "anomaly-detector", "role_name": "Anomaly Detector",
"hostname": "<prefix>-anomaly-detector",
"skills": {
"pilot-event-filter": "Filter predictions by drift threshold and severity.",
"pilot-alert": "Emit anomaly alerts for critical deviations.",
"pilot-audit-log": "Log all detected anomalies with evidence snapshots."
},
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-model-engine", "port": 1002, "topic": "prediction", "description": "Model predictions to compare" },
{ "direction": "send", "peer": "<prefix>-action-planner", "port": 1002, "topic": "anomaly-alert", "description": "Anomaly alerts with severity and root cause" }
],
"handshakes_needed": ["<prefix>-model-engine", "<prefix>-action-planner"]
}
action-planner
{
"setup": "digital-twin", "role": "action-planner", "role_name": "Action Planner",
"hostname": "<prefix>-action-planner",
"skills": {
"pilot-webhook-bridge": "Push maintenance orders to field team systems.",
"pilot-cron": "Schedule maintenance windows during low-impact periods.",
"pilot-slack-bridge": "Notify operations teams of recommended interventions."
},
"data_flows": [
{ "direction": "receive", "peer": "<prefix>-anomaly-detector", "port": 1002, "topic": "anomaly-alert", "description": "Anomaly alerts to act on" },
{ "direction": "send", "peer": "external", "port": 443, "topic": "maintenance-order", "description": "Work orders to field management systems" }
],
"handshakes_needed": ["<prefix>-anomaly-detector"]
}
Data Flows
sensor-bridge -> model-engine: real-time telemetry from physical assets (port 1002)model-engine -> anomaly-detector: predictions and expected behavior baselines (port 1002)anomaly-detector -> action-planner: anomaly alerts with severity and root cause (port 1002)action-planner -> external: maintenance orders to field team systems (port 443)
Workflow Example
# On sensor-bridge -- stream telemetry:
pilotctl --json publish <prefix>-model-engine telemetry '{"asset_id":"PUMP-A7","sensors":{"temperature_c":87.3,"vibration_mm_s":4.2}}'
# On model-engine -- send prediction:
pilotctl --json publish <prefix>-anomaly-detector prediction '{"asset_id":"PUMP-A7","drift_pct":{"temperature":6.3,"vibration":50.0}}'
# On anomaly-detector -- alert planner:
pilotctl --json publish <prefix>-action-planner anomaly-alert '{"asset_id":"PUMP-A7","severity":"warning","anomaly_type":"bearing_degradation"}'
Dependencies
Requires pilot-protocol skill, pilotctl binary, clawhub binary, and a running daemon.
Comments
Loading comments...
