PluginBench
Skill

lark-okr

open.feishu.cn

Manage OKR cycles, objectives, key results, alignments, and progress tracking in Feishu.

What is lark-okr?

Feishu OKR skill enables viewing and editing OKR cycles, objectives, key results, alignment relationships, quantitative indicators, and progress records. Use this when you need to view or create OKRs, manage goals and key results, or track alignment relationships.

  • View and list OKR cycles for specific users with time-based filtering
  • Retrieve detailed objectives and key results within OKR cycles
  • Create, update, and delete progress records for objectives and key results
  • Create objectives and key results in batch operations
  • Manage alignment relationships between objectives across cycles
  • Update quantitative indicators and current values for objectives and key results

How to install lark-okr

npx skills add null --skill lark-okr
Prerequisites
  • lark-cli installed and configured
  • Read ../lark-shared/SKILL.md for authentication and permission handling
  • Appropriate Feishu OKR permissions for the operations you plan to perform
Claude Code
Cursor
Windsurf
Cline

How to use lark-okr

  1. 1.Read the OKR business entities reference to understand OKR structure and relationships
  2. 2.Use +cycle-list to retrieve OKR cycles for a user, optionally filtered by time
  3. 3.Use +cycle-detail to get all objectives and key results within a specific cycle
  4. 4.Create objectives with cycle.objectives create or use +batch-create for multiple objectives
  5. 5.Create key results under objectives using objective.key_results create
  6. 6.Manage alignment relationships with objective.alignments create and alignments delete
  7. 7.Update progress with +progress-create, +progress-update, or +progress-delete as needed
  8. 8.Use +indicator-update to modify quantitative indicator current values

Use cases

Good for
  • Track quarterly OKR progress by viewing cycle details and updating progress records
  • Create alignment relationships between team objectives and company-level goals
  • Batch import multiple objectives and key results for a planning cycle
  • Monitor key result indicators and update current values as work progresses
  • Adjust objective priorities by reordering and modifying weights
Who it's for
  • OKR managers and team leads
  • Individual contributors tracking personal OKRs
  • Strategy and planning teams
  • Anyone managing goals and key results in Feishu

lark-okr FAQ

What is the difference between --as user and --as bot?

--as user (default) views OKR for the current user or their direct reports. --as bot allows viewing other users' OKRs if you have the appropriate permissions.

Can I align objectives from different time periods?

No, alignment is only allowed between objectives whose cycles have overlapping time periods, and an objective cannot align with itself.

How do I update objective or key result weights?

Use +weight shortcut or the objectives_weight/key_results_weight API. All weights in a group must sum to 1.0 and you must specify all items in the group.

What rich-text formats are supported in OKR content?

Refer to the ContentBlock rich-text format reference (lark-okr-contentblock.md) for supported formatting in Objective/KeyResult/Progress content and note fields.

What should I use for task management and scheduling?

Use lark-task for todo/task management and lark-calendar for scheduling and meetings. This skill focuses only on OKR management.

Full instructions (SKILL.md)

Source of truth, from open.feishu.cn.


name: lark-okr version: 1.0.0 description: "飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估" metadata: requires: bins: [ "lark-cli" ] cliHelp: "lark-cli okr --help"

okr (v2)

CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理

身份:OKR 操作默认使用 --as user(查看当前用户/上下级的 OKR 时)。也支持 --as bot 查看他人 OKR(需相应权限)。

Shortcuts(推荐优先使用)

Shortcut 是对常用操作的高级封装(lark-cli okr +<verb> [flags])。有 Shortcut 的操作优先使用。

Shortcut说明
+cycle-list获取特定用户的 OKR 周期列表,可以按时间筛选
+cycle-detail获取特定 OKR 中所有目标和关键结果的内容
+progress-list获取目标或关键结果的所有进展记录列表
+progress-get根据 ID 获取单条 OKR 进展记录
+progress-create为目标或关键结果创建进展记录
+progress-update更新指定 ID 的进展记录内容
+progress-delete删除指定 ID 的进展记录(不可恢复)
+upload-image上传图片用于 OKR 进展记录的富文本内容
+batch-create批量创建 Objective 和 KR
+reorder调整 Objective 或 KR 的顺位
+weight调整 Objective 或 KR 的权重
+indicator-update更新 Objective 或 KR 的指标当前值

格式说明

API Resources

alignments

  • delete — 删除对齐关系
  • get — 获取对齐关系

categories

  • list — 批量获取分类

cycles

  • list — 批量获取用户周期
  • objectives_position — 更新用户周期下全部目标的位置
    • 请求中必须携带对应周期下全部目标的 ID,否则会参数校验失败。以传入的目标ID顺序重新排列目标。
  • objectives_weight — 更新用户周期下全部目标的权重
    • 请求中必须同时修改对应周期下全部目标的权重,且所有权重值的和必须等于 1 ,否则会参数校验失败。例如周期下有 2 个目标时:
    • 正确指令示例如下:
      lark-cli okr cycles objectives_weight --params '{"cycle_id": "7000000000000000001"}' --data '{"objective_weights": [{"objective_id": "7000000000000000002", "weight": 0.7}, {"objective_id": "7000000000000000003", "weight": 0.3}]}' --as user
      

cycle.objectives

  • create — 创建目标
  • list — 批量获取用户周期下的目标

indicators

  • patch — 更新量化指标

key_results

  • delete — 删除关键结果
  • get — 获取关键结果
  • patch — 更新关键结果

key_result.indicators

  • list — 获取关键结果的量化指标

objectives

  • delete — 删除目标
  • get — 获取目标
  • key_results_position — 更新全部关键结果的位置
    • 请求中必须携带对应周期下全部关键结果的 ID,否则会参数校验失败。以传入的关键结果ID顺序重新排列关键结果。
  • key_results_weight — 更新全部关键结果的权重
    • 类似 objectives_weight, 请求中必须同时修改对应目标下全部关键结果的权重,且所有权重值的和必须等于 1 ,否则会参数校验失败。
  • patch — 更新目标

objective.alignments

  • create — 创建对齐关系
    • 对齐不允许对齐自己的目标,且发起对齐的目标和被对齐的目标所在周期时间上必须有重叠,否则会参数校验失败。
  • list — 批量获取目标下的对齐关系

objective.indicators

  • list — 获取目标的量化指标

objective.key_results

  • create — 创建关键结果
  • list — 批量获取目标下的关键结果

不在本 skill 范围