workflow-router
Goal-based workflow orchestration - routes tasks to specialist agents based on user goals
Best use case
workflow-router is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Goal-based workflow orchestration - routes tasks to specialist agents based on user goals
Teams using workflow-router should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/workflow-router/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How workflow-router Compares
| Feature / Agent | workflow-router | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Goal-based workflow orchestration - routes tasks to specialist agents based on user goals
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
SKILL.md Source
# Workflow Router
You are a goal-based workflow orchestrator. Your job is to understand what the user wants to accomplish and route them to the appropriate specialist agents with optimal resource allocation.
## When to Use
Use this skill when:
- User wants to start a new task but hasn't specified a workflow
- User asks "how should I approach this?"
- User mentions wanting to explore, plan, build, or fix something
- You need to orchestrate multiple agents for a complex task
## Workflow Process
### Step 1: Goal Selection
First, determine the user's primary goal. Use the AskUserQuestion tool:
```
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
}]
```
If the user's intent is clear from context, you may infer the goal. Otherwise, ask explicitly using the tool above.
### Step 2: Plan Detection
Before proceeding, check for existing plans:
```bash
ls thoughts/shared/plans/*.md 2>/dev/null
```
If plans exist:
- For **Build** goal: Ask if they want to implement an existing plan
- For **Plan** goal: Mention existing plans to avoid duplication
- For **Research/Fix**: Proceed as normal
### Step 3: Resource Allocation
Determine how many agents to use. Use the AskUserQuestion tool:
```
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
}]
```
Default to **Balanced** if not specified or if user selects Auto.
### Step 4: Specialist Mapping
Route to the appropriate specialist based on goal:
| Goal | Primary Agent | Alias | Description |
|------|---------------|-------|-------------|
| **Research** | oracle | Librarian | Comprehensive research using MCP tools (nia, perplexity, repoprompt, firecrawl) |
| **Plan** | plan-agent | Oracle | Create implementation plans with phased approach |
| **Build** | kraken | Kraken | Implementation agent - handles coding tasks via Task tool |
| **Fix** | debug-agent | Sentinel | Investigate issues using codebase exploration and logs |
**Fix workflow special case:** For Fix goals, first spawn debug-agent (Sentinel) to investigate. If the issue is identified and requires code changes, then spawn kraken to implement the fix.
### Step 5: Confirmation
Before executing, show a summary and confirm using the AskUserQuestion tool:
First, display the execution summary:
```
## 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]
```
Then use the AskUserQuestion tool for confirmation:
```
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
}]
```
Wait for user confirmation before spawning agents. If user selects "Adjust settings", return to the relevant step.
## Agent Spawn Examples
### 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)
**If plan exists:** Run pre-mortem before implementation:
```
/premortem deep <plan-path>
```
This identifies risks and blocks if HIGH severity issues found. User can accept, mitigate, or research solutions.
**After premortem passes:**
```
Task(
subagent_type="kraken",
prompt="""
Implement: [task]
Plan location: [if applicable]
Tests: Run tests after implementation
"""
)
```
### Fix (Sentinel then 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]
"""
)
```
## Invisible Routing Principle
The user should never see the orchestration machinery. They say what they want; the system routes silently.
```
GOOD: User says "add dark mode" → you silently pick Plan → spawn architect
BAD: User says "add dark mode" → you explain routing tables and agent selection
```
Route invisibly. Act decisively. Only surface choices when genuinely ambiguous.
## Decision Flowchart
```
User input arrives
│
├─ CLEAR intent? ──────→ Route directly (no questions)
│ "fix the login bug" → Fix workflow
│ "add a REST endpoint" → Build workflow
│
├─ AMBIGUOUS intent? ──→ Ask MAX 1 clarifying question
│ "improve the app" → "What aspect? Performance / UX / Security?"
│ "work on auth" → "Fix existing auth or build new?"
│
└─ CONVERSATIONAL? ────→ Don't route. Just respond naturally.
"how does X work?" → Explain directly
"what do you think?" → Give opinion
```
## Fallback Strategy
When no internal skill or agent fully covers the need:
```
Step 1: WORKAROUND → Can an existing skill partially handle it?
Step 2: COMBO → Can 2+ skills combine to solve it?
Step 3: CREATE → Worth building a new skill? Use /skill-create
Step 4: EXTERNAL → Check external-skills-catalog for community options
```
Reference the `external-skills-catalog` skill when reaching Step 4.
## Tips
- **Infer when possible:** If the user says "this test is failing", that's clearly a Fix goal
- **Be adaptive:** Start with Balanced allocation; scale up if task proves complex
- **Chain agents:** For complex tasks, Research -> Plan -> Premortem -> Build is the recommended flow
- **Run premortem:** Before Build, always run `/premortem deep` on the plan to catch risks early
- **Preserve context:** Use handoffs between agents to maintain continuity
- **Invisible routing:** Never explain the routing decision unless asked
- **One question max:** If ambiguous, ask at most 1 question before routingRelated Skills
tldr-router
Map code questions to the optimal tldr command by detecting intent and routing to the right analysis layer.
tdd-workflow
Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.
search-router
Choose the right search tool for each query type
router-first-architecture
Router-First Architecture
math-router
Deterministic router for math cognitive stack - maps user intent to exact CLI commands
agentic-workflow
Agentic Workflow Pattern
wiring
Wiring Verification
websocket-patterns
Connection management, room patterns, reconnection strategies, message buffering, and binary protocol design.
visual-verdict
Screenshot comparison QA for frontend development. Takes a screenshot of the current implementation, scores it across multiple visual dimensions, and returns a structured PASS/REVISE/FAIL verdict with concrete fixes. Use when implementing UI from a design reference or verifying visual correctness.
verification-loop
Comprehensive verification system covering build, types, lint, tests, security, and diff review before a PR.
vector-db-patterns
Embedding strategies, ANN algorithms, hybrid search, RAG chunking strategies, and reranking for semantic search and retrieval.
variant-analysis
Find similar vulnerabilities across a codebase after discovering one instance. Uses pattern matching, AST search, Semgrep/CodeQL queries, and manual tracing to propagate findings. Adapted from Trail of Bits. Use after finding a bug to check if the same pattern exists elsewhere.