Pilot Workflow

v1.0.0

YAML-defined multi-step workflows with orchestration. Use this skill when: 1. You need complex multi-step workflows with conditional logic 2. You want declar...

0· 75·0 current·0 all-time
byCalin Teodor@teoslayer

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for teoslayer/pilot-workflow.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Pilot Workflow" (teoslayer/pilot-workflow) from ClawHub.
Skill page: https://clawhub.ai/teoslayer/pilot-workflow
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: pilotctl
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install pilot-workflow

ClawHub CLI

Package manager switcher

npx clawhub@latest install pilot-workflow
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, required binary (pilotctl), and instructions all target Pilot Protocol workflow orchestration. The skill also documents needing jq/yq and Bash 4+, which are appropriate for the provided shell-based workflow engine.
Instruction Scope
Instructions are limited to reading a YAML file, selecting agents via pilotctl, submitting tasks, and polling status — all within the stated purpose. Note: the workflow sends user-defined task payloads to remote agents (via pilotctl). That is expected for orchestration, but users should avoid embedding secrets or sensitive data in tasks and should ensure they trust the target agents/daemon.
Install Mechanism
This is instruction-only with no install spec or external downloads. No code is written to disk by the skill itself, lowering install risk.
Credentials
No environment variables, credentials, or config paths are requested. The skill's behavior relies on the local pilotctl daemon and expected CLI tools (jq, yq, Bash), which is proportionate to a workflow orchestrator.
Persistence & Privilege
The skill is user-invocable and not forced-always. It does not request persistent privileges or modify other skills; autonomous invocation is allowed by default but not a special permission here.
Assessment
This skill appears to be what it claims: a YAML-driven orchestrator that uses pilotctl to dispatch tasks to agents. Before installing or using it: 1) Ensure pilotctl points to a trusted Pilot Protocol daemon and that you trust peers selected by tag, because tasks (including their payloads) will be sent to remote agents. 2) Do not include secrets or sensitive data in step.task fields. 3) Install and verify jq and yq (the SKILL.md requires them, but the registry metadata only declared pilotctl — ensure those binaries are available). 4) Note the AGPL-3.0 license if that affects your project. If you want tighter safety, add validation or sanitization of task payloads and restrict which agent tags can be targeted.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binspilotctl
latestvk97eaek2t012mbmmrgfwk62zt585cg8p
75downloads
0stars
1versions
Updated 5d ago
v1.0.0
MIT-0

pilot-workflow

YAML-defined multi-step workflows with advanced orchestration capabilities. Enables declarative workflow specifications with conditional branching, loops, parallel execution, and event-driven triggers.

Commands

Define workflow YAML

name: data-pipeline
version: 1.0

triggers:
  - type: schedule
    cron: "0 */6 * * *"

steps:
  - id: fetch
    agent: tag:api-gateway
    task: "Fetch data from https://api.example.com/data"

  - id: validate
    depends_on: fetch
    agent: tag:validator
    task: "Validate data structure and integrity"

  - id: transform
    depends_on: validate
    condition: "${validate.result.valid} == true"
    agent: tag:etl
    task: "Transform data to parquet format"

Execute workflow

./pilot-workflow-engine.sh workflow.yaml

Monitor workflow

pilotctl --json task list --type submitted | \
  jq -r '.[] | select(.metadata.workflow_id == "data-pipeline-001")'

Workflow Example

Complete workflow engine:

#!/bin/bash
# Pilot workflow engine - execute YAML-defined workflows

WORKFLOW_FILE=$1
WORKFLOW_NAME=$(yq eval '.name' "$WORKFLOW_FILE")
WORKFLOW_ID="${WORKFLOW_NAME}-$(date +%s)"
STEP_COUNT=$(yq eval '.steps | length' "$WORKFLOW_FILE")

echo "Workflow: $WORKFLOW_NAME ($STEP_COUNT steps)"

declare -A STEP_RESULTS
declare -A STEP_STATUS

# Execute each step
for ((STEP_IDX=0; STEP_IDX<STEP_COUNT; STEP_IDX++)); do
  STEP=$(yq eval ".steps[$STEP_IDX]" "$WORKFLOW_FILE")

  STEP_ID=$(echo "$STEP" | yq eval '.id' -)
  STEP_AGENT=$(echo "$STEP" | yq eval '.agent' -)
  STEP_TASK=$(echo "$STEP" | yq eval '.task' -)

  echo "Step $((STEP_IDX + 1)): $STEP_ID"

  # Find agent by tag
  if [[ $STEP_AGENT == tag:* ]]; then
    TAG=$(echo "$STEP_AGENT" | cut -d: -f2)
    AGENT=$(pilotctl --json peers --search "$TAG" | \
      jq -r 'sort_by(-.polo_score) | .[0].address')
  else
    AGENT="$STEP_AGENT"
  fi

  # Submit task
  TASK_RESULT=$(pilotctl --json task submit "$AGENT" --task "$STEP_TASK")

  TASK_ID=$(echo "$TASK_RESULT" | jq -r '.task_id')

  # Wait for completion
  while true; do
    STATUS=$(pilotctl --json task list --type submitted | \
      jq -r ".[] | select(.task_id == \"$TASK_ID\") | .status")

    if [ "$STATUS" == "completed" ]; then
      STEP_STATUS[$STEP_ID]="completed"
      RESULT=$(pilotctl --json task list --type submitted | \
        jq -r ".[] | select(.task_id == \"$TASK_ID\") | .result")
      STEP_RESULTS[$STEP_ID]="$RESULT"
      break
    fi
    sleep 2
  done
done

echo "Workflow completed: $WORKFLOW_ID"

Dependencies

Requires pilot-protocol skill with running daemon, jq for JSON parsing, yq for YAML parsing (brew install yq), and Bash 4.0+ for associative arrays.

Comments

Loading comments...