Unified Feishu CLI skill. Handled through a single runtime:
helpProgressive help (adapted for LLM self-discovery)authAuthorization and token managementtoolBusiness actions (calendar/contact/doc/wiki/drive/sheets/mail/meeting/okr/bitable)apiRaw Open API calls
Progressive help (recommended order)
# 1) 顶层命令总览
python3 skills/feishu-cli/run.py '{"action":"help"}'
# 2) 认证帮助
python3 skills/feishu-cli/run.py '{"action":"help","topic":"auth"}'
# 3) 查看全部模块
python3 skills/feishu-cli/run.py '{"action":"help","topic":"modules"}'
4) View actions of a module
python3 skills/feishu-cli/run.py '{"action":"help","topic":"module","module":"calendar"}'
5) View parameters and examples of an actionpython3 skills/feishu-cli/run.py '{"action":"help","topic":"action","module":"calendar","action_name":"create"}'
## auth 示例
```bash
# 查看授权状态
python3 skills/feishu-cli/run.py '{"action":"auth","subcommand":"status"}'
# 获取租户 token(复用现有 lark_auth)
python3 skills/feishu-cli/run.py '{"action":"auth","subcommand":"tenant_token"}'
# 生成 OAuth URL(先做 redirect allowlist 预检)
python3 skills/feishu-cli/run.py '{"action":"auth","subcommand":"oauth_url","redirect_uri":"https://example.com/callback","scopes":["contact:user.base:readonly"]}'
tool examples
# 创建日程
python3 skills/feishu-cli/run.py '{"action":"tool","module":"calendar","tool_action":"create","title":"周会","start":"2026-03-06 10:00","duration":"60m"}'
# 读取文档
python3 skills/feishu-cli/run.py '{"action":"tool","module":"doc","tool_action":"read","document_id":"doccnxxxx"}'
# 查询通讯录用户
python3 skills/feishu-cli/run.py '{"action":"tool","module":"contact","tool_action":"get_user","user_id":"ou_xxx"}'
api examples
# 原始 Open API 调用(tenant)
python3 skills/feishu-cli/run.py '{"action":"api","method":"GET","path":"/contact/v3/scopes"}'
Quick reference of actions per module
| module | Supported tool_action |
|---|---|
| calendar | create, query, update, delete, list_calendars, freebusy |
| contact | get_user, search_user, list_departments |
| doc | create, read, read_content, write_markdown, list_blocks, update_block_text |
| wiki | list_spaces, list_nodes, create_node, get_node |
| drive | list_files, upload, download |
| sheets | create, get, list_sheets |
| list_mailgroups, list_members | |
| meeting | create, list, get, update, delete |
| okr | list_periods, batch_get, list_user_okrs |
| bitable | list_tables, list_fields, list_records, create_record, update_record, delete_record |
| message | send_message, history, upload_file |
| task | list, create, update, delete, complete, uncomplete, list_subtasks, create_subtask |
Alias compatibility: old names
create_spreadsheet→create,get_spreadsheet→get,list_okr_periods→list_periods,batch_get_okrs→batch_getall have aliases configured and can be called normally, but the documentation uses the new names as the standard.
Unified environment variables (recommended)
LARK_APP_IDLARK_APP_SECRETLARK_TENANT_TOKEN(optional, prefer direct use)LARK_OPEN_BASE_URL(optional)LARK_OAUTH_REDIRECT_URI(OAuth)LARK_OAUTH_REDIRECT_ALLOWLIST(OAuth pre-check)LARK_OAUTH_SCOPES(OAuth default scope)