- name
- feishu-report
- description
- 将任务报告发送到飞书。当用户说"把报告发到飞书"、"飞书发给我"、"发飞书"等关键词时触发此技能。
- license
- MIT
# 飞书报告发送
当用户完成任务并请求将报告发送到飞书时,使用此技能。
## 触发条件
当用户的请求中包含以下关键词时触发:
- "发到飞书"
- "飞书发给我"
- "发飞书"
- "飞书通知"
- "通知飞书"
## 工作流程
### 第一步:生成报告内容
根据当前会话中完成的任务,生成 Markdown 格式的报告。报告应包含:
```markdown
## 任务摘要
[简要描述完成了什么任务]
## 完成的工作
- [工作项 1]
- [工作项 2]
- [工作项 3]
## 关键变更
[列出主要的代码/配置变更]
## 注意事项
[任何需要用户注意的问题或后续步骤]
```
### 第二步:调用发送脚本
使用 Bash 工具调用发送脚本:
```bash
~/.claude/scripts/send-to-feishu.sh "报告内容" "标题"
```
或者通过 stdin 传递内容:
```bash
cat << 'EOF' | ~/.claude/scripts/send-to-feishu.sh
## 任务摘要
完成了用户认证功能的开发...
## 完成的工作
- 添加了 login 接口
- 实现了 JWT 验证
EOF
```
### 第三步:确认发送结果
脚本会返回:
- `✅ 报告已发送到飞书` - 成功
- `❌ 发送失败: ...` - 失败,显示错误信息
## 飞书消息格式
发送的消息会显示为卡片格式:
- 蓝色标题栏
- Markdown 格式正文
- 底部注明"由 Claude Code 自动发送"
## 支持的 Markdown 语法
飞书卡片支持以下 Markdown:
- **粗体** `**text**`
- *斜体* `*text*`
- ~~删除线~~ `~~text~~`
- `行内代码`
- 代码块(带语法高亮)
- 链接 `[text](url)`
- 列表(有序和无序)
**不支持**:表格、图片(需要额外上传)
### 表格数据的替代方案
飞书卡片的 Markdown 渲染器**不支持表格语法**(`| col1 | col2 |` 格式会原样显示为纯文本,不会渲染成表格)。当需要展示结构化数据(如性能指标、对比数据)时,应采用以下替代方案:
**方案 1:使用列表格式(推荐)**
```markdown
**128 并发**
- Output: 1,159 tok/s
- TTFT: 1.73s
- P99 TTFT: 6.23s
- TPOT: 0.106s
```
**方案 2:使用代码块(适合对齐数据)**
````markdown
```
并发 Output(tok/s) TTFT(s) TPOT(s)
64 593.7 1.20 0.105
128 1,159.0 1.73 0.106
256 1,775.6 6.80 0.112
```
````
**方案 3:使用粗体 + 换行(适合少量对比数据)**
```markdown
**2P1D vs 1P1D (128 并发)**
TTFT: 1.73s vs 2.40s (**-28%**)
P99 TTFT: 6.23s vs 12.07s (**-48%**)
Output: 1,159 vs 1,119 tok/s (**+3.6%**)
```
## 内容长度限制
- 单条消息最大约 30KB
- 脚本会自动截断超长内容并添加提示
## 示例
### 示例 1:任务完成后发送报告
用户:"帮我修复登录 bug,完成后写个报告发飞书给我"
执行:
1. 修复 bug
2. 生成报告内容
3. 调用 `send-to-feishu.sh` 发送
### 示例 2:发送自定义内容
用户:"把今天的工作总结发到飞书"
执行:
1. 总结当前会话的所有工作
2. 格式化为 Markdown
3. 发送到飞书
## 配置
Webhook URL 已配置在脚本中:
```
~/.claude/scripts/send-to-feishu.sh
```
如需修改 Webhook,编辑脚本中的 `WEBHOOK_URL` 变量。
## 故障排查
### 发送失败
1. 检查网络连接
2. 确认 Webhook URL 有效(群机器人未被删除)
3. 查看返回的错误信息
### 内容显示不完整
- 飞书有消息长度限制
- 过长内容会被自动截断
- 考虑精简报告内容
### 格式显示异常
- 避免使用飞书不支持的 Markdown 语法
- 表格需要转换为列表格式
Ver en GitHub