Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Pilot Dropbox

v1.0.0

Shared folder that automatically synchronizes between peers using Pilot Protocol pub/sub. Use this skill when: 1. You need a persistent shared folder that st...

0· 76· 1 versions· 0 current· 0 all-time· Updated 6h ago· MIT-0
byCalin Teodor@teoslayer

Install

openclaw skills install pilot-dropbox

pilot-dropbox

Shared folder implementation using Pilot Protocol pub/sub and file transfer. Provides Dropbox-like functionality with eventual consistency.

Essential Commands

Create and join shared folder

DROPBOX_DIR="$HOME/pilot-dropbox"
PEER="agent-b"
TOPIC="team-shared"
mkdir -p "$DROPBOX_DIR"

pilotctl --json subscribe "$PEER" "$TOPIC"

Publish file to folder

cp "$FILE" "$DROPBOX_DIR/"
FILENAME=$(basename "$FILE")
HASH=$(md5sum "$DROPBOX_DIR/$FILENAME" | cut -d' ' -f1)

pilotctl --json publish "$PEER" "$TOPIC" \
  --data "{\"type\":\"file_added\",\"filename\":\"$FILENAME\",\"hash\":\"$HASH\"}"

Remove file from folder

rm "$DROPBOX_DIR/$FILENAME"
pilotctl --json publish "$PEER" "$TOPIC" \
  --data "{\"type\":\"file_removed\",\"filename\":\"$FILENAME\"}"

Watch folder for changes

fswatch -0 "$DROPBOX_DIR" | while read -d "" changed_file; do
  [ -f "$changed_file" ] || continue
  FILENAME=$(basename "$changed_file")
  HASH=$(md5sum "$changed_file" | cut -d' ' -f1)
  pilotctl --json publish "$PEER" "$TOPIC" \
    --data "{\"type\":\"file_changed\",\"filename\":\"$FILENAME\",\"hash\":\"$HASH\"}"
done &

Workflow Example

Shared folder daemon:

#!/bin/bash
DROPBOX_DIR="$HOME/pilot-dropbox"
PEER="${1:-agent-b}"
TOPIC="team-shared"

mkdir -p "$DROPBOX_DIR"

# Listen for events
pilotctl --json subscribe "$PEER" "$TOPIC" | while read -r event; do
  TYPE=$(echo "$event" | jq -r '.type')
  FROM=$(echo "$event" | jq -r '.from')

  case "$TYPE" in
    file_added)
      FILENAME=$(echo "$event" | jq -r '.filename')
      HASH=$(echo "$event" | jq -r '.hash')

      if [ -f "$DROPBOX_DIR/$FILENAME" ]; then
        LOCAL_HASH=$(md5sum "$DROPBOX_DIR/$FILENAME" | cut -d' ' -f1)
        [ "$LOCAL_HASH" = "$HASH" ] && continue
      fi

      echo "Pulling: $FILENAME from $FROM"
      pilotctl --json send-message "$FROM" \
        --data "{\"type\":\"dropbox_pull\",\"filename\":\"$FILENAME\"}"
      ;;

    file_removed)
      FILENAME=$(echo "$event" | jq -r '.filename')
      rm -f "$DROPBOX_DIR/$FILENAME"
      ;;

    dropbox_pull)
      FILENAME=$(echo "$event" | jq -r '.filename')
      pilotctl --json send-file "$FROM" "$DROPBOX_DIR/$FILENAME"
      ;;
  esac
done

Dependencies

Requires pilot-protocol skill, pilotctl, jq, fswatch (macOS) or inotifywait (Linux), and file utilities.

Version tags

latestvk97amhcmzd2q2mrz8bgke8k5md84ham0

Runtime requirements

Binspilotctl