mcpField
C
clawflows

clawflows

github.com/alphaonedevエージェントワークフロー147 回インストール
リポジトリ

clawflows について

clawflows は、OpenClaw で複数ステップのワークフローを定義・実行するスキルです。条件分岐、イベントトリガー、スケジュール、再試行に対応し、CLI と API の利用方法を示します。

主な機能

  1. 01JSON または YAML による定義
  2. 02条件付きステップ
  3. 03Webhook とファイルのトリガー
  4. 04Cron 形式のスケジュール
  5. 05再試行回数の設定

活用シーン

  1. 01定期的なデータバックアップの実行
  2. 02ファイル変更時の処理
  3. 03OpenClaw ツールをまたぐ条件付き処理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill clawflows

インストール後、Claude Code で/clawflowsを入力して読み込まれたか確認します。

詳細

clawflows

目的

このスキルは、複数ステップのタスクチェーンを定義し、条件ロジック、トリガー、スケジュールを組み込むことで、OpenClaw のワークフローを自動化し、複雑な操作を効率化します。

使用する場面

データパイプラインの処理、条件に応じた判断(例:ファイルが存在する場合に実行)、イベント駆動型のトリガー(例:API 呼び出し時)、スケジュールされたジョブ(例:日次レポート)など、繰り返し行うタスクのシーケンスにこのスキルを使用します。複数の OpenClaw ツールや外部サービスを統合するなど、オーケストレーションが必要なシナリオで活用してください。

主な機能

  • タスクチェーンの定義:JSON 設定でステップを指定します。例:{"steps": [{"name": "step1", "action": "run_script"}, {"name": "step2", "action": "send_email"}]}
  • 条件ロジック:設定で if-else を使用します。例:{"condition": "if status == 'success' then next: step2 else: abort"}
  • トリガー:Webhook やファイル変更などのイベントベースのトリガーを設定します。例:{"trigger": {"type": "http", "endpoint": "/webhook"}} を使用
  • スケジュール:cron 形式のスケジュールを使用します。例:{"schedule": "0 0 * * *"} で毎日午前 0 時に実行
  • エラー回復:失敗したステップの再試行機能を内蔵しており、ステップごとに設定できます

使用パターン

ワークフローを作成して実行するには、まず設定ファイル(JSON/YAML)を定義し、次に CLI または API を使用して実行します。シンプルなフローには CLI を直接使用し、プログラムから利用する場合は API と統合します。認証用の環境変数を必ず設定してください。例:export CLAWFLOWS_API_KEY=$SERVICE_API_KEY。スケジュールを設定する前に、フローを単独でテストしてください。一般的なパターンは、設定を読み込み、検証して実行し、出力を監視することです。

主なコマンド/API

手早く操作するには、OpenClaw CLI を使用します。

  • フローの作成:clawflows create --name myworkflow --config path/to/config.json --cluster community
  • フローの実行:clawflows run --flow-id 123 --env VAR=VALUE(ステータスの JSON を出力)
  • フローのスケジュール設定:clawflows schedule --flow-id 123 --cron "0 9 * * *" --trigger-type http
  • API エンドポイント:POST /api/workflows で作成(本文:{"name": "myworkflow", "steps": [...] })、GET /api/workflows/{id} で取得 Python での API 呼び出しコードスニペット:
import requests
headers = {"Authorization": f"Bearer {os.environ['CLAWFLOWS_API_KEY']}"}
response = requests.post("https://api.openclaw.com/api/workflows", headers=headers, json={"name": "test", "steps": [{"action": "echo hello"}]})
print(response.json())

設定形式の例(JSON): { "steps": [ {"name": "step1", "action": "run_command", "command": "ls -l"}, {"name": "step2", "condition": "step1.success", "action": "log_message", "message": "Success!"} ] }

統合に関する注意事項

ステップのアクションで他の OpenClaw スキルを参照して、clawflows と統合します。例:{"action": "call_skill", "skill_id": "another_skill"}。認証では、API リクエストに $CLAWFLOWS_API_KEY などの環境変数を使用します。外部ツールと組み合わせる場合は、JSON パスで出力をマッピングします。例:設定で {"input_mapping": {"var1": "$.output.data"}}。コマンドでクラスターを指定し、互換性を確保してください。例:--cluster community。Webhook では、POST /api/triggers/{flow-id} を介してフローを起動するエンドポイントを公開します。

エラー処理

一般的なエラーには、認証エラー(HTTP 401)、無効な設定(例:JSON の構文エラー)、ステップのタイムアウトなどがあります。実行前に $CLAWFLOWS_API_KEY を確認してください。また、問題を早期に検出するには clawflows validate --config path/to/config.json を使用します。コードでは、API 呼び出しを try-except ブロックで囲みます。

try:
    response = requests.post("https://api.openclaw.com/api/workflows", headers=headers, json=data)
    response.raise_for_status()
except requests.exceptions.HTTPError as e:
    print(f"Error: {e.response.status_code} - {e.response.text}")

実行時エラーに備えるには、設定で再試行を指定します。例:{"step": {"action": "...", "retries": 3, "timeout": 30}}。clawflows logs --flow-id 123 でログを監視し、条件付きステップを使用して重大な障害時に中止します。

具体的な使用例

例1:データバックアップのワークフローを自動化します。設定ファイルを作成します:{"steps": [{"name": "backup", "action": "run_command", "command": "rsync /data/ backup-server:"}, {"condition": "backup.success", "action": "send_email", "to": "[email protected]", "subject": "Backup complete"}]} 次に、clawflows create --name backupflow --config backup.json を実行し、clawflows schedule --flow-id 456 --cron "0 2 * * *" でスケジュールを設定します。 例2:ファイルの変更時にワークフローを起動します。次のように定義します:{"trigger": {"type": "file_watch", "path": "/monitored/dir"}, "steps": [{"action": "process_file", "file": "$.trigger.file"}]} API 経由で実行するには、設定を指定して POST /api/workflows を呼び出し、clawflows run --flow-id 789 --watch で監視します。

グラフ上の関係

  • 関連先:openclaw-core(基本的なタスク実行)、openclaw-triggers(イベント処理)、community-cluster(エコシステムの一部)
  • 依存先:API アクセス用の認証サービス
  • 統合先:データ取得や通知などのステップで使用する外部 API

コメント