feishu-task
Installation
SKILL.md
Feishu Tasks
把对话中的承诺固化为可追踪状态。聊天里说的"下周搞一下"很容易被淹没,但变成一条有 deadline 的任务就不会。加上心跳监控,形成闭环。
触发场景(不只是用户显式说"建个任务"):
- 隐式承诺 — 用户说"记得提醒我..."、"别忘了..."、"下周之前要..."
- 讨论后的 action items — 文档/方案讨论结束后,结论中的待办事项
- Bot 发现的待跟进项 — 审查代码发现 TODO、定时任务失败需要处理
- 异步交接 — "帮我查一下X,周五前给我" → 给自己建任务,到期交付
与日历的边界:日历回答"什么时候和谁在哪",任务回答"什么事要做完"。重叠时:如"周三 14:00 面试候选人"建日历,准备工作("面试前看简历")建任务。
Tool
python3 .claude/skills/feishu-task/scripts/task_ctl.py <command> [args]
Commands
# Create a task
task_ctl.py create "提交周报" --due "tomorrow 17:00" --assignee "张三" --desc "Q1 summary"
task_ctl.py create "Review PR" --due "+2h"
task_ctl.py create "团队周会准备"
# List open tasks
task_ctl.py list
task_ctl.py list --assignee "张三"
task_ctl.py list --completed
# Get task details
task_ctl.py get <task_guid>
# Update a task
task_ctl.py update <task_guid> --title "New title"
task_ctl.py update <task_guid> --due "2026-03-10 18:00" --desc "Updated description"
# Mark task as done
task_ctl.py complete <task_guid>
# Assign / unassign members
task_ctl.py assign <task_guid> "张三,李四"
task_ctl.py unassign <task_guid> "张三"
# Delete a task
task_ctl.py delete <task_guid>
# Section (group) management
task_ctl.py section create "紧急"
task_ctl.py section list
task_ctl.py section delete <section_guid>
# Create task in a specific section
task_ctl.py create "紧急修复" --section "紧急" --due "+2h"
# Tasklist management
task_ctl.py tasklist create "My List"
task_ctl.py tasklist list
task_ctl.py tasklist add-member "张三,李四" --role editor
task_ctl.py tasklist remove-member "张三"
# Task snapshot (used by heartbeat)
task_ctl.py snapshot
task_ctl.py snapshot --window-hours 4
Time Formats
The --due parameter accepts flexible time formats:
- ISO:
2026-03-10T15:00,2026-03-10 15:00,2026-03-10 - Time only:
15:00(today, or tomorrow if past) - Relative:
+2h,+30m - Natural:
tomorrow 15:00
Heartbeat Integration
The heartbeat uses a two-layer architecture driven entirely by the task snapshot:
- Triage (Sonnet): Reads snapshot, judges OK vs anomaly with quantified rules
- Action (Sonnet): Only triggered on anomaly — has full tool access to update tasks, create follow-ups, compose natural-tone DM notifications
Config:
heartbeat:
triage:
provider: claude-cli
model: sonnet
action:
provider: claude-cli
model: sonnet
notify_open_id: ou_xxx # DM target
alert_window_hours: 2 # alert for tasks due within N hours
Snapshot output includes current time, assignee info, and open tasks without due dates:
[任务快照] 2026-03-04 15:30 Tuesday
逾期 (1):
- "提交周报" | 逾期 2h | 负责人: 张三
即将到期 (1):
- "Review PR" | 45min后到期 | 负责人: 未指派
进行中 (1):
- "调研竞品" | 负责人: 李四
Behavior Notes
- All tasks created by the bot are automatically added to the configured tasklist.
listshows open tasks by default. Use--completedfor done tasks.--assigneeresolves names via shared ContactStore (contacts added in feishu-cal or feishu-perm are available here too).- Task timestamps use milliseconds (Feishu Task v2 API format). Time parsing handles this automatically.
snapshotexits silently (no output) if no open tasks, keeping heartbeat noise-free.- The bot uses
tenant_access_token, so the global task list API is unavailable. All queries go through the dedicated tasklist endpoint. - The tasklist is created by the bot (owner=app). Users must be added as members (
tasklist add-member) to see tasks and sections in their Feishu client.
Weekly Installs
1
Repository
midnightv1/clau…e-feishuGitHub Stars
20
First Seen
Mar 25, 2026
Security Audits
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
warp1