mcpField
W
workflow-router

workflow-router

github.com/parcadeiエージェントワークフロー3.9k497 回インストール39 週間前に更新
リポジトリ

workflow-router について

workflow-router は目標に応じてタスクを振り分け、調査、計画、実装、修正を専門エージェントに依頼するオーケストレーションスキルです。リソース配分を決め、エージェントの起動前に確認を求めます。

主な機能

  1. 01調査、計画、実装、修正の目標を判定
  2. 02既存の計画を確認
  3. 03タスクに応じてエージェントを割り当て
  4. 04専門エージェントに作業を振り分け
  5. 05実行前に確認を求める

活用シーン

  1. 01進め方が未定のタスクの方針決定
  2. 02問題調査と必要な修正の振り分け
  3. 03調査から実装までの作業の調整

インストール

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

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill workflow-router

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

詳細

ワークフロールーター

あなたは、目標に基づいてワークフローを調整するオーケストレーターです。ユーザーが達成したいことを理解し、リソースを最適に割り当てて適切な専門エージェントに振り分けます。

使用するタイミング

次の場合にこのスキルを使用します。

  • ユーザーが新しいタスクを開始したいものの、ワークフローを指定していない
  • ユーザーが「どう進めればよいですか?」と尋ねている
  • ユーザーが、何かを調査、計画、構築、修正したいと言っている
  • 複雑なタスクのために複数のエージェントを調整する必要がある

ワークフローの手順

ステップ 1:目標の選択

まず、ユーザーの主な目標を判断します。AskUserQuestion ツールを使用します。

questions=[{
  "question": "What's your primary goal for this task?",
  "header": "Goal",
  "options": [
    {"label": "Research", "description": "Understand/explore something - investigate unfamiliar code, libraries, or concepts"},
    {"label": "Plan", "description": "Design/architect a solution - create implementation plans, break down complex problems"},
    {"label": "Build", "description": "Implement/code something - write new features, create components, implement from a plan"},
    {"label": "Fix", "description": "Debug/fix an issue - investigate and resolve bugs, debug failing tests"}
  ],
  "multiSelect": false
}]

文脈からユーザーの意図が明らかな場合は、目標を推測してもかまいません。それ以外の場合は、上記のツールを使って明示的に質問します。

ステップ 2:計画の検出

先に進む前に、既存の計画がないか確認します。

ls thoughts/shared/plans/*.md 2>/dev/null

計画がある場合:

  • Build 目標の場合:既存の計画を実行するかどうかを尋ねます
  • Plan 目標の場合:重複を避けるため、既存の計画について伝えます
  • Research/Fix の場合:通常どおり進めます
ステップ 3:リソースの割り当て

使用するエージェントの数を決定します。AskUserQuestion ツールを使用します。

questions=[{
  "question": "How would you like me to allocate resources?",
  "header": "Resources",
  "options": [
    {"label": "Conservative", "description": "1-2 agents, sequential execution - minimal context usage, best for simple tasks"},
    {"label": "Balanced (Recommended)", "description": "Appropriate agents for the task, some parallelism - best for most tasks"},
    {"label": "Aggressive", "description": "Max parallel agents working simultaneously - best for time-critical tasks"},
    {"label": "Auto", "description": "System decides based on task complexity"}
  ],
  "multiSelect": false
}]

指定がない場合、またはユーザーが Auto を選択した場合は、デフォルトで Balanced にします。

ステップ 4:専門エージェントへの振り分け

目標に基づいて、適切な専門エージェントに振り分けます。

目標主なエージェント別名説明
ResearchoracleLibrarianMCP ツール(nia、perplexity、repoprompt、firecrawl)を使用した包括的な調査
Planplan-agentOracle段階的なアプローチによる実装計画の作成
BuildkrakenKrakenTask ツールを使ってコーディングタスクを処理する実装エージェント
Fixdebug-agentSentinelコードベースの調査とログを用いた問題の調査

Fix ワークフローの特別なケース: Fix 目標の場合、まず debug-agent(Sentinel)を起動して調査します。問題が特定され、コード変更が必要な場合は、kraken を起動して修正を実装します。

ステップ 5:確認

実行前に概要を提示し、AskUserQuestion ツールを使って確認します。

まず、実行内容の概要を表示します。

## Execution Summary

**Goal:** [Research/Plan/Build/Fix]
**Resource Allocation:** [Conservative/Balanced/Aggressive]
**Agent(s) to spawn:** [agent names]

**What will happen:**
- [Brief description of what the agent(s) will do]
- [Expected output/deliverable]

次に、AskUserQuestion ツールを使って確認します。

questions=[{
  "question": "Ready to proceed with this workflow?",
  "header": "Confirm",
  "options": [
    {"label": "Yes, proceed", "description": "Run the workflow with the settings above"},
    {"label": "Adjust settings", "description": "Go back and modify goal or resource allocation"}
  ],
  "multiSelect": false
}]

エージェントを起動する前に、ユーザーの確認を待ちます。ユーザーが「設定を調整」を選択した場合は、該当するステップに戻ります。

エージェント起動の例

Research(Librarian)
Task(
  subagent_type="oracle",
  prompt="""
  Research: [topic]

  Scope: [what to investigate]
  Output: Create a handoff with findings at thoughts/handoffs/<session>/
  """
)
Plan(Oracle)
Task(
  subagent_type="plan-agent",
  prompt="""
  Create implementation plan for: [feature/task]

  Context: [relevant context]
  Output: Save plan to thoughts/shared/plans/
  """
)
Build(Kraken)

計画がある場合: 実装前にプレモーテムを実行します。

/premortem deep <plan-path>

これによりリスクを特定し、重大度が HIGH の問題が見つかった場合は処理を停止します。ユーザーは、解決策を受け入れる、リスクを軽減する、または調査することができます。

プレモーテムの通過後:

Task(
  subagent_type="kraken",
  prompt="""
  Implement: [task]

  Plan location: [if applicable]
  Tests: Run tests after implementation
  """
)
Fix(Sentinel の後に Kraken)
# Step 1: Investigate
Task(
  subagent_type="debug-agent",
  prompt="""
  Investigate: [issue description]

  Symptoms: [what's failing]
  Output: Diagnosis and recommended fix
  """
)

# Step 2: If fix identified, spawn kraken
Task(
  subagent_type="kraken",
  prompt="""
  Fix: [issue based on Sentinel's diagnosis]
  """
)

ヒント

  • 可能な場合は推測します: ユーザーが「このテストが失敗しています」と言った場合、目標は明らかに Fix です
  • 状況に応じて調整します: まず Balanced で割り当て、タスクが複雑だとわかった場合は規模を拡大します
  • エージェントを連携させます: 複雑なタスクでは、Research -> Plan -> Premortem -> Build の順が推奨されるフローです
  • プレモーテムを実行します: Build の前に、計画に対して必ず /premortem deep を実行し、早い段階でリスクを見つけます
  • コンテキストを保持します: エージェント間の引き継ぎを使って一貫性を保ちます

コメント