一键导入
lark
Work with Lark Docs, Sheets, Bitable (database), and Drive. Use this skill when the user requests operations on Lark documents, spreadsheets, or databases.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Work with Lark Docs, Sheets, Bitable (database), and Drive. Use this skill when the user requests operations on Lark documents, spreadsheets, or databases.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when an auditor asks DoWhiz to process audit PBC requests, audit evidence intake, workpapers, financial statement support, tie-outs, or audit client follow-up drafts from emails, attachments, spreadsheets, PDFs, Word files, Google Drive, Lark, or similar collaboration surfaces.
Technical Program Manager skill for managing product tasks, team workload, and competitive research. Use tpm_cli for Notion task board operations and web search for market intelligence.
Produce a one-page U.S. equity signal monitor for a single stock or ETF. Front-load exactly one monitor badge (`Review Now`, `Watch Closely`, `No Material Change`, or `Insufficient Evidence`), explain why the signal matters now, what changed or did not change in the thesis, the main risk to the signal, and what would change the view next. Use whenever the user asks whether a stock is a buy or sell, wants a single-name investment memo, asks for deep research or a high-level investment view on one company, wants a thesis review versus peers or sector expectations, asks what changed since a prior note, wants an earnings setup, or says "should I act" about one ticker. Keep it as public-market analysis rather than personalized portfolio advice. Do not use for portfolio optimization, multi-asset allocation, crypto, FX, fixed-income, or macro strategy notes.
Produce a one-page U.S. equity signal monitor for a single stock or ETF. Front-load exactly one monitor badge (`Review Now`, `Watch Closely`, `No Material Change`, or `Insufficient Evidence`), explain why the signal matters now, what changed or did not change in the thesis, the main risk to the signal, and what would change the view next. Use whenever the user asks whether a stock is a buy or sell, wants a single-name investment memo, asks for deep research or a high-level investment view on one company, wants a thesis review versus peers or sector expectations, asks what changed since a prior note, wants an earnings setup, or says "should I act" about one ticker. Keep it as public-market analysis rather than personalized portfolio advice. Do not use for portfolio optimization, multi-asset allocation, crypto, FX, fixed-income, or macro strategy notes.
Search for used cars from reputable large dealership sources and present a curated catalog. Use when the user asks about buying a used car, finding a car within a budget, searching for vehicles in their area, or any variant like "find me a car under $X", "used cars near me", "looking for a reliable sedan", or "what's available at CarMax". Trigger even when the user doesn't explicitly say "used car search" but is clearly shopping for a vehicle purchase.
Research and catalog hotel options for multi-day trips. Produces a Word document with a table of 2-3 hotel candidates per day, including pricing and amenities. Uses web search for hotel research and the 'doc' skill for DOCX output.
| name | lark |
| description | Work with Lark Docs, Sheets, Bitable (database), and Drive. Use this skill when the user requests operations on Lark documents, spreadsheets, or databases. |
| allowed-tools | Bash(lark_cli:*) |
This skill enables you to interact with Lark's productivity suite:
The CLI uses environment variables for authentication:
LARK_APP_ID - Your Lark app IDLARK_APP_SECRET - Your Lark app secretThese are pre-configured in the environment.
# Get document metadata
lark_cli get-doc --document-id "<doc_token>"
# Read document content (returns blocks)
lark_cli read-doc --document-id "<doc_token>"
# Create a new document
lark_cli create-doc --title "Meeting Notes"
lark_cli create-doc --title "Report" --folder-token "<folder_token>"
# Get spreadsheet metadata
lark_cli get-sheet --spreadsheet-id "<sheet_token>"
# Read a range of cells
lark_cli read-range --spreadsheet-id "<sheet_token>" --sheet-id "Sheet1" --range "A1:C10"
# Write values to a range (JSON 2D array)
lark_cli write-range --spreadsheet-id "<sheet_token>" --sheet-id "Sheet1" --range "A1:B2" --values '[["Name","Age"],["John",30]]'
# Append rows to a sheet
lark_cli append-rows --spreadsheet-id "<sheet_token>" --sheet-id "Sheet1" --values '[["Jane",25],["Bob",35]]'
Bitable is Lark's database product (similar to Airtable/Notion databases).
# List tables in a bitable app
lark_cli list-tables --app-token "<app_token>"
# Get table metadata (field definitions)
lark_cli get-table --app-token "<app_token>" --table-id "<table_id>"
# Query records (with optional filter)
lark_cli query-records --app-token "<app_token>" --table-id "<table_id>"
lark_cli query-records --app-token "<app_token>" --table-id "<table_id>" --filter 'CurrentValue.[Status]="Done"' --page-size 50
# Create a record (fields as JSON object)
lark_cli create-record --app-token "<app_token>" --table-id "<table_id>" --fields '{"Name":"John","Status":"Active"}'
# Update a record
lark_cli update-record --app-token "<app_token>" --table-id "<table_id>" --record-id "<record_id>" --fields '{"Status":"Completed"}'
# Delete a record
lark_cli delete-record --app-token "<app_token>" --table-id "<table_id>" --record-id "<record_id>"
Field Types:
| Type | Example Value |
|---|---|
| Text | "Hello" |
| Number | 123 or 45.67 |
| Checkbox | true / false |
| Date | 1672531200000 (unix ms) |
| Single Select | "Option A" |
| Multi Select | ["Option A", "Option B"] |
| Person | [{"id": "ou_xxx"}] |
# List files (root folder)
lark_cli list-files
# List files in a specific folder
lark_cli list-files --folder-token "<folder_token>" --page-size 50
# Get file metadata
lark_cli get-file --file-token "<file_token>"
# Create a folder
lark_cli create-folder --name "Projects" --parent-token "<parent_folder_token>"
Share documents, sheets, or bitable apps with users:
# Share a document with a user by open_id (default, edit access)
lark_cli share-file --token "<doc_token>" --file-type docx --member-id "ou_xxx"
# Share with view-only access
lark_cli share-file --token "<doc_token>" --file-type docx --member-id "ou_xxx" --perm view
# Share by email instead of open_id
lark_cli share-file --token "<doc_token>" --file-type docx --member-type email --member-id "user@example.com"
# Share a spreadsheet
lark_cli share-file --token "<sheet_token>" --file-type sheet --member-id "ou_xxx"
# Share a bitable with full access
lark_cli share-file --token "<app_token>" --file-type bitable --member-id "ou_xxx" --perm full_access
Parameters:
--token - The file/doc token from the create response--file-type - docx, sheet, bitable, file, folder--member-type - openid (default), email, or userid--member-id - The user's open_id (like "ou_xxx"), email, or user_id--perm - view, edit (default), or full_accessImportant: When you create a document/sheet/bitable, it is owned by the bot app. You must share it with the user for them to access it.
Lark URLs contain tokens you'll need:
| URL Pattern | Token Location |
|---|---|
https://xxx.larksuite.com/docx/ABC123 | Document: ABC123 |
https://xxx.larksuite.com/sheets/ABC123 | Spreadsheet: ABC123 |
https://xxx.larksuite.com/base/ABC123 | Bitable App: ABC123 |
https://xxx.larksuite.com/drive/folder/ABC123 | Folder: ABC123 |
# 1. Read the document
lark_cli read-doc --document-id "doxcn4RM1Lxxx"
# 2. Parse the JSON response to extract text blocks
# 3. Summarize the content
# 1. Get table structure
lark_cli get-table --app-token "appXXX" --table-id "tblYYY"
# 2. Create a new record
lark_cli create-record --app-token "appXXX" --table-id "tblYYY" --fields '{"Task":"Review PR","Status":"Pending","Due":"2024-03-15"}'
# 1. Read current data
lark_cli read-range --spreadsheet-id "shtXXX" --sheet-id "Sheet1" --range "A1:D10"
# 2. Append new rows
lark_cli append-rows --spreadsheet-id "shtXXX" --sheet-id "Sheet1" --values '[["New Item",100,"Active"]]'
Common errors:
All commands output JSON. Parse the response to extract:
data - The actual content/recordscode - 0 for success, non-zero for errorsmsg - Error message if failed