claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

🚀output-workflow-start

プラグイン
outputai

説明

完了を待たずに、Output SDK ワークフローを非同期で開始します。 次のような場合に使用: - 長時間実行されるワークフローを開始する - 後から監視するためのワークフロー ID を取得する - バックグラウンドでワークフローを実行する - 複数のワークフローを並列で実行する

原文を表示

Start an Output SDK workflow asynchronously without waiting for completion. Use when starting long-running workflows, getting a workflow ID for later monitoring, running workflows in the background, or executing multiple workflows in parallel.

ユースケース

  • 長時間実行されるワークフローを開始する
  • 後から監視するためのワークフロー ID を取得する
  • バックグラウンドでワークフローを実行する
  • 複数のワークフローを並列で実行する

本文(日本語訳)

ワークフローの非同期起動

概要

このスキルはワークフローを非同期で起動します。つまり、ワークフローがバックグラウンドで実行される間、コマンドはすぐにワークフロー ID を返して終了します。 実行時間が長いワークフローや、複数のワークフローを並列実行したい場合に使用してください。

このスキルを使う場面

  • 数分〜数時間かかるワークフローを起動する場合
  • 複数のワークフローを並列実行する場合
  • 一度切断して、後から結果を確認したい場合
  • ワークフローの進捗を別途モニタリングする場合
  • トラッキング用のワークフロー ID をすぐに取得する必要がある場合

同期実行を使うべき場面

次のような場合は npx output workflow run(同期)の使用を検討してください:

  • ワークフローがすぐに(数秒以内に)完了する場合
  • ターミナルで結果をすぐに確認したい場合
  • 開発中の簡単なテストを行う場合
  • 結果まで含めて 1 つのコマンドで完結させたい場合

使用方法

基本構文

npx output workflow start <workflowName> --input '<json-input>'
npx output workflow start <workflowName> --input <path-to-json-file>

ワークフローが入力データを必要とする場合、--input フラグは必須です。

入力方法

1. インライン JSON

コマンドライン上に JSON を直接指定します:

npx output workflow start data-migration --input '{"batchSize": 1000}'

2. ファイルパス(推奨)

入力データを含む JSON ファイルを参照します:

npx output workflow start data-migration --input src/data_migration/scenarios/large_batch.json

この方法を推奨する理由:

  • 入力内容がバージョン管理され、再現性が確保される
  • 複雑な入力も読み書きしやすい
  • シナリオをチームで共有・再利用できる

ワークフロー ID の取得

コマンド実行後に出力されるワークフロー ID は、以下の操作に必要です:

  • ステータス確認: npx output workflow status <id>
  • 結果の取得: npx output workflow result <id>
  • デバッグ: npx output workflow debug <id>

使用例

シナリオ: シナリオファイルを使って実行時間の長いワークフローを起動する

npx output workflow start data-migration --input src/data_migration/scenarios/full_migration.json

# 出力例:
# Started workflow: data-migration
# Workflow ID: abc123xyz
# Use 'npx output workflow status abc123xyz' to check progress

シナリオ: シナリオファイルを使って複数のワークフローを並列起動する

# 異なるシナリオファイルで複数のワークフローを起動
npx output workflow start process-batch --input src/process_batch/scenarios/batch_1.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_2.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_3.json

# 注意: 後から確認できるよう、ワークフロー ID を保存しておいてください

シナリオ: シナリオを作成してからワークフローを起動する

# シナリオファイルを作成
mkdir -p src/generate_report/scenarios
cat > src/generate_report/scenarios/annual_2024.json << 'EOF'
{
  "year": 2024,
  "includeCharts": true,
  "format": "pdf"
}
EOF

# ワークフローを起動
npx output workflow start generate-report --input src/generate_report/scenarios/annual_2024.json
# 出力例: Workflow ID: report-2024-abc

# 定期的にステータスを確認
npx output workflow status report-2024-abc
# 出力例: Status: RUNNING

# しばらく後に再確認
npx output workflow status report-2024-abc
# 出力例: Status: COMPLETED

# 結果を取得
npx output workflow result report-2024-abc

シナリオ: 開発中のクイックインラインテスト

npx output workflow start quick-job --input '{"test": true}'

シナリオ: 並列実行用スクリプト

# ワークフローを起動して ID をキャプチャ
ID1=$(npx output workflow start job --input src/job/scenarios/type_a.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
ID2=$(npx output workflow start job --input src/job/scenarios/type_b.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')

# 待機してから結果を確認
npx output workflow result $ID1
npx output workflow result $ID2

起動後のフォローアップ

ステータスの確認

npx output workflow status <workflowId>

ステータスの値:

  • RUNNING: 実行中
  • COMPLETED: 正常に完了
  • FAILED: エラーが発生
  • TERMINATED: 手動で停止された

結果の取得

npx output workflow result <workflowId>

COMPLETED 状態のワークフローにのみ有効です。FAILED の場合はデバッグコマンドを使用してください。

失敗時のデバッグ

npx output workflow debug <workflowId> --json

必要に応じた停止

npx output workflow stop <workflowId>

ワークフロー ID の管理

複数のワークフローを起動する場合は、ID を適切に記録しておきましょう:

# ID をファイルに記録
npx output workflow start batch-job --input src/batch_job/scenarios/id_1.json >> workflow-ids.txt
npx output workflow start batch-job --input src/batch_job/scenarios/id_2.json >> workflow-ids.txt

# または、ID が予測可能になるような命名規則をワークフロー内で使用する

ベストプラクティス

  1. シナリオファイルを活用する: 再現性のために入力データは src/<workflow>/scenarios/ に保存する
  2. ワークフロー ID を保存する: 後から参照できるよう、必ず ID を記録しておく
  3. 長時間ワークフローを監視する: npx output workflow status で進捗を定期確認する
  4. 失敗に備える: 結果を取得する前にステータスを確認する
  5. クリーンアップする: 停止したままのワークフローは npx output workflow stop で終了させる

関連コマンド

  • npx output workflow run <name> --input — 同期実行
  • npx output workflow status <id> — 実行ステータスの確認
  • npx output workflow result <id> — 実行結果の取得
  • npx output workflow stop <id> — 実行中のワークフローを停止
  • npx output workflow debug <id> — ワークフロー実行のデバッグ
原文(English)を表示

Start Workflow Asynchronously

Overview

This skill starts a workflow asynchronously, meaning the command returns immediately with a workflow ID while the workflow executes in the background. Use this for long-running workflows or when you need to run multiple workflows in parallel.

When to Use This Skill

  • Starting workflows that take minutes or hours
  • Running multiple workflows in parallel
  • When you need to disconnect and check results later
  • Monitoring workflow progress separately
  • When you need the workflow ID immediately for tracking

When to Use Sync Instead

Consider using npx output workflow run (sync) when:

  • Workflow completes quickly (seconds)
  • You need the result immediately in your terminal
  • Simple testing during development
  • You want a single command with the result

Instructions

Basic Syntax

npx output workflow start <workflowName> --input '<json-input>'
npx output workflow start <workflowName> --input <path-to-json-file>

The --input flag is required when the workflow expects input data.

Input Methods

1. Inline JSON

Pass JSON directly on the command line:

npx output workflow start data-migration --input '{"batchSize": 1000}'

2. File Path (Recommended)

Reference a JSON file containing the input:

npx output workflow start data-migration --input src/data_migration/scenarios/large_batch.json

This is the recommended approach because:

  • Input is version controlled and reproducible
  • Complex inputs are easier to read and edit
  • Scenarios can be shared and reused

Getting the Workflow ID

The command outputs the workflow ID which you'll need for:

  • Checking status: npx output workflow status <id>
  • Getting results: npx output workflow result <id>
  • Debugging: npx output workflow debug <id>

Examples

Scenario: Start a long-running workflow with scenario file

npx output workflow start data-migration --input src/data_migration/scenarios/full_migration.json

# Output:
# Started workflow: data-migration
# Workflow ID: abc123xyz
# Use 'npx output workflow status abc123xyz' to check progress

Scenario: Start multiple workflows in parallel using scenario files

# Start several workflows with different scenario files
npx output workflow start process-batch --input src/process_batch/scenarios/batch_1.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_2.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_3.json

# Note: Save the workflow IDs to check them later

Scenario: Create scenario then start workflow

# Create a scenario file
mkdir -p src/generate_report/scenarios
cat > src/generate_report/scenarios/annual_2024.json << 'EOF'
{
  "year": 2024,
  "includeCharts": true,
  "format": "pdf"
}
EOF

# Start the workflow
npx output workflow start generate-report --input src/generate_report/scenarios/annual_2024.json
# Output: Workflow ID: report-2024-abc

# Check status periodically
npx output workflow status report-2024-abc
# Output: Status: RUNNING

# Later, check again
npx output workflow status report-2024-abc
# Output: Status: COMPLETED

# Get the result
npx output workflow result report-2024-abc

Scenario: Quick inline test for development

npx output workflow start quick-job --input '{"test": true}'

Scenario: Script for parallel execution

# Start workflows and capture IDs
ID1=$(npx output workflow start job --input src/job/scenarios/type_a.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
ID2=$(npx output workflow start job --input src/job/scenarios/type_b.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')

# Wait and check results
npx output workflow result $ID1
npx output workflow result $ID2

Following Up After Starting

Check Status

npx output workflow status <workflowId>

Status values:

  • RUNNING: Still executing
  • COMPLETED: Finished successfully
  • FAILED: Encountered an error
  • TERMINATED: Was manually stopped

Get Result

npx output workflow result <workflowId>

Only works for COMPLETED workflows. For FAILED workflows, use debug.

Debug If Failed

npx output workflow debug <workflowId> --json

Stop If Needed

npx output workflow stop <workflowId>

Workflow ID Management

When starting multiple workflows, keep track of IDs:

# Log IDs to a file
npx output workflow start batch-job --input src/batch_job/scenarios/id_1.json >> workflow-ids.txt
npx output workflow start batch-job --input src/batch_job/scenarios/id_2.json >> workflow-ids.txt

# Or use a naming convention in your workflow that makes IDs predictable

Best Practices

  1. Use scenario files: Store inputs in src/<workflow>/scenarios/ for reproducibility
  2. Save the workflow ID: Always note the ID for later reference
  3. Monitor long workflows: Use npx output workflow status to check progress
  4. Handle failures: Check status before getting results
  5. Clean up: Stop any stuck workflows with npx output workflow stop

Related Commands

  • npx output workflow run <name> --input - Execute synchronously
  • npx output workflow status <id> - Check execution status
  • npx output workflow result <id> - Get execution result
  • npx output workflow stop <id> - Stop a running workflow
  • npx output workflow debug <id> - Debug a workflow execution

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。