ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

2.4 KiB
Raw Blame History

name version description metadata
lark-skill-maker 1.0.0 创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill包装原子 API 或编排多步流程)时使用。
requires
bins
lark-cli

Skill Maker

基于 lark-cli 创建新 Skill。Skill = 一份 SKILL.md,教 AI 用 CLI 命令完成任务。

CLI 核心能力

lark-cli <service> <resource> <method>          # 已注册 API
lark-cli <service> +<verb>                      # Shortcut高级封装
lark-cli api <METHOD> <path> [--data/--params]  # 任意飞书 OpenAPI
lark-cli schema <service.resource.method>       # 查参数定义

优先级Shortcut > 已注册 API > api 裸调。

调研 API

# 1. 查看已有的 API 资源和 Shortcut
lark-cli <service> --help

# 2. 查参数定义
lark-cli schema <service.resource.method>

# 3. 未注册的 API用 api 直接调用
lark-cli api GET /open-apis/vc/v1/rooms --params '{"page_size":"50"}'
lark-cli api POST /open-apis/vc/v1/rooms/search --data '{"query":"5F"}'

如果以上命令无法覆盖需求CLI 没有对应的已注册 API 或 Shortcut使用 lark-openapi-explorer 从飞书官方文档库逐层挖掘原生 OpenAPI 接口,获取完整的方法、路径、参数和权限信息,再通过 lark-cli api 裸调完成任务。

通过以上流程确定需要哪些 API、参数和 scope。

SKILL.md 模板

文件放在 skills/lark-<name>/SKILL.md

---
name: lark-<name>
version: 1.0.0
description: "<功能描述>。当用户需要<触发场景>时使用。"
metadata:
  requires:
    bins: ["lark-cli"]
---


# <标题>

> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md)。

## 命令

\```bash
# 单步操作
lark-cli api POST /open-apis/xxx --data '{...}'

# 多步编排:说明步骤间数据传递
# Step 1: ...(记录返回的 xxx_id
# Step 2: 使用 Step 1 的 xxx_id
\```

## 权限

| 操作 | 所需 scope |
|------|-----------|
| xxx | `scope:name` |

关键原则

  • description 决定触发 — 包含功能关键词 + "当用户需要...时使用"
  • 认证 — 说明所需 scope登录用 lark-cli auth login --domain <name>
  • 安全 — 写入操作前确认用户意图,建议 --dry-run 预览
  • 编排 — 说明数据传递、失败回滚、可并行步骤