main-router by VCnoC
Intelligent skill router that analyzes user requests and automatically dispatches to the most appropriate skill(s) or zen-mcp tools. Routes to zen-chat for Q&A, zen-thinkdeep for deep problem investigation, codex-code-reviewer for code quality, simple-gemini for standard docs/tests, deep-gemini for deep analysis, or plan-down for planning. Use this skill proactively to interpret all user requests and determine the optimal execution path.
Content & Writing
112 Stars
8 Forks
Updated Dec 21, 2025, 08:51 AM
Why Use This
This skill provides specialized capabilities for VCnoC's codebase.
Use Cases
- Developing new features in the VCnoC repository
- Refactoring existing code to follow VCnoC standards
- Understanding and working with VCnoC's codebase structure
Install Guide
2 steps- 1
Skip this step if Ananke is already installed.
- 2
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Repository Claude-Code-Zen-mcp-Skill-Work
Skill Version
main
Community
112 8
Updated At Dec 21, 2025, 08:51 AM
Skill Stats
SKILL.md 1395 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: main-router
description: Intelligent skill router that analyzes user requests and automatically dispatches to the most appropriate skill(s) or zen-mcp tools. Routes to zen-chat for Q&A, zen-thinkdeep for deep problem investigation, codex-code-reviewer for code quality, simple-gemini for standard docs/tests, deep-gemini for deep analysis, or plan-down for planning. Use this skill proactively to interpret all user requests and determine the optimal execution path.
---
# Main Router - Intelligent Skill Routing Scheduler
## Overview
This skill serves as the **central intelligence hub** that analyzes user requests and automatically routes them to the most appropriate skill(s) for execution. It acts as a smart dispatcher, understanding user intent and orchestrating the right tools for the job.
**Core Capabilities:**
- Standards-based routing (follows CLAUDE.md)
- Intent analysis and classification
- Skill matching and selection
- Multi-skill orchestration (sequential or parallel)
- Conflict resolution and disambiguation
- Automatic routing without user intervention
- Full automation mode support (router makes decisions autonomously)
**Division of Responsibilities:**
- **Main Router**: Analyzes request → Reads standards → Determines skill(s) → Invokes skill(s) → Coordinates execution
- **Specialized Skills**: Execute their specific tasks when invoked by router
**Standards Compliance:**
- **MUST read** global and project CLAUDE.md before routing
- Apply standards hierarchy: Global CLAUDE.md > Project CLAUDE.md
- All routing decisions must align with documented rules and workflows
**Active Task Monitoring (CRITICAL - Router Must Not Be Lazy):**
Main Router MUST actively monitor the entire task lifecycle and proactively invoke appropriate skills at each stage. **Do NOT skip skill invocations to save time** - proper skill usage ensures quality and compliance.
**Mandatory Workflow Rules:**
1. **Planning Phase:**
- When user requests "make a plan" / "generate plan.md" / "plan tasks"
- **MUST use plan-down skill** (not Main Claude direct planning)
- Rationale: plan-down provides multi-model validation and structured decomposition
2. **Code Generation → Quality Check Cycle:**
- After Main Claude completes ANY code generation/modification
- **MUST invoke codex-code-reviewer** to validate quality
- Rationale: Ensures 5-dimension quality check (quality, security, performance, architecture, docs)
3. **Test Code Generation Workflow:**
- When Main Claude needs test code
- Step 1: **MUST invoke simple-gemini** to generate test files
- Step 2: **MUST invoke codex-code-reviewer** to validate generated tests
- Step 3: Return validated tests to Main Claude for execution
- Rationale: Ensures test quality before execution
4. **Documentation Generation:**
- Standard docs (README, PROJECTWIKI, CHANGELOG) → **simple-gemini**
- Deep analysis docs (architecture, performance) → **deep-gemini**
- Rationale: Specialized skills produce higher quality, standards-compliant docs
5. **Continuous Monitoring:**
- Router monitors task progress throughout execution
- Proactively suggests skill invocations when opportunities arise
- Example: "Just finished code, should I use codex to check quality?"
**Anti-Pattern - Router Being Lazy (FORBIDDEN):**
```
BAD: Main Claude generates code → Main Claude self-reviews → Done
GOOD: Main Claude generates code → Router invokes codex-code-reviewer → Done
BAD: Main Claude writes plan.md directly
GOOD: Router invokes plan-down skill → plan.md generated with validation
BAD: Main Claude generates tests → Run immediately
GOOD: Router invokes simple-gemini → codex validates → Main Claude runs
```
## When to Use This Skill
**Use this skill PROACTIVELY for ALL user requests** to determine the best execution path.
**Typical User Requests:**
- "Explain what is..." (→ zen-chat)
- "Deep analysis of problem..." (→ zen-thinkdeep)
- "Help me check code" (→ codex-code-reviewer)
- "Generate README documentation" (→ simple-gemini)
- "Deep performance analysis of this code" (→ deep-gemini)
- "Make development plan" (→ plan-down)
- "Write test files" (→ simple-gemini)
- "Generate architecture analysis document" (→ deep-gemini)
- Any task-related request or Q&A
**Router's Decision Process:**
```
User Request → Read Standards (CLAUDE.md) → Intent Analysis → Skill Matching → Auto/Manual Decision → Execution
```
**Operation Modes:**
1. **Interactive Mode (Default):**
- Router asks user for clarification when ambiguous
- User makes final decisions on skill selection
- Router provides recommendations with rationale
2. **Full Automation Mode (automation_mode - READ FROM SSOT):**
automation_mode definition and constraints: See CLAUDE.md「📚 共享概念速查」
**This skill's role** (Router Layer - Sole Source):
- Judge and set automation_mode at task start (detect keywords: "full automation", "automatic process", etc.)
- Set status: automation_mode = true/false
- Transmit to downstream: `[AUTOMATION_MODE: true/false]`
- Monitor throughout lifecycle, enforce mandatory skill invocations (plan-down/codex/simple-gemini)
## Available Skills Registry
### 0. zen-chat (Direct Tool)
**Purpose:** General Q&A and collaborative thinking partner
**Triggers:**
- "Explain..."
- "What is..."
- "How to understand..."
- "Help me analyze..." (non-technical deep analysis)
- General questions, brainstorming, explanations
**Use Cases:**
- Answer conceptual questions
- Explain programming concepts
- Brainstorming ideas
- Quick clarifications
- Thoughtful explanations
**Key Features:**
- Fast, direct responses
- No file operations needed
- Conversation-based
- Supports multi-turn discussions
**Tool:** `mcp__zen__chat` (direct invocation, not a packaged skill)
---
### 0.5. zen-thinkdeep (Direct Tool)
**Purpose:** Multi-stage investigation and reasoning for complex problem analysis
**Triggers:**
- "Deep analysis of problem..."
- "Investigate root cause of this bug..."
- "Systematic analysis..." (technical deep dive)
- "Complex problem analysis..."
- Architecture decisions, complex bugs, performance challenges
**Use Cases:**
- Complex bug investigation
- Architecture decision analysis
- Performance bottleneck deep dive
- Security analysis
- Systematic hypothesis testing
**Key Features:**
- Multi-stage investigation workflow
- Hypothesis-driven analysis
- Evidence-based findings
- Expert validation
- Comprehensive problem-solving
**Tool:** `mcp__zen__thinkdeep` (direct invocation, not a packaged skill)
---
### 1. codex-code-reviewer
**Purpose:** Code quality review with iterative fix-and-recheck cycles
**Triggers:**
- "Use codex to check code"
- "Check if the just-generated code has problems"
- "Check code after every generation"
- "Code review"
- "Code quality check"
**Use Cases:**
- Post-development code quality validation
- Pre-commit code review
- Bug fix verification
- Refactoring quality assurance
**Key Features:**
- 5-dimension quality check (quality, security, performance, architecture, documentation)
- Iterative fix cycles (max 5 iterations)
- User approval required before fixes
- Based on CLAUDE.md standards
**Tool:** `mcp__zen__codereview`
---
### 2. simple-gemini
**Purpose:** Standard documentation and test code generation
**Triggers:**
- "Use gemini to write test files"
- "Use gemini to write documentation"
- "Generate README"
- "Generate PROJECTWIKI"
- "Generate CHANGELOG"
- "Write test code"
**Use Cases:**
- Generate standard project documentation (PROJECTWIKI, README, CHANGELOG, ADR)
- Write test code files
- Create project templates
- Standard documentation maintenance
**Key Features:**
- Two modes: Interactive (default) and Automated
- Document types: PROJECTWIKI, README, CHANGELOG, ADR, plan.md
- Test code generation with codex validation
- Follows CLAUDE.md standards
**Tool:** `mcp__zen__clink` (launches gemini CLI in WSL)
---
### 3. deep-gemini
**Purpose:** Deep technical analysis documents with complexity evaluation
**Triggers:**
- "Use gemini for deep code logic analysis"
- "Generate architecture analysis document"
- "Analyze performance bottlenecks and generate report"
- "Deep understanding of this code and generate documentation"
- "Generate model architecture analysis"
**Use Cases:**
- Code logic deep dive
- Model architecture analysis
- Performance bottleneck analysis
- Technical debt assessment
- Security analysis report
**Key Features:**
- Two-stage workflow: clink (Gemini CLI analysis) → docgen (dual-phase document generation)
- **Big O complexity analysis included** (docgen core capability)
- Automatic Mermaid diagram generation
- Evidence-based findings
- Professional technical writing
**Tools:** `mcp__zen__clink` + `mcp__zen__docgen`
**docgen workflow:**
- Step 1: Exploration (explore project structure, formulate documentation plan)
- Step 2+: Per-File Documentation (generate structured docs with complexity analysis)
---
### 4. plan-down ⭐ MANDATORY for Planning
**Purpose:** Intelligent planning with task decomposition and multi-model validation
**CRITICAL: This skill is MANDATORY for all plan.md generation tasks**
- Main Claude must NOT generate plan.md directly
- Router MUST invoke plan-down for all planning requests
- Rationale: Ensures multi-model validation and structured decomposition
**Triggers:**
- "Help me make a plan"
- "Generate plan.md"
- "Use planner for task planning"
- "Help me break down tasks"
- "Make implementation plan"
- "Plan the project"
**Use Cases:**
- Feature development planning
- Project implementation roadmaps
- Refactoring strategies
- Migration plans
- Complex task breakdown
**Key Features:**
- Two-stage workflow: planner (decomposition) → consensus (validation)
- Multi-model evaluation (codex, gemini, gpt-5)
- Standards-based planning (CLAUDE.md)
- Mermaid dependency graphs
- Risk assessment tables
**Tools:** `mcp__zen__chat` (Phase 0 method clarity judgment) + `mcp__zen__planner` + `mcp__zen__consensus` (conditional - only for Automatic + Unclear path) + `mcp__zen__clink` (when using consensus with codex/gemini)
**Model Support (G10 Compliance - CRITICAL):**
- **codex/gemini**: MUST use `mcp__zen__clink` to establish CLI session first (otherwise 401 error)
- **Other models**: Direct API access
- **Detailed standards**: See `references/standards/cli_env_g10.md`
**Enforcement:**
```
IF user requests planning OR plan.md generation:
MUST route to plan-down
NEVER allow Main Claude to create plan.md directly
Reason: plan-down provides superior planning quality through:
- Multi-stage interactive planning
- Multi-model consensus validation
- Standards compliance verification
- Risk assessment and dependency analysis
```
---
### 5. gemini-frontend ⭐ MANDATORY for Frontend/Mobile Development
**Purpose:** Frontend and mobile development specialist using Gemini CLI with multimodal capabilities
**适用场景:**
- React/Vue/Angular 组件开发
- React Native/Flutter 移动端开发
- 设计稿 → 前端代码实现(multimodal)
- UI/UX 实现和优化
- 前端项目重构
**Triggers:**
- "Help me build a React component"
- "Generate Vue/Angular code"
- "Convert this design to code" (with image)
- "Implement this UI feature"
- "Mobile app development" (React Native/Flutter)
- Keywords: React, Vue, Angular, component, 组件, 页面, UI, 前端, mobile, Flutter
**Core Advantages (Based on Gemini 3.0):**
- 📷 **Multimodal Capability**: Directly understand design mockups and UI screenshots
- 📚 **Ultra-long Context**: 1M tokens, handles large monorepos
- 🎨 **UI Understanding**: PhD-level reasoning for complex UI logic
- 🚀 **Code Generation**: Excels at React/Vue/Flutter code generation
**Use Cases:**
- Design-to-code conversion
- Component library development
- Mobile UI implementation
- Frontend architecture setup
- State management implementation
**Key Features:**
- 5-phase workflow (Init → Analysis → Generation → Quality Check → Documentation)
- Dual quality validation (codereview + clink CLI) - complies with G8
- Mermaid diagram updates - complies with G4
- Environment-adaptive CLI calls - complies with G10
- Inherits `automation_mode` and `coverage_target` from router
**Tools:** `mcp__zen__clink` (gemini CLI) + `mcp__zen__codereview` + `simple-gemini`
**Frontend Detection Scoring:**
- Tier 1 Keywords (+30-35 points): React, Vue, Angular, component, 组件, 页面, UI, 前端
- Tier 2 Keywords (+15-20 points): Flutter, React Native, mobile, 移动端, iOS, Android
- Tier 3 Context (+10 points): package.json exists with frontend dependencies
- Image Attachment (+25 points): Design mockups, UI screenshots
- Backend Signal Penalty (-15 to -25 points): API, backend, database, FastAPI, Django
**Routing Thresholds:**
- Score ≥ 80: Auto-route to gemini-frontend
- Score 50-79: Ask user confirmation
- Score < 50 AND backend_signals ≥ 2: Fullstack project, suggest task decomposition
**Enforcement:**
```
IF frontend_score ≥ 80:
Auto-route to gemini-frontend (high confidence)
IF 50 ≤ frontend_score < 80:
Ask user: "检测到前端开发需求,是否使用 gemini-frontend?"
IF frontend_score < 50 AND backend_signals ≥ 2:
Notify user: "检测到全栈项目,建议任务分解:
- 前端部分 → gemini-frontend
- 后端部分 → codex-code-reviewer 或其他技能"
```
**Detailed Examples:**
- **Frontend Request Scoring**: See [Example 12 - Frontend Development Request](references/routing_examples.md#example-12-frontend-development-request-new-frontend-detection) for detailed demonstration of Tier 1-3 keyword detection and auto-routing (Score: 90 → gemini-frontend)
- **Fullstack Project Handling**: See [Example 13 - Fullstack Project Detection](references/routing_examples.md#example-13-fullstack-project-detection-new-task-decomposition) for task decomposition strategy when both frontend and backend signals detected (Score: 45 with backend penalty → recommend split)
---
## Routing Decision Logic
### Phase 0: Standards Reading & MCP Discovery (CRITICAL - First Step)
**Main Router's Action:**
Before ANY routing decision, **MUST complete** the following two sub-phases:
#### Phase 0.1: Read Standards
Read the following files to understand project-specific rules and workflows:
**a) Read Global Standards:**
- **Global CLAUDE.md**: `/home/vc/.claude/CLAUDE.md`
- Extract: Global rules (G1-G11), phase requirements (P1-P4), routing mechanism, core principles
- Key focus: Which phase user is in, execution permissions, documentation requirements
- Extract: Model development workflow, ethics principles, reproducibility requirements
**b) Read Project-Specific Standards (if exist):**
- **Project CLAUDE.md**: `./CLAUDE.md` (current directory)
- Extract: Project-specific rules, custom workflows, overrides
**Standards Priority Hierarchy (when conflicts):**
1. Global CLAUDE.md (highest priority)
2. Project CLAUDE.md (overrides global)
3. PROJECTWIKI.md (lowest priority)
#### Phase 0.2: 动态 MCP 发现与智能适配(Dynamic MCP Discovery & Adaptation)
**核心原则:不假设任何 MCP 工具"一定存在",运行时动态检测并智能适配。**
---
### MCP 环境扫描策略
**检测时机:**
- **会话启动时**:首次路由前执行快速扫描(可选,推荐)
- **运行时检测**:技能调用 MCP 工具时懒加载检测(默认)
- **失败触发**:MCP 调用失败时重新扫描并更新缓存
**检测方法:**
```python
# 伪代码示例 - 动态 MCP 能力检测
mcp_capabilities = {} # 会话级缓存
def detect_mcp_availability():
"""运行时检测 MCP 工具可用性"""
# 1. 检测 zen-mcp
try:
version_info = call_tool("mcp__zen__version")
mcp_capabilities["zen-mcp"] = {
"available": True,
"version": version_info.get("version"),
"tools": extract_available_tools(version_info)
}
except Exception:
mcp_capabilities["zen-mcp"] = {"available": False}
# 2. 检测 serena-mcp(代码智能)
try:
config = call_tool("mcp__serena__get_current_config")
mcp_capabilities["serena-mcp"] = {
"available": True,
"tools": list_serena_tools()
}
except Exception:
mcp_capabilities["serena-mcp"] = {"available": False}
# 3. 检测 unifuncs-mcp(工具函数)
try:
search_test = call_tool("mcp__unifuncs__web-search", {"query": "test", "count": 1})
mcp_capabilities["unifuncs-mcp"] = {"available": True}
except Exception:
mcp_capabilities["unifuncs-mcp"] = {"available": False}
# 4. 检测其他 MCP(用户自定义)
# 可通过 ListMcpResourcesTool 发现额外 MCP 服务器
return mcp_capabilities
```
---
### 技能 → MCP 依赖关系(动态映射)
**技能与 MCP 工具的依赖分为三类:**
1. **必需工具(Required)**:技能核心功能依赖,缺失则无法工作
2. **增强工具(Enhancement)**:提升技能能力,缺失可降级
3. **可选工具(Optional)**:锦上添花,缺失无影响
**动态依赖映射表:**
| Skill | 必需工具 | 增强工具 | 降级方案 |
|-------|---------|---------|---------|
| **zen-chat** | mcp__zen__chat | mcp__zen__apilookup<br/>mcp__unifuncs__web-search | 降级到主模型直接回答(无多轮协作) |
| **zen-thinkdeep** | mcp__zen__thinkdeep | mcp__serena__* (代码分析)<br/>mcp__zen__debug | 降级到主模型单轮深度分析 |
| **codex-code-reviewer** | mcp__zen__codereview<br/>或 mcp__zen__clink (codex CLI) | mcp__serena__* (符号编辑)<br/>mcp__zen__precommit | 使用主模型 + Read/Edit 工具进行审查 |
| **simple-gemini** | mcp__zen__clink (gemini CLI) | mcp__serena__* (代码读取)<br/>mcp__unifuncs__web-reader | 降级到主模型直接生成文档/测试 |
| **deep-gemini** | mcp__zen__clink (gemini CLI)<br/>mcp__zen__docgen | mcp__serena__* (代码分析)<br/>mcp__zen__apilookup | 降级到主模型深度分析 |
| **plan-down** | mcp__zen__chat (方法判断)<br/>mcp__zen__planner (任务分解) | mcp__zen__consensus (自动化模式)<br/>mcp__serena__read_memory (项目上下文)<br/>mcp__zen__clink (codex/gemini CLI) | 降级到主模型直接规划 |
| **gemini-frontend** | mcp__zen__clink (gemini CLI) | mcp__serena__* (代码分析)<br/>mcp__unifuncs__web-reader (设计参考) | 降级到主模型前端开发 |
**G10 合规特殊要求:**
- 使用 codex/gemini 模型时,必须先用 `mcp__zen__clink` 建立 CLI 会话
- plan-down 的四路径工作流:Phase 0 使用 chat 判断方法清晰度,Automatic + Unclear 路径需要 consensus
---
### 智能适配与降级策略
**适配原则:**
1. **用户显式指定 MCP 工具时**:
- 优先尝试用户指定的工具
- 如果工具不可用,**通知用户**并提供替代方案
- 示例:用户说 "use serena to analyze code" → 检测 serena → 不可用则通知
2. **Router 自动选择技能时**:
- 根据 MCP 可用性调整技能推荐优先级
- 必需工具不可用 → 降级到备用方案
- 仅增强工具不可用 → 静默降级,不通知用户
3. **降级决策树**:
```
IF 技能必需工具全部可用:
→ 正常路由到该技能(最优方案)
ELSE IF 技能必需工具部分缺失:
→ 检查降级方案是否可行
IF 降级方案可行:
→ 使用降级方案(通知用户,如果是显式请求)
ELSE:
→ 通知用户工具缺失,请求确认或提供替代方案
ELSE IF 仅增强工具缺失:
→ 正常路由,静默降级(不通知用户)
```
**降级方案示例:**
| 原方案 | 缺失工具 | 降级方案 | 通知用户? |
|--------|---------|---------|-----------|
| codex-code-reviewer | zen-mcp 完全不可用 | 主模型 + Read/Edit 工具审查 | ✅ 是(显著功能降级) |
| simple-gemini | clink 不可用 | 主模型直接生成文档 | ✅ 是(质量可能下降) |
| zen-chat | zen__apilookup 不可用 | 仅使用 zen__chat,无 API 查询 | ❌ 否(增强功能,非必需) |
| zen-thinkdeep | serena 不可用 | 使用 Read/Grep 工具代替代码分析 | ❌ 否(自动适配) |
---
### 运行时适配示例
**示例 1:用户显式请求使用 codex**
```
用户:"use codex to check the code"
Router 执行:
1. 检测 zen-mcp 可用性
- IF zen-mcp 可用 → 路由到 codex-code-reviewer(使用 mcp__zen__codereview)
- IF zen-mcp 不可用但 clink 可用 → 路由到 codex-code-reviewer(使用 mcp__zen__clink + codex CLI)
- IF 两者都不可用 → 通知用户:
"检测到 zen-mcp 和 clink 均不可用。可以使用主模型进行代码审查(功能受限),是否继续?"
```
**示例 2:Router 自动路由到 simple-gemini**
```
Router 判断:需要生成 README 文档 → 路由到 simple-gemini
适配流程:
1. 检测 mcp__zen__clink 可用性
- IF 可用 → 正常调用 simple-gemini(使用 gemini CLI)
- IF 不可用 → 降级到主模型直接生成(通知用户:"gemini CLI 不可用,使用主模型生成文档")
2. 检测增强工具(serena, unifuncs)
- IF serena 可用 → 增强代码读取能力
- IF serena 不可用 → 使用 Read 工具(静默降级,不通知)
```
**示例 3:全自动化模式下的 plan-down**
```
Router 判断:P2 阶段,需要生成 plan.md → 路由到 plan-down
适配流程:
1. 检测必需工具(chat, planner)
- IF 全部可用 → 继续
- IF 任一缺失 → 降级到主模型直接规划(通知:"plan-down 依赖工具缺失,使用主模型规划")
2. 检测增强工具(consensus, clink)
- IF automation_mode=true 且方法模糊 → 需要 consensus
- consensus 可用 → 正常多模型验证
- consensus 不可用 → 降级到单模型规划(通知:"多模型验证不可用,使用单模型规划")
- IF consensus 需要 codex/gemini → 检测 clink
- clink 可用 → 符合 G10,建立 CLI 会话
- clink 不可用 → 跳过 consensus(静默降级)
```
---
### MCP 可用性缓存与刷新
**缓存策略:**
- **会话级缓存**:检测结果在同一会话中共享
- **失败触发刷新**:MCP 调用失败时自动重新检测
- **手动刷新**:用户可请求 "refresh MCP status" 强制重新扫描
**缓存数据结构:**
```python
# 示例缓存结构
mcp_status_cache = {
"zen-mcp": {
"available": True,
"last_check": "2025-11-19T11:30:00Z",
"tools": ["chat", "thinkdeep", "codereview", "clink", "planner", ...]
},
"serena-mcp": {
"available": True,
"last_check": "2025-11-19T11:30:00Z",
"tools": ["list_dir", "find_file", "search_for_pattern", ...]
},
"unifuncs-mcp": {
"available": False, # 用户未安装
"last_check": "2025-11-19T11:30:00Z",
"error": "Connection refused"
}
}
```
---
### Standards-Based Routing Rules(基于标准的路由规则)
**根据 CLAUDE.md 阶段和 MCP 可用性动态调整路由:**
- **P1 (分析问题)** → 优先 zen-thinkdeep(如可用),否则主模型分析
- **P2 (制定方案)** → 优先 plan-down(如可用),否则主模型规划
- **P3 (执行方案)** → 代码完成后强制 codex-code-reviewer(如可用),否则主模型审查
- **automation_mode=true** → 优先使用 MCP 增强的自动化工作流
- **文档生成需求** → 优先 simple-gemini/deep-gemini(如 clink 可用),否则主模型生成
- **G3 违规(禁止执行)** → 不路由到任何执行相关技能
**透明通知原则:**
- **关键功能降级**(必需工具缺失) → **必须通知用户**
- **增强功能降级**(可选工具缺失) → **静默适配,不通知**
- **用户显式请求的工具缺失** → **必须通知并提供替代方案**
#### Phase 0.3: Set Coverage Target (G9 Compliance)
coverage_target definition and constraints: See CLAUDE.md「📚 共享概念速查」
**This skill's role** (Router Layer - Sole Setting Source):
- Ask user in P1/P2 phase (or use default 85%)
- Inquiry script: "Suggest 85%, minimum 70%. Default 85% if unsure."
- Transmit to downstream: `[COVERAGE_TARGET: X%]`
- Record to plan.md (acceptance criteria)
### Fixed Routing Rules (MANDATORY - Auto-Trigger)
These rules MUST be applied automatically at specific workflow points:
**Rule 1: plan.md Generation → plan-down (MANDATORY)**
- Trigger: User requests "make a plan" / "generate plan.md" / "plan tasks"
- Action: **MUST** use plan-down skill, **FORBIDDEN** for main model to write plan.md directly
- Reason: plan-down provides multi-model validation, structured decomposition, standards compliance
**Rule 2: Code Completed → codex-code-reviewer (MANDATORY)**
- Trigger: Main model completes any code generation or modification
- Action: **MUST** use codex-code-reviewer for 5-dimension quality check (quality, security, performance, architecture, documentation)
- Reason: Ensure code quality meets standards
**Rule 3: Test Code Needed → Workflow (MANDATORY)**
- Trigger: Need to generate test code
- Action:
- Step 1: Use simple-gemini to generate test files (pass `[COVERAGE_TARGET: X%]`)
- Step 2: Use codex-code-reviewer to validate test code quality (pass `[COVERAGE_TARGET: X%]`)
- Step 3: Main model executes tests
- Reason: Ensure test code itself is correct and high-quality
**Rule 4: Documentation Needed → Skill-Based (MANDATORY)**
- Trigger: Need to generate/update documentation
- Action:
- Standard docs (README, PROJECTWIKI, CHANGELOG): Use simple-gemini
- Deep analysis docs (architecture, performance): Use deep-gemini
- Reason: Specialized skills produce higher quality, standards-compliant documents
**Rule 5: P3 Code Changes → Document Linkage (MANDATORY)**
- Trigger: Code changes in P3 (Execute Solution) phase
- Action:
- Update PROJECTWIKI.md (affected modules/interfaces/flows)
- Update CHANGELOG.md (new entry with commit SHA)
- Establish bidirectional links (PROJECTWIKI ↔ CHANGELOG)
- Reason: G1 compliance (documentation first-class citizen)
**Rule 6: P4 Error Fixed → Regression Gate (MANDATORY)**
- Trigger: P4 (Error Handling) phase completes bug fix
- Action (3-step validation, cannot skip):
- Step 1: Use mcp__zen__codereview for workflow validation
- Step 2: Use mcp__zen__clink (codex CLI) for deep code analysis
- Step 3: Verify document linkage:
- PROJECTWIKI.md updated (design decisions & technical debt section includes defect postmortem)
- CHANGELOG.md updated (Fixed section with repair summary)
- Bidirectional links established
- Reason: G8 compliance (mandatory double-pass validation), prevent hasty fixes
**Anti-Lazy Principle:**
- Main-router MUST actively monitor task lifecycle
- At each critical node, think: "Should I invoke a skill here?"
- **ABSOLUTELY FORBIDDEN**: Skip skill invocation to "save effort", letting main model handle tasks that specialized skills should complete
### Phase 1: Intent Classification
**Main Router's Action:**
Analyze the user request to identify:
1. **Primary Intent:**
- General Q&A / explanations → **zen-chat**
- Complex problem investigation → **zen-thinkdeep**
- Code review / quality check → **codex-code-reviewer**
- Standard documentation → **simple-gemini**
- Deep technical analysis → **deep-gemini**
- Planning / task breakdown → **plan-down**
- Other (direct execution by Main Claude)
2. **Request Characteristics:**
- **Target:** What is the subject? (code files, documentation, architecture, plan)
- **Action:** What needs to be done? (check, generate, analyze, plan)
- **Depth:** Surface-level or deep analysis?
- **Output:** What is expected? (report, document, plan, fixed code)
3. **Context Signals:**
- Keywords in user message
- Recently modified files (git status)
- Existing project state (has plan.md? has PROJECTWIKI.md?)
- User's workflow stage (development, review, planning)
### Phase 2: Skill Matching
**Decision Tree:**
```
IF user asks general question ("explain", "what is", "how to understand"):
→ zen-chat
ELSE IF user requests deep problem analysis ("deep problem analysis", "investigate bug", "systematic analysis"):
→ zen-thinkdeep
ELSE IF user mentions "codex" OR "code check" OR "code review":
→ codex-code-reviewer
ELSE IF user mentions "gemini" AND ("documentation" OR "test"):
IF mentions "deep" OR "analysis" OR "architecture" OR "performance":
→ deep-gemini
ELSE:
→ simple-gemini
ELSE IF user mentions "planning" OR "plan" OR "roadmap":
→ plan-down
ELSE IF intent is "code review":
→ codex-code-reviewer
ELSE IF intent is "document generation":
IF document type in [README, PROJECTWIKI, CHANGELOG, test]:
→ simple-gemini
ELSE IF analysis type in [architecture, performance, code logic]:
→ deep-gemini
ELSE IF intent is "planning":
→ plan-down
ELSE IF intent is "Q&A" (no code/file operations):
→ zen-chat
ELSE:
→ Main Claude (direct execution, no skill routing)
```
**Confidence Scoring:**
For each tool/skill, calculate confidence score (0-100):
```python
confidence_scores = {
"zen-chat": calculate_qa_confidence(request),
"zen-thinkdeep": calculate_deep_investigation_confidence(request),
"codex-code-reviewer": calculate_code_review_confidence(request),
"simple-gemini": calculate_simple_doc_confidence(request),
"deep-gemini": calculate_deep_analysis_confidence(request),
"plan-down": calculate_planning_confidence(request)
}
# Interactive Mode (Default)
if max(confidence_scores.values()) >= 60:
selected_tool = max(confidence_scores, key=confidence_scores.get)
else:
# Ambiguous - ask user for clarification
ask_user_to_clarify()
# Full Automation Mode (if user requested)
if automation_mode_enabled:
if max(confidence_scores.values()) >= 50: # Lower threshold
selected_tool = max(confidence_scores, key=confidence_scores.get)
log_auto_decision(selected_tool, confidence_scores)
else:
# Fallback to Main Claude
selected_tool = "main_claude"
```
### Phase 3: Execution Strategy
**Single Skill Execution:**
```
User Request → Analyze → Match to Skill X → Invoke Skill X → Return Result
```
**Multi-Skill Execution (Sequential):**
```
Example: "Generate docs then check code"
1. Invoke simple-gemini (generate docs)
2. Wait for completion
3. Invoke codex-code-reviewer (check code)
4. Return combined results
```
**Multi-Skill Execution (Parallel - if independent):**
```
Example: "Generate plan and README simultaneously"
1. Invoke plan-down in parallel
2. Invoke simple-gemini in parallel
3. Wait for both to complete
4. Return combined results
```
### Phase 4: Disambiguation
**When multiple skills could apply:**
**Option 1: Ask User (Interactive Mode)**
```
Detected that your request can use the following skills:
1. simple-gemini - Generate standard documentation
2. deep-gemini - Generate deep analysis documentation
Please choose:
- Enter 1: Use simple-gemini (fast, standardized)
- Enter 2: Use deep-gemini (in-depth, includes complexity analysis)
```
**Option 2: Auto-Select (Full Automation Mode)**
**CRITICAL: In Full Automation Mode, DO NOT ask user "continue?" or present choices**
- **Activation**: User explicitly requests "full automation"/"complete automation"/"automated process" in initial request
- **Behavior**: Router and Main Claude make ALL decisions without user intervention
- **Forbidden Actions**:
- "Continue?" (Yes/No)
- "Please choose..." (Option 1/2/3)
- "Do you need..." (Need/Don't need)
- Any form of asking user for confirmation or choice
- **Correct Actions**:
- "[Full Auto Mode] Detected planning needed, auto-invoking plan-down..."
- "[Full Auto Mode] Code generated, auto-invoking codex for quality check..."
- Direct execution with logged rationale
- **Decision Rules**:
- Uses confidence scores with lower threshold (≥50 instead of ≥60)
- Prefer simpler skills for ambiguous cases:
- simple-gemini over deep-gemini (unless "deep" mentioned)
- zen-chat over zen-thinkdeep (unless "investigate" or "bug" mentioned)
- Direct execution over complex skills when unclear
- **Log all auto-decisions** with rationale for transparency
- Standards compliance: Always follows CLAUDE.md rules
- **Exception - Only Ask User When**:
- Blocking errors (environment missing, dependency errors)
- Security risks (sensitive data exposure, production operations)
**Full Automation Mode Decision Template:**
```
[Full Auto Mode - Auto Decision]
Detected: {task_description}
Auto-selected: {selected_tool}
Confidence: {confidence_score}%
Rationale: {rationale based on standards and intent}
Standards basis: {relevant CLAUDE.md rules}
Starting execution...
```
## Router Workflow: Step-by-Step
### Step 1: Receive User Request
**Main Router's Action:**
```
User: "Help me check the just-generated code"
Router Internal Analysis:
- Keywords detected: "check", "code"
- Intent: Code review
- Target: Recently generated code
- Expected output: Quality report + fixes
```
### Step 2: Read Standards & Discover MCPs (CRITICAL)
**Main Router's Action:**
**Part A: Standards Reading**
```
Standards Reading:
a) Global CLAUDE.md (/home/vc/.claude/CLAUDE.md):
- G1: Documentation First-Class Citizen - code changes must synchronize doc updates
- G3: No Execution Permission Scenario - requires explicit user consent
- Current phase: P3 (Execute Solution) - just completed code generation
b) Global CLAUDE.md (/home/vc/.claude/CLAUDE.md):
- Code standards: Clear, readable
- Quality threshold: Coverage ≥ 70%
c) Project CLAUDE.md (./CLAUDE.md): [If exists]
- Project-specific rules
d) Project CLAUDE.md (./CLAUDE.md): [If exists]
- Model-specific requirements
Standards-Based Decision:
- P3 phase → Code review recommended after code changes (CLAUDE.md requirement)
- G1 rule → Must check if documentation was updated
- User approval needed before fixes (G3)
```
**Part B: MCP Capability Reference (No Pre-check)**
```
MCP Assumptions:
zen-mcp:
Status: Assumed AVAILABLE (default)
Tools: All 13 zen-mcp tools assumed ready
Strategy: Optimistic routing - verify on actual invocation
User-Mentioned MCPs:
Detection: Check if user explicitly mentioned MCP tools in request
Example triggers: "use serena", "use unifuncs to search", "call mcp__serena__find_symbol"
Status: Assumed AVAILABLE (if mentioned by user)
Strategy: Optimistic routing - honor user's explicit tool choice
Optional Enhancement MCPs:
serena: Can be discovered on-demand for code intelligence
unifuncs: Can be discovered on-demand for web capabilities
Strategy: Lazy discovery - only if needed for enhancement
Routing Decision for codex-code-reviewer:
Required: mcp__zen__codereview (assumed available )
Enhancement: serena tools (optional, will discover if needed)
User preference: None mentioned in this request
→ Decision: Proceed with codex-code-reviewer
Rationale: zen-mcp assumed available, no blocking issues
```
### Step 3: Analyze Intent
**Main Router's Action:**
```
Intent Classification:
- Primary Intent: Code review
- Secondary Intent: None
- Complexity: Standard (not deep analysis)
- Urgency: Normal
Context Signals:
- Git status shows modified files: src/features.py, src/model_training.py
- No explicit skill mentioned by user
- Recent activity: Code generation just completed
Standards Alignment:
- Matches P3 phase requirement for post-code-change review
- Aligns with G1 (need to verify doc updates)
```
### Step 4: Match to Skill(s) (Optimistic Routing)
**Main Router's Action:**
```
Skill Matching:
- codex-code-reviewer: 95% confidence
- Reason: Intent is code review, has modified files
- Standards support: P3 phase requirement
- zen-mcp: Assumed available (optimistic)
- simple-gemini: 10%
- zen-mcp: Assumed available
- deep-gemini: 15%
- zen-mcp: Assumed available
- plan-down: 5%
- zen-mcp: Assumed available
Decision: Route to codex-code-reviewer
Rationale: Highest confidence + Standards alignment
Note: zen-mcp availability assumed, will verify during execution
```
### Step 5: Invoke Selected Skill (Optimistic Execution)
**Main Router's Action:**
```
Invoking: codex-code-reviewer
Parameters:
- Files to review: [src/features.py, src/model_training.py]
- Review type: full
- User approval: required
MCP Strategy:
Primary tools: zen-mcp (assumed available, no pre-check)
Enhancement tools: serena/unifuncs (can discover on-demand if needed)
Execution:
[codex-code-reviewer executes workflow using zen-mcp tools]
Error Handling (if zen-mcp fails):
1. Skill reports error to router
2. Router notifies user: "mcp__zen__codereview currently unavailable"
3. Router suggests fallback: Main Claude direct code review
4. User chooses: Continue with fallback OR troubleshoot MCP
```
### Step 6: Return Results to User
**Main Router's Action:**
```
Code review completed (using codex-code-reviewer):
Review results:
- Reviewed files: 2
- Issues found: 3 (fixed)
- Review rounds: 2 / 5
Standards compliance check:
G1: Verified documentation updates (PROJECTWIKI.md, CHANGELOG.md)
G3: User authorization obtained before fixes
Quality threshold: Coverage reached 75% (exceeds 70% threshold)
Detailed report:
[codex-code-reviewer's output]
```
## Routing Examples
**Note:** For detailed routing examples with comprehensive Chinese descriptions and step-by-step decision processes, please refer to: **[references/routing_examples.md](references/routing_examples.md)**
### Quick Example Index
The routing_examples.md file contains 14 complete examples demonstrating main-router's decision-making process:
1. [Example 1: General Q&A Request](references/routing_examples.md#example-1-general-qa-request) - Simple conceptual questions → zen-chat
2. [Example 2: Deep Problem Investigation](references/routing_examples.md#example-2-deep-problem-investigation) - Complex debugging → zen-thinkdeep
3. [Example 3: Simple Document Generation](references/routing_examples.md#example-3-simple-document-generation) - Standard docs → simple-gemini
4. [Example 4: Code Quality Check](references/routing_examples.md#example-4-code-quality-check) - Explicit codex request → codex-code-reviewer
5. [Example 5: Deep Technical Analysis](references/routing_examples.md#example-5-deep-technical-analysis-request) - Complexity analysis → deep-gemini
6. [Example 6: Planning Request](references/routing_examples.md#example-6-planning-request) - Task decomposition → plan-down
7. [Example 7: Ambiguous Request](references/routing_examples.md#example-7-ambiguous-request) - Clarification workflow
8. [Example 8: Multi-Skill Sequential](references/routing_examples.md#example-8-multi-skill-sequential) - Multi-task execution
9. [Example 9: Full Automation Mode](references/routing_examples.md#example-9-full-automation-mode-correct-behavior) - Zero-wait principle demonstration
10. [Example 10: User Explicitly Mentions MCP Tools](references/routing_examples.md#example-10-user-explicitly-mentions-mcp-tools) - MCP tool routing
11. [Example 11: Complete Task Lifecycle](references/routing_examples.md#example-11-complete-task-lifecycle-with-active-monitoring-best-practice) ⭐ **BEST PRACTICE** - Active monitoring
12. [Example 12: Frontend Development Request](references/routing_examples.md#example-12-frontend-development-request-new-frontend-detection) ⭐ **NEW** - Frontend detection scoring → gemini-frontend
13. [Example 13: Fullstack Project Detection](references/routing_examples.md#example-13-fullstack-project-detection-new-task-decomposition) ⭐ **NEW** - Task decomposition for fullstack
14. [Example 14: Code + Review Workflow](references/routing_examples.md#example-14-code--review-workflow) - Sequential skill invocation
**Quick Reference - Example 1 (General Q&A):**
**User:** "Explain what is overfitting in machine learning?"
**Router Decision:**
```
Intent: General Q&A
Keywords: "explain", "what is"
Target: Conceptual explanation
Output: Answer/explanation (no file operations)
→ Route to: zen-chat
Rationale:
- Pure conceptual question
- No file/code operations required
- Fast response with zen-chat is sufficient
- No need for complex analysis workflow
```
---
## Best Practices
### For Effective Routing
1. **Active Monitoring (CRITICAL - Anti-Lazy Principle):**
- Router MUST monitor task lifecycle continuously
- Proactively invoke skills at appropriate stages
- NEVER allow Main Claude to skip quality checks
- Mandatory interventions:
- plan.md generation → MUST use plan-down
- Code generation complete → MUST use codex-code-reviewer
- Test code needed → MUST use simple-gemini → codex validation
- Documentation needed → MUST use simple-gemini/deep-gemini
- Think: "What skill should be used at this stage?"
2. **Keyword Detection:**
- Look for explicit skill/tool names (chat, thinkdeep, codex, gemini, planner)
- Look for action verbs (explain, investigate, check, generate, analyze, plan)
- Look for output types (answer, investigation report, documentation, plan, test)
- Look for question patterns (what is, how to understand, why)
3. **Context Awareness:**
- Check git status for recently modified files
- Check for existing artifacts (plan.md, PROJECTWIKI.md)
- Consider user's recent interactions
- Note project phase (planning, development, review)
4. **Confidence Thresholds:**
- High confidence (≥80): Auto-route
- Medium confidence (60-79): Auto-route with notification
- Low confidence (<60): Ask user for clarification
5. **User Communication:**
- Always inform user which skill was selected
- Provide rationale for skill selection
- Allow user to override router's decision
6. **Error Handling:**
- If selected skill fails, offer fallback options
- If no skill matches, execute directly with Main Claude
- If user request is unclear, ask clarifying questions
### Router Communication Template
**Format:**
```
[Decision Notification]
Detected task type: [Task Type]
Selected skill: [Skill Name]
Rationale: [Brief explanation]
Starting execution...
```
**Example:**
```
[Decision Notification]
Detected task type: Code quality review
Selected skill: codex-code-reviewer
Rationale: You requested code quality check, codex-code-reviewer provides comprehensive 5-dimensional review
Starting execution...
```
## Routing Decision Matrix
| User Intent | Primary Keywords | Selected Tool/Skill | Rationale |
|-------------|-----------------|---------------------|-----------|
| General Q&A | explain, what is, how to understand | zen-chat | General Q&A, no file ops |
| Deep Problem Investigation | deeply analyze problem, investigate bug, systematic analysis | zen-thinkdeep | Multi-stage investigation |
| Code Review | check, review, codex | codex-code-reviewer | Code quality validation |
| Standard Documentation | documentation, README, CHANGELOG, test | simple-gemini | Standard doc templates |
| Deep Technical Analysis | deep, analyze, architecture, performance, complexity | deep-gemini | Technical analysis + complexity |
| Planning | plan, planning, decompose | plan-down | Task decomposition + validation |
| Document Generation (Unclear) | generate document | Ask User | Ambiguous - need clarification |
## Special Cases
### Case 1: No Matching Skill
**Scenario:** User request doesn't match any skill
**Action:**
```
Router Analysis:
- No skill confidence > 60%
- Request is outside skill scope
→ Decision: Execute directly with Main Claude
→ Notification: "This task will be handled directly by the main model (no specialized skill needed)"
```
---
### Case 2: Conflicting Skills
**Scenario:** Multiple skills have similar confidence scores
**Action:**
```
Router Analysis:
- simple-gemini: 75%
- deep-gemini: 73%
- Difference < 10% → Ambiguous
→ Decision: Ask user to choose
→ Present both options with pros/cons
```
---
### Case 3: Runtime MCP Tool Failure
**Scenario A:** zen-mcp tool fails during skill execution (discovered at runtime)
**Action:**
```
Skill Execution Error:
- Skill: deep-gemini
- Failed MCP call: mcp__zen__docgen
- Error: "MCP tool not available" or "Connection failed"
Router Receives Error and Responds:
→ Notification to User:
"Issue encountered while executing deep-gemini:
mcp__zen__docgen is currently unavailable.
Available options:
1. Use simple-gemini (only requires mcp__zen__clink)
2. Main model generates document directly (no MCP enhancement)
3. Check zen-mcp service status and retry
Please choose (or enter 3 and use /mcp status to check)"
User Choice Handling:
- Choice 1 → Route to simple-gemini
- Choice 2 → Main Claude direct execution
- Choice 3 → Wait for user to troubleshoot, then retry
Note: This only happens when zen-mcp actually fails at runtime,
not during routing phase (optimistic assumption).
```
**Scenario B:** User-mentioned MCP tool fails at runtime
**Action:**
```
Direct MCP Invocation Error:
- User request: "Use serena's find_symbol to analyze code"
- Failed MCP call: mcp__serena__find_symbol
- Error: "MCP server 'serena' not found" or "Tool not available"
Router Receives Error and Responds:
→ Notification to User:
"Your specified MCP tool is currently unavailable:
mcp__serena__find_symbol
Error details: {error_details}
Available options:
1. Use zen-mcp's code analysis tool (mcp__zen__thinkdeep)
2. Main model reads code directly for analysis
3. Check serena MCP service status and retry (/mcp status)
Please choose handling method:"
User Choice Handling:
- Choice 1 → Route to zen-thinkdeep (alternative analysis)
- Choice 2 → Main Claude manual code reading
- Choice 3 → Wait for user to troubleshoot, then retry original request
Note: User-mentioned MCP tools are assumed available (optimistic),
but must provide clear error feedback if they fail at runtime.
```
---
### Case 4: User Override
**Scenario:** User explicitly requests a different skill
**User:** "Don't use codex, use gemini to analyze"
**Action:**
```
Router Analysis:
- Original selection: codex-code-reviewer
- User override: Use gemini (deep-gemini)
→ Decision: Respect user choice
→ Route to: deep-gemini
→ Notification: "Switched to deep-gemini (as per your request)"
```
## Notes
### Core Principles
- **Active Task Monitoring (HIGHEST PRIORITY - Anti-Lazy Principle)**:
- Router MUST continuously monitor task lifecycle
- Proactively invoke skills at critical stages
- Mandatory skill usage rules (NEVER skip):
- plan.md → **plan-down** (MANDATORY)
- Code complete → **codex-code-reviewer** (MANDATORY)
- Test code → **simple-gemini** + **codex** validation (MANDATORY)
- Documentation → **simple-gemini** or **deep-gemini** (MANDATORY)
- Think at each stage: "Should I invoke a skill here?"
- **Being lazy is FORBIDDEN** - always use proper skills
- **Standards-First Approach**: ALWAYS read CLAUDE.md before routing decisions
- Global CLAUDE.md: `/home/vc/.claude/CLAUDE.md`
- Global CLAUDE.md: `/home/vc/.claude/CLAUDE.md`
- Project CLAUDE.md: `./CLAUDE.md` (if exists)
- Project CLAUDE.md: `./CLAUDE.md` (if exists)
- **MCP-Aware Routing**: Optimistic assumption with lazy verification
- **zen-mcp assumed available by default** - No pre-check required
- **User-mentioned MCP tools assumed available** - Honor user's explicit tool choice
- Route to skills immediately without MCP verification
- Verify MCP availability lazily (on actual tool invocation)
- Only communicate with user if MCP tools fail at runtime
- Optional: Discover serena/unifuncs MCPs on-demand for enhancements
- Provide fallback options when MCP tools actually fail
- **Proactive Usage**: Main Router should be invoked for ALL task-related user requests
- **Standards Compliance**: All routing decisions must align with documented rules
- Respect phase requirements (P1→P2→P3)
- Follow global rules (G1-G8)
- Apply project-specific overrides when applicable
### Operation Modes
- **Interactive Mode (Default)**:
- Ask user for clarification when ambiguous
- Confidence threshold: ≥60%
- User makes final decisions
- Provide recommendations with rationale
- **Full Automation Mode**:
- **Activation**: Keywords in user's initial request: "full automation", "complete automation", "automated workflow"
- **Behavior**: Router and Main Claude make ALL decisions autonomously
- **CRITICAL - DO NOT ask user**:
- "Should I continue?"
- "Please choose..."
- "Do you need..."
- Direct execution with logged rationale
- **Decision Rules**:
- Lower confidence threshold: ≥50%
- Auto-select best option (no user choice)
- Log all auto-decisions with rationale
- Standards-based decision making (no guessing)
- **Exception**: Only ask when blocking errors or security risks occur
- **Mandatory Final Step**: After all tasks complete, generate `auto_log.md` using simple-gemini
- Purpose: Complete transparency and audit trail
- Content: Decision timeline, skills invoked, rationale, results
- Format: Structured Markdown with timestamps and decision tree
- Prefer simpler skills when ambiguous
### Best Practices
- **Transparency**: Always inform user which skill/tool was selected and why
- Focus on intent match and standards alignment in routing notification
- Honor user's explicit MCP tool choice (e.g., "use serena") without pre-checking
- Only mention MCP status if there's a runtime failure
- Acknowledge when routing based on user's explicit MCP preference
- **Flexibility**: Support user overrides and manual skill selection
- Allow user to choose alternative skills if zen-mcp fails at runtime
- Respect user's explicit skill preference
- **Efficiency**: Prefer simpler skills when ambiguous
- simple-gemini over deep-gemini (unless "deep" mentioned)
- zen-chat over zen-thinkdeep (unless "investigate" or "bug" mentioned)
- Direct execution over complex skills when unclear
- **Context-Aware**: Consider project state, recent activity, git status, and CLAUDE.md phase
- Leverage serena memory tools for project context (if discovered)
- Use git status to inform routing decisions
- **Multi-Skill Support**: Handle sequential and parallel skill execution
- Route to multiple skills when user requests multi-task workflows
- Execute skills independently or sequentially as needed
- **Fallback Strategy**: Graceful degradation on runtime failures
- zen-mcp fails → Notify user and suggest alternative skill or Main Claude
- Provide actionable troubleshooting steps (e.g., "/mcp status")
- Allow user to retry after troubleshooting
- **Continuous Improvement**: Learn from user corrections and overrides
- Track skill selection patterns for future optimization
- Log runtime MCP failures for debugging
- **No Redundancy**: Don't invoke router for meta-requests about the router itself
## Router Self-Awareness
**The router should NOT route these requests:**
- "What skills are available?" → Direct answer
- "How does routing work?" → Direct answer
- "Explain the router" → Direct answer
- General questions about Claude Code or skills → Direct answer
**The router SHOULD route these requests:**
- General Q&A and explanations → zen-chat
- Deep problem investigation → zen-thinkdeep
- Any task-specific request (code review, docs, planning, analysis)
- Requests with explicit skill/tool names
- Requests with clear intent (review, generate, analyze, plan, explain, investigate)
Name Size