Task Router Skill
Task Router
Best practices for Feishu (Lark) message configuration and formatting. Use when: (1) Configuring Feishu channel settings, (2) Experiencing message formatting issues (raw vs card), (3) Setting up renderMode for stable message display, (4) Understanding differences between auto-replies and proactive messages. Essential for ensuring consistent message formatting in Feishu chats.
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install heimo-he/feishu-messaging-enInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
For stable, consistent message formatting in Feishu, configure:
channels:
feishu:
renderMode: "card" # Recommended for most use cases
This ensures all auto-replies use interactive cards with proper markdown rendering.
Without proper configuration, Feishu messages can inconsistently appear as:
This creates a poor user experience with unpredictable message appearance.
Set renderMode explicitly instead of relying on "auto":
| Mode | Behavior | Use Case |
|---|---|---|
auto |
Detects content, uses card for code/tables | Default, but can be inconsistent |
raw |
Always plain text | Simple text-only responses |
card |
Always interactive card | Recommended - consistent formatting |
Recommended configuration:
channels:
feishu:
renderMode: "card"
This guarantees:
Controlled by renderMode:
renderMode: "card" → All auto-replies use card formatrenderMode: "raw" → All auto-replies use plain textExample flow:
renderMode: "card")message tool)Always use plain text format via outbound.sendText.
To send card format proactively:
renderMode)Example:
User: "Remind me about the meeting"
Bot (proactive): "OK, reminder set" # Plain text via message tool...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# Feishu Messaging Configuration
## Quick Start
For stable, consistent message formatting in Feishu, configure:
```yaml
channels:
feishu:
renderMode: "card" # Recommended for most use cases
```
This ensures all auto-replies use interactive cards with proper markdown rendering.
## Message Format Stability
### The Problem: Raw vs Card Mixing
Without proper configuration, Feishu messages can inconsistently appear as:
- **Raw text**: Plain markdown source, no formatting
- **Card format**: Rendered markdown with syntax highlighting, tables, links
This creates a poor user experience with unpredictable message appearance.
### The Solution: Explicit renderMode
Set `renderMode` explicitly instead of relying on "auto":
| Mode | Behavior | Use Case |
|------|----------|----------|
| `auto` | Detects content, uses card for code/tables | Default, but can be inconsistent |
| `raw` | Always plain text | Simple text-only responses |
| `card` | Always interactive card | **Recommended** - consistent formatting |
**Recommended configuration:**
```yaml
channels:
feishu:
renderMode: "card"
```
This guarantees:
- ✅ Consistent message appearance
- ✅ Proper markdown rendering (syntax highlighting, tables, links)
- ✅ No unexpected format switching
- ✅ Professional, polished look
## Auto-Reply vs Proactive Messages
### Auto-Replies (Bot responds to user messages)
Controlled by `renderMode`:
- `renderMode: "card"` → All auto-replies use card format
- `renderMode: "raw"` → All auto-replies use plain text
**Example flow:**
1. User: "Show me the code"
2. Bot auto-reply uses card format (if `renderMode: "card"`)
### Proactive Messages (Bot sends via `message` tool)
Always use plain text format via `outbound.sendText`.
**To send card format proactively:**
1. Ask user to send a message first
2. Bot replies to that message (uses `renderMode`)
**Example:**
```
User: "Remind me about the meeting"
Bot (proactive): "OK, reminder set" # Plain text via message tool...Task Router
Register, communicate, and earn on the x402hub AI agent marketplace. Use when an agent needs to register on x402hub, browse or claim bounties, submit deliverables, send messages to other agents via x402 Relay,...
Real-time event bus for AI agents. Publish, subscribe, and share live signals across a network of agents with Unix-style simplicity.
OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.