claude-skills/

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

last sync 22h ago
スキルOfficialdevelopment

⚙️output-workflow-run

プラグイン
outputai

説明

Output SDK ワークフローを同期的に実行し、結果を待機します。 次のような場合に使用: - ワークフローを実行して即時に結果が必要な場合 - ワークフローの実行をテストする場合 - ターミナルに直接出力結果を取得したい場合

原文を表示

Execute an Output SDK workflow synchronously and wait for the result. Use when running a workflow and needing immediate results, testing workflow execution, or getting the output directly in the terminal.

ユースケース

  • ワークフローを実行して即座に結果が必要なとき
  • ワークフロー実行をテストするとき
  • ターミナルに直接出力結果を取得したいとき

本文(日本語訳)

ワークフローの同期実行

概要

このスキルはワークフローを同期的に実行します。つまり、コマンドはワークフローが完了するまで待機し、結果を直接返します。 テスト、簡易実行、即時フィードバックが必要な場合に最適です。

このスキルを使用するタイミング

次のような場合に使用:

  • 開発中のワークフローをテストする
  • ワークフローを実行し、すぐに結果が必要なとき
  • 簡単な単発のワークフロー実行
  • 異なる入力でワークフローを再実行してデバッグする
  • ワークフローを別途モニタリングする必要がない場合

非同期実行を使用するタイミング

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

  • ワークフローの実行に長時間(数分〜数時間)かかる場合
  • 複数のワークフローを並列実行したい場合
  • 一度切断して後から結果を確認したい場合
  • 進行状況を別途モニタリングする必要がある場合

使い方

基本構文

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

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

入力方法

1. インライン JSON

コマンドラインに直接 JSON を渡します:

npx output workflow run example --input '{"question": "who really is ada lovelace?"}'

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

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

npx output workflow run simple --input src/simple/scenarios/question_ada_lovelace.json

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

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

シナリオフォルダのパターン(ベストプラクティス)

ワークフローには通常、テスト用入力データを格納する scenarios/ フォルダが用意されています:

src/
  my_workflow/
    workflow.ts
    steps.ts
    scenarios/
      basic_test.json
      edge_case_empty.json
      large_payload.json

推奨される手順:

  1. シナリオファイルに入力データを作成します:

    # scenarios フォルダが存在しない場合は作成
    mkdir -p src/my_workflow/scenarios
    
  2. シナリオファイルに入力内容を記述します:

    // src/my_workflow/scenarios/test_user.json
    {
      "userId": "123",
      "options": {
        "verbose": true
      }
    }
    
  3. シナリオを指定してワークフローを実行します:

    npx output workflow run my_workflow --input src/my_workflow/scenarios/test_user.json
    

入力例

# インライン JSON - シンプルなオブジェクト
npx output workflow run my-workflow --input '{"userId": "123"}'

# インライン JSON - 複雑なネストされた入力
npx output workflow run data-pipeline --input '{"source": "api", "options": {"limit": 100}}'

# ファイルパス - シナリオファイルを参照
npx output workflow run simple --input src/simple/scenarios/basic.json

# ファイルパス - カレントディレクトリからの相対パス
npx output workflow run batch-processor --input ./test_inputs/batch1.json

# 入力なし(ワークフローが入力を必要としない場合のみ)
npx output workflow run health-check

出力内容について

コマンドはワークフローの結果を標準出力(stdout)に直接返します。

成功時の出力

ワークフローの戻り値が表示されます(通常は JSON 形式)。

エラー時の出力

ワークフローが失敗した場合、以下の情報が表示されます:

  • エラーメッセージ
  • ワークフロー ID(追加デバッグ用)
  • npx output workflow debug で詳細を確認するよう促すメッセージ

実行例

シナリオ: シナリオファイルを使ってワークフローをテストする

# まず既存のシナリオを確認
ls src/simple/scenarios/

# シナリオファイルを使って実行
npx output workflow run simple --input src/simple/scenarios/basic_sum.json

# 出力例:
# { "sum": 6, "count": 3 }

シナリオ: 新しいテストシナリオを作成して実行する

# シナリオファイルを作成
cat > src/my_workflow/scenarios/test_case_1.json << 'EOF'
{
  "question": "What is the capital of France?",
  "context": "geography"
}
EOF

# ワークフローを実行
npx output workflow run my_workflow --input src/my_workflow/scenarios/test_case_1.json

シナリオ: 開発中に手軽にインラインでテストする

npx output workflow run example --input '{"question": "explain quantum computing"}'

シナリオ: デバッグのため異なる入力でワークフローを再実行する

# まずシナリオファイルで実行
npx output workflow run process-data --input src/process_data/scenarios/user_abc.json
# エラーが発生

# 問題を切り分けるための最小シナリオを作成
cat > src/process_data/scenarios/debug_minimal.json << 'EOF'
{"id": "test", "debug": true}
EOF

npx output workflow run process-data --input src/process_data/scenarios/debug_minimal.json

シナリオ: 出力結果をキャプチャしてさらに処理する

# 結果をファイルに保存
npx output workflow run generate-report --input src/generate_report/scenarios/jan_2024.json > report.json

# jq にパイプして処理
npx output workflow run get-users --input src/get_users/scenarios/active.json | jq '.users[].name'

エラーハンドリング

よくあるエラー

エラー 原因 対処法
"Workflow not found" ワークフロー名が正しくない npx output workflow list で確認する
"Invalid input" JSON がスキーマと一致していない ワークフローの inputSchema に合わせて入力を確認する
"Parse error" JSON の形式が不正、またはファイルが見つからない JSON 構文またはファイルパスを確認する
"Timeout" ワークフローの実行時間が長すぎる 長時間実行には非同期実行を使用する

失敗時の詳細確認

ワークフローが失敗すると、出力にワークフロー ID が含まれます。その ID を使って完全なトレースを取得できます:

npx output workflow run my-workflow --input src/my_workflow/scenarios/test.json
# 出力例: Workflow failed. ID: abc123xyz

npx output workflow debug abc123xyz --json

入力スキーマのヒント

  1. スキーマを先に確認する: コード内のワークフローの inputSchema を参照する
  2. シナリオファイルを活用する: ワークフローの scenarios/ フォルダに再利用可能なテスト入力を作成する
  3. 型を正しく指定する: 文字列はクォートで囲み、数値はクォートなし、真偽値は true/false を使用する
  4. 必須フィールドを含める: オプションでないスキーマフィールドはすべて指定する必要がある

関連コマンド

  • npx output workflow start <name> --input - 非同期で開始する
  • npx output workflow list - 利用可能なワークフローを確認する
  • npx output workflow debug <id> - 失敗した実行をデバッグする
原文(English)を表示

Run Workflow Synchronously

Overview

This skill executes a workflow synchronously, meaning the command waits for the workflow to complete and returns the result directly. This is ideal for testing, quick executions, and when you need immediate feedback.

When to Use This Skill

  • Testing a workflow during development
  • Running a workflow and needing the result immediately
  • Quick one-off workflow executions
  • Debugging by re-running a workflow with different inputs
  • When you don't need to monitor the workflow separately

When to Use Async Instead

Consider using npx output workflow start (async) when:

  • The workflow takes a long time (minutes to hours)
  • You need to run multiple workflows in parallel
  • You want to disconnect and check results later
  • You need to monitor progress separately

Instructions

Basic Syntax

npx output workflow run <workflowName> --input '<json-input>'
npx output workflow run <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 run example --input '{"question": "who really is ada lovelace?"}'

2. File Path (Recommended)

Reference a JSON file containing the input:

npx output workflow run simple --input src/simple/scenarios/question_ada_lovelace.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

Scenario Folder Pattern (Best Practice)

Workflows typically have a scenarios/ folder containing test inputs:

src/
  my_workflow/
    workflow.ts
    steps.ts
    scenarios/
      basic_test.json
      edge_case_empty.json
      large_payload.json

Best practice workflow:

  1. Create a scenario file with your input:

    # Create scenarios folder if it doesn't exist
    mkdir -p src/my_workflow/scenarios
    
  2. Write your input to a scenario file:

    // src/my_workflow/scenarios/test_user.json
    {
      "userId": "123",
      "options": {
        "verbose": true
      }
    }
    
  3. Run the workflow referencing the scenario:

    npx output workflow run my_workflow --input src/my_workflow/scenarios/test_user.json
    

Input Examples

# Inline JSON - simple object
npx output workflow run my-workflow --input '{"userId": "123"}'

# Inline JSON - complex nested input
npx output workflow run data-pipeline --input '{"source": "api", "options": {"limit": 100}}'

# File path - reference a scenario file
npx output workflow run simple --input src/simple/scenarios/basic.json

# File path - relative to current directory
npx output workflow run batch-processor --input ./test_inputs/batch1.json

# No input (only if workflow doesn't require it)
npx output workflow run health-check

Understanding the Output

The command returns the workflow result directly to stdout.

Success Output

The workflow's return value is displayed, typically as JSON.

Error Output

If the workflow fails, you'll see:

  • Error message
  • The workflow ID (for further debugging)
  • Suggestion to use npx output workflow debug for details

Examples

Scenario: Test a workflow with a scenario file

# First, look for existing scenarios
ls src/simple/scenarios/

# Run using a scenario file
npx output workflow run simple --input src/simple/scenarios/basic_sum.json

# Output:
# { "sum": 6, "count": 3 }

Scenario: Create and run a new test scenario

# Create a scenario file
cat > src/my_workflow/scenarios/test_case_1.json << 'EOF'
{
  "question": "What is the capital of France?",
  "context": "geography"
}
EOF

# Run the workflow
npx output workflow run my_workflow --input src/my_workflow/scenarios/test_case_1.json

Scenario: Quick inline test during development

npx output workflow run example --input '{"question": "explain quantum computing"}'

Scenario: Re-run a workflow with different input for debugging

# First attempt with scenario file
npx output workflow run process-data --input src/process_data/scenarios/user_abc.json
# Error occurs

# Create a new scenario to isolate the issue
cat > src/process_data/scenarios/debug_minimal.json << 'EOF'
{"id": "test", "debug": true}
EOF

npx output workflow run process-data --input src/process_data/scenarios/debug_minimal.json

Scenario: Capture output for further processing

# Save result to a file
npx output workflow run generate-report --input src/generate_report/scenarios/jan_2024.json > report.json

# Pipe to jq for processing
npx output workflow run get-users --input src/get_users/scenarios/active.json | jq '.users[].name'

Error Handling

Common Errors

Error Cause Solution
"Workflow not found" Workflow name is incorrect Check with npx output workflow list
"Invalid input" JSON doesn't match schema Verify input matches workflow's inputSchema
"Parse error" Malformed JSON or file not found Check JSON syntax or file path
"Timeout" Workflow took too long Use async execution for long workflows

Getting More Details on Failures

When a workflow fails, the output includes the workflow ID. Use it to get the full trace:

npx output workflow run my-workflow --input src/my_workflow/scenarios/test.json
# Output: Workflow failed. ID: abc123xyz

npx output workflow debug abc123xyz --json

Input Schema Tips

  1. Check the schema first: Look at the workflow's inputSchema in the code
  2. Use scenario files: Create reusable test inputs in the workflow's scenarios/ folder
  3. Use proper types: Strings in quotes, numbers without quotes, booleans as true/false
  4. Include required fields: All non-optional schema fields must be provided

Related Commands

  • npx output workflow start <name> --input - Start asynchronously
  • npx output workflow list - See available workflows
  • npx output workflow debug <id> - Debug a failed run

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