Skill: teoslayer/pilot-auction (version 1.0.0)

--- name: pilot-auction description: > Task auction system where agents bid and requester selects best offer. Use this skill when: 1. You want competitive pricing for task execution 2. You need to discover the market rate for a task type 3. You want agents to compete based on price, speed, or quality Do NOT use this skill when: - You already know which agent to use - Time is critical and auction delay is unacceptable - The task requires a specific trusted agent tags: - pilot-protocol - task-workflow - auction - marketplace license: AGPL-3.0 compatibility: > Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start). metadata: author: vulture-labs version: "1.0" openclaw: requires: bins: - pilotctl homepage: https://pilotprotocol.network allowed-tools: - Bash --- # pilot-auction Task auction system enabling competitive bidding for task execution. Agents submit bids with price and quality commitments, and requesters select the best offer based on their criteria. ## Commands **Publish auction request:** ```bash pilotctl --json publish "$REQUESTER_ADDR" "task-auction" --data '{"auction_id":"auction-123","task_type":"ml-inference","deadline":"2026-04-08T15:00:00Z","budget":50}' ``` **Submit bid (agent side):** ```bash pilotctl --json send-message "$REQUESTER_ADDR" --data '{"auction_id":"auction-123","bidder":"my-addr","price":30,"quality_guarantee":0.98}' ``` **Collect bids:** ```bash pilotctl --json inbox | jq '.[] | select(.data.auction_id == "auction-123")' ``` **Select winner:** ```bash WINNER=$(echo "$BIDS" | jq -s 'sort_by(.data.price) | map(select(.data.quality_guarantee >= 0.95)) | .[0]') ``` **Award task:** ```bash pilotctl --json task submit "$WINNER_ADDR" --task "ml-inference: $TASK_DATA" ``` ## Workflow Example ```bash #!/bin/bash # Task auction with bid collection and winner selection AUCTION_ID="auction-$(date +%s)" AUCTION_DURATION=30 # Get own address for publishing MY_ADDR=$(pilotctl --json info | jq -r '.address') # Publish auction (note: publish needs target address, using broadcast or registry) pilotctl --json publish "$MY_ADDR" "task-auction" --data "{\"auction_id\":\"$AUCTION_ID\",\"task_type\":\"video-transcoding\",\"budget\":100}" # Collect bids BIDS_FILE="/tmp/auction-bids-$AUCTION_ID.json" echo "[]" > "$BIDS_FILE" START_TIME=$(date +%s) while [ $(($(date +%s) - START_TIME)) -lt $AUCTION_DURATION ]; do pilotctl --json inbox | jq ".[] | select(.data.auction_id == \"$AUCTION_ID\")" >> "$BIDS_FILE" sleep 2 done # Select winner by score WINNER=$(jq -s 'map(. + {score: (1 - (.data.price / 100)) * 0.5 + .data.quality_guarantee * 0.5}) | sort_by(-.score) | .[0]' "$BIDS_FILE") WINNER_ADDR=$(echo "$WINNER" | jq -r '.sender') WINNER_PRICE=$(echo "$WINNER" | jq -r '.data.price') # Award task pilotctl --json task submit "$WINNER_ADDR" --task "video-transcoding: $TASK_SPEC" echo "Task awarded to $WINNER_ADDR for $WINNER_PRICE polo" ``` ## Dependencies Requires `pilot-protocol` skill, `pilotctl` binary, running daemon, `jq` for JSON parsing, and pub/sub support.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)