Skip to main content

lark-cli-router

Routes any Feishu/Lark/Doubao operation, including recording lookup by date (按日期找会议录音), through the version-matched lark-cli domain guide embedded in the installed CLI, then executes and verifies the task. Use for 飞书/Lark/Doubao docs, drive, sheets, Base, wiki, minutes, meetings, calendar, IM, mail, tasks, approval, apps, auth/scope, resource URLs or tokens, and lark-cli troubleshooting. This is the single Lark entry point; use ima-copilot instead for Tencent IMA.

Quellinformationen

Repository
daymade/claude-code-skills
Letzte Quellaktivität
15. Oktober 2026 um 15:41
Erkannte Sprache von SKILL.md
Englisch
Sterne
1.502
Forks
230

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
lark-cli-router
description
Routes any Feishu/Lark/Doubao operation, including recording lookup by date (按日期找会议录音), through the version-matched lark-cli domain guide embedded in the installed CLI, then executes and verifies the task. Use for 飞书/Lark/Doubao docs, drive, sheets, Base, wiki, minutes, meetings, calendar, IM, mail, tasks, approval, apps, auth/scope, resource URLs or tokens, and lark-cli troubleshooting. This is the single Lark entry point; use ima-copilot instead for Tencent IMA.
metadata
{"requires":{"bins":["lark-cli"]}}
# Lark CLI Router Use this as the only model-visible Lark entry point. The CLI's embedded `lark-*` guides are the version-synced source of truth; this router selects and loads them instead of copying their domain instructions into another static catalog. ## Boundaries - Tencent IMA is a different product. Route IMA notes or knowledge-base tasks to `ima-skill`, not here. - Do not load all Lark guides. Select the smallest matching guide set for the current task. - Do not bypass `lark-cli` with browser automation, raw `curl`, or guessed API contracts while the CLI or one of its embedded guides covers the task. ## Find an existing recording by date When Feishu is the known source and the request is to find an existing recording by date, read [recording lookup](references/recording-lookup.md) before searching. Use its bounded candidate helper with explicit authorized profiles; do not start ingest, gap audit or ASR for a playback-link lookup. Preserve a supplied minute token or meeting ID and use the embedded guide's direct lookup instead. ## Workflow ### 1. Confirm the runtime Run `lark-cli --version`. If the binary is absent, fail visibly and report that `lark-cli` is required; do not invent another transport or confuse the separate Skill-install command with a CLI-binary installer. Set `LARK_CLI_NO_PROXY=1` for every invocation in this environment. When stable machine-readable JSON is needed, also set `LARKSUITE_CLI_NO_UPDATE_NOTIFIER=1` and `LARKSUITE_CLI_NO_SKILLS_NOTIFIER=1` so notices do not pollute the result. ### 2. Select the embedded guide Run `lark-cli skills list --json`. Match the user's intent and any URL path or token to the returned `name`, `description`, and `metadata.cliHelp`. Do not derive the CLI domain by stripping `lark-` from the guide name: exceptions exist, and `metadata.cliHelp` or the guide itself is authoritative. Select the guide from the live descriptions. A compatibility guide that delegates to another Skill is for an explicitly requested legacy name; load its canonical owner for the task. For a multi-domain request, select a workflow guide or a small ordered set of domain guides from those descriptions. ### 3. Load the selected instructions completely Read the selected guide before acting: ```bash lark-cli skills read lark-doc lark-cli skills read lark-doc/references/lark-doc-fetch.md ``` The first form prints the guide's `SKILL.md`; the second reads a referenced file. Read every file the selected guide marks required for the current branch. Embedded reads reject `..`. Rebase a sibling pointer such as `../lark-whiteboard/references/x.md` to: ```bash lark-cli skills read lark-whiteboard/references/x.md ``` Always try `lark-cli skills read` first for Markdown and reference files. If it returns `reference ... not found`, resolve that exact guide-relative path under `~/.agents/skills/<guide-name>/`. Before the first such fallback for a guide, confirm with the host's SHA-256 tool that its installed `SKILL.md` is byte-identical to `lark-cli skills read <guide-name>`; a mismatch must fail visibly and trigger a bundle refresh. This explicitly keeps `lark-apps/creative-design/` reachable even though the current binary does not embed it. Machine resources under `scripts/` or `assets/` are never embedded, so resolve them directly in the same installed bundle. If a required file is absent, stop and report that the disk bundle must be installed or refreshed; do not fabricate a replacement. ### 4. Inspect, execute, and verify 1. Treat `metadata.cliHelp` as a help recipe, not always a literal command. Run its concrete commands; resolve any placeholder from the loaded guide first. If the field is absent, use the guide's own commands or the selected domain's `--help`. 2. Prefer a matching `+shortcut`; otherwise use a typed resource command. 3. Before a typed call whose parameters are not already explicit in the guide, run `lark-cli schema <service.resource.method>`. 4. Use `lark-cli api` only as the documented escape hatch when no shortcut or typed command covers the endpoint. 5. Preserve any explicitly supplied `--profile`; never guess a profile or identity. Use `lark-cli whoami` when identity is material or ambiguous. Before a read through another existing profile, confirm that it belongs to the requesting user and that the profile/read is already authorized. Keep `--profile` explicit; do not switch the global profile or enumerate unrelated accounts. If ownership is unknown, skip that candidate and report the gap. Different app-specific openIds alone do not establish different people. 6. For writes, use `--dry-run` when the command supports a useful preview. If a high-risk write exits `10`, present the proposed action and wait for explicit human confirmation; never append `--yes` automatically. 7. Separate transport completion from business success. Process exit `0` alone does not prove the requested result; for JSON output, inspect `ok` and errors as well. Outer `ok == true` does not prove each item succeeded. Do not test for a top-level `code == 0`; interpret domain results using the loaded guide. For an authorized conversation archive that includes linked materials, derive the requested set from every captured root and complete thread-reply page, including nested auto-expanded replies; load the current `lark-im` message-list, thread-list and enrichment references to interpret pagination and reply errors. Extract links and attachment identities from that union of raw message content, retaining parent relationships; unfinished pages, omitted replies, recalled content and denied resources remain explicit gaps and `partial`, while an overview-only request keeps its narrower scope. For batches, reconcile each requested resource identity with its returned item, error and expected result/artifact. Identify missing, duplicate and unrequested items; a duplicate never fills a missing request. Count verified successes, explicit failures and missing/unknown results against the request total, counting each requested identity at most once; report anomalies separately, and report `partial` whenever any requested result is not verified. For example, three requested items with one verified result, one permission error and one missing item are `partial: 1/3 successful, 1 failed, 1 missing`, even with exit `0` and outer `ok == true`. 8. After a write, follow the selected guide's domain-specific verification contract. If it defines none, perform the narrowest independent read that proves the requested state changed. A guide that explicitly forbids an opportunistic second query takes precedence. Report partial results or missing coverage. On authentication or permission errors, load `lark-shared` and its embedded `lark-shared/references/lark-shared-identity-and-permissions.md`. Follow its user/bot and missing-scope branch, and interpret the current CLI's auth status: ```bash lark-cli --profile "<authorized-profile>" auth status --json ``` Do not classify `needs_refresh` as unusable login. When the status says it will auto-refresh on the next user API call, an already-authorized ordinary read may proceed with explicit `--profile` and `--as user`; let the CLI renew normally. Do not initiate login, new grants/scopes or manual credential writes merely to handle that state. A ready token still does not prove target read permission. Scope an actual target read-permission denial to its target/profile/identity and stop that route. Do not turn authentication failures or that refusal into retry loops or browser/raw-API fallbacks. It does not prove that every other already-authorized profile of the requesting user is denied. Assess another profile only after the ownership/authorization check above, and verify its own target result rather than assuming access.
Auf GitHub ansehen