lark-okr

Manage Feishu OKR cycles, objectives, key results, alignments, and progress records via lark-cli.

Updated Jun 22, 2026
One-click install
npx skills add https://github.com/sliec/shared-files --skill lark-okr-sliec
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lark-okr
Source: https://github.com/sliec/shared-files/tree/main/skills/lark-okr
Command: npx skills add https://github.com/sliec/shared-files --skill lark-okr-sliec

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires lark-cli, and includes references (resource) components.

What problem does it solve? Managing OKRs in Feishu (Lark) through the web UI is slow and hard to automate. This Skill lets you query, create, and update OKR cycles, objectives, key results, alignment relationships, quantitative indicators, and progress records directly through the lark-cli command line. ## Core Features & Use Cases - Cycle and Objective Management: List a user's OKR cycles with time-range filtering, then retrieve all objectives and key results within a cycle, including scores, weights, and deadlines. - Progress Tracking: Create, read, update, and delete progress records on objectives or key results, with rich-text ContentBlock content, progress percentages, status flags, and image attachments. - Alignment and Indicators: Create and inspect objective alignment relationships, update objective/key result positions and weights, and patch quantitative indicators with custom units. - Use Case: Ask the assistant to "show my current OKR cycle and add a progress update of 80% to my first key result" — it resolves your user ID, finds the active cycle, locates the key result, and posts the progress record. ## Quick Start Ask the assistant to list my current OKR cycle and show all objectives and key results in it.

Frequently Asked Questions about lark-okr

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I list my OKR cycles in Feishu from the command line?

Run lark-cli okr +cycle-list --user-id "ou_xxx" to list all OKR cycles for a user. You can filter by time range with --time-range "2025-01--2025-06" and choose the ID type with --user-id-type.

How do I add a progress update to a Feishu OKR key result?

Use lark-cli okr +progress-create with --target-id, --target-type key_result, and a ContentBlock JSON --content. Optionally set --progress-percent and --progress-status to record completion percentage and status.

What permissions does the Feishu OKR API require?

Read operations need scopes like okr:okr.content:readonly and okr:okr.period:readonly, while writes require okr:okr.content:writeonly. Progress operations use okr:okr.progress scopes, and image uploads need okr:okr.progress.file:upload.

Can I attach images to OKR progress records in Feishu?

Yes. Upload a local image with lark-cli okr +upload-image using a relative file path, then reference the returned file_token in a ContentBlock gallery element when creating or updating the progress record.

Why does updating OKR objective weights fail with a parameter error?

The cycles.objectives_weight API requires updating all objectives in the cycle at once, and the weights must sum to exactly 1. The same all-or-nothing rule applies to position updates, where positions cannot overlap.