lark-cli
Skill263 starsChanged 35 days agoMITView on GitHub
Use when the user wants to operate Lark or Feishu via the local lark-cli (@larksuite/cli), including install, app credentials, OAuth, readiness checks, and safe read/write boundaries.
- Installs packages
5 other projects use a version of this.
Adopted by
Most recently taken up by
- CatCatUncle/openworkbuddytheir own version, first seen Nov 5, 2026
- vaayne/agent-kittheir own version, first seen Oct 16, 2026
- sean2077/skillstheir own version, first seen Sep 24, 2026
- archibate/agent-skillstheir own version, first seen Aug 8, 2026
- sergeeey/Claude-cod-top-2026their own version, first seen May 13, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- CatCatUncle/openworkbuddy★ 398same name
- vaayne/agent-kit★ 54same name
- archibate/agent-skills★ 16same name
- sergeeey/Claude-cod-top-2026★ 9same name
- sean2077/skills★ 5same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository37 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/code-citation-clickable.mdcCursor rule
- .cursor/rules/commit-message-english.mdcCursor rule
- autonomous-maintainability-campaignSkill
- autonomous-requirement-discoverySkill
- delivering-delegated-linear-issuesSkill
- development-deliverySkill
- development-designSkill
- development-implementationSkill
- development-lifecycleSkill
- development-retrospectiveSkill
- development-reviewSkill
- development-task-understandingSkill
- development-validationSkill
- idea-search-funnelSkill
- nextclaw-agent-instructions-governanceSkill
- nextclaw-product-blog-storytellingSkill
- nextclaw-product-visual-assetsSkill
- x-twitter-birdSkill
- aigen-image-generationSkill
- bb-browserSkill
- browser-controlSkill
- claude-code-narp-runtimeSkill
- clawhub-nextclawSkill
- codex-narp-runtimeSkill
- find-skillsSkill
- gemigo-cliSkill
- impeccableSkill
- linear-cliSkill
- mmx-cliSkill
- nextclaw-skin-studioSkill
- opencliSkill
- proxy-local-ai-subscriptionsSkill
- publish-to-nextclaw-marketplaceSkill
- skillhub-guideSkill
- superpowersSkill
- ui-ux-pro-maxSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
83 rules. 0 are common, 40 are distinctive, and 43 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
40
Distinctive
This author's own choices. Worth a look.
43
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Use this skill to help the user work through a local lark-cli installation from inside NextClaw.
- Distinctive: line 21
verify readiness with observable commands,
- Distinctive: line 24
Do not pretend the environment is ready when it is not.
- Distinctive: line 25
Treat browser completion, terminal success text, and real readiness as three separate things.
- Distinctive: line 29
Always distinguish these three things before taking action:
- Distinctive: line 54
If the user wants the skill installed into a specific project or workspace, install it with an explicit workdir:
- Very specific: line 60
Do not treat this upstream command as a NextClaw marketplace or workspace install:
- Very specific: line 70
When the user says "help me connect Feishu/Lark in NextClaw" or "make this skill actually work", follow this exact order and do not skip …
- Very specific: line 74
Check the real NextClaw workspace path before touching lark-cli.
- Distinctive: line 80
If the user says they already installed the skill, verify that file exists.
- Distinctive: line 81
If it does not exist, install it with:
- Very specific: line 87
Do not start debugging Feishu OAuth before this NextClaw-side path is confirmed.
- Distinctive: line 97
If it fails, check common Node bin locations before claiming the CLI is missing:
- Very specific: line 103
If lark-cli exists in one of those directories but is not on PATH, use a one-off PATH prefix for the current command session, for example:
- Distinctive: line 109
Only if the binary truly does not exist should you install it:
- Very specific: line 134
Do not start config init or auth login blindly before checking current state.
- Distinctive: line 138
Use the browser-based config flow:
- Distinctive: line 149
keep the same process alive until it exits,
- Very specific: line 159
Do not rerun config init --new just because the terminal is still waiting.
- Distinctive: line 160
Do not treat "the user opened the page" as success.
- Distinctive: line 164
Prefer the two-stage device flow:
- Very specific: line 184
start exactly one --device-code polling process
- Distinctive: line 185
wait for that same process to finish
- Very specific: line 197
If identity is still bot, the login is not done.
- Very specific: line 198
Do not launch multiple concurrent auth login sessions.
- Distinctive: line 202
After login succeeds, run at least one real API-backed read command before claiming the environment is usable.
- Very specific: line 217
Only after this smoke step should the agent proceed to task-specific operations such as task/calendar/docs/mail/im/base actions.
- Distinctive: line 221
Use this checklist literally:
- Very specific: line 225
If not, repair PATH or install @larksuite/cli.
- Very specific: line 229
If config missing, run one lark-cli config init --new flow and wait.
- Very specific: line 230
If config exists but identity is bot, run one auth login --recommend --no-wait --json flow and one --device-code polling process.
- Very specific: line 231
Verify identity: "user" with auth status.
- Very specific: line 232
Verify token checks with doctor.
- Distinctive: line 234
Only then execute the user’s actual Feishu/Lark task.
- Very specific: line 238
Do not confuse "skill installed into NextClaw workspace" with "lark-cli binary installed globally".
- Very specific: line 239
Do not use npx skills add larksuite/cli -y -g as a substitute for the NextClaw-packaged lark-cli skill.
- Very specific: line 240
Do not start a second config init --new while the first one is still waiting.
- Very specific: line 241
Do not start repeated auth login commands when one --device-code polling process is already active.
- Distinctive: line 242
Do not declare success from browser completion alone.
- Distinctive: line 243
Do not declare success from token existence alone if no read command has been tested.
- Very specific: line 244
Do not skip auth status and doctor.
- Very specific: line 265
When the user asks for a lark-cli-powered task, follow this order.
- Distinctive: line 267
Before taking action, classify the environment into exactly one state and move only to the next state:
- Distinctive: line 276
Do not start a second config or login flow while one is already in progress.
- Very specific: line 282
read-only (list, view, search, export, auth status, schema introspection),
- Very specific: line 283
write or side-effect (send messages, create/update/delete resources, share, permission changes),
- Distinctive: line 286
If the task does not fit what the CLI exposes, say so clearly.
- Distinctive: line 296
If missing, explain that the CLI must be installed locally first.
- Very specific: line 302
After installation, continue with configuration and auth instead of jumping straight into the user task.
- Very specific: line 313
Treat this as optional unless the user is following upstream tutorials that assume those files exist, or the CLI reports missing skill …
- Very specific: line 314
If the user's goal is the NextClaw-supported lark-cli workflow, use nextclaw skills install lark-cli and verify …
- Very specific: line 332
run lark-cli config init --new in the background,
- Distinctive: line 334
wait for the process to exit before treating configuration as finished.
- Very specific: line 342
If the browser page is opened but the command is still waiting, configuration is not finished yet.
- Very specific: line 343
If config init --new succeeds once, do not immediately rerun it unless config show or doctor proves config is still missing or broken.
- Distinctive: line 347
Prefer the non-looping agent pattern:
- Very specific: line 371
If login prints success text but auth status still shows identity: "bot", treat that as not ready.
- Very specific: line 372
If a device-code session is already pending, do not restart auth login --recommend.
- Distinctive: line 382
If this does not show a healthy authenticated state with the scopes needed for the task, do not proceed to the real operation yet.
- Very specific: line 395
Before task operations: lark-cli auth status and lark-cli auth check --scope "task:task:write"
- Very specific: line 396
Before message send: inspect help and do --dry-run first if available
- Distinctive: line 397
Before broad automation: prefer one narrow read command in the same domain
- Distinctive: line 401
Use these rules to avoid fake success and retry loops:
- Distinctive: line 406
Do not treat “user opened the browser page” as success.
- Distinctive: line 407
Do not treat “command is still waiting” as a cue to start the same flow again.
- Distinctive: line 408
If a command returns a concrete resource id or guid, store and reuse that id for verification instead of relying on fuzzy search.
- Very specific: line 412
Prefer read-only commands and schema inspection (lark-cli schema, --dry-run) before mutating operations.
- Distinctive: line 414
Prefer narrow domain flags (for example domain-limited login) when the user’s goal is limited to one surface.
- Very specific: line 415
Use --format json or ndjson when structured inspection reduces mistakes.
- Distinctive: line 416
If the user asks to relax security settings or bypass upstream defaults, refuse silently automating that path.
- Very specific: line 429
If the user wants the task to appear under “my tasks”, assign it explicitly to the current user with --assignee <open_id>.
- Distinctive: line 439
When the user is unsure, default to smaller scope, fewer recipients, and read-only verification first.
- Distinctive: line 452
If the user is working in a project-specific workspace, reinstall with:
- Distinctive: line 458
Do not claim success just because an install command finished.
- Distinctive: line 462
Do not blindly rerun both config and login.
- Very specific: line 469
Use lark-cli auth status and lark-cli auth scopes to compare granted scopes with the command’s needs.
- Very specific: line 470
If using agent mode, prefer auth login --no-wait --json plus auth login --device-code ...
- Very specific: line 474
If a config init --new or auth login --device-code process is already active, keep that single session as the source of truth.
- Very specific: line 475
If the user says they completed the browser step, poll the existing process and then verify with config show, doctor, or auth status.
- Distinctive: line 476
Only declare timeout or failure after the current session exits or the device code expires.
- Distinctive: line 477
Never stack multiple concurrent login attempts just because the terminal is still waiting.
- Distinctive: line 482
Do not guess shortcut names.
- Very specific: line 486
Treat these as platform or admin policy constraints, not as something to bypass inside NextClaw.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Lark CLI (larksuite/cli)
Overview
Use this skill to help the user work through a local lark-cli installation from inside NextClaw.
This skill is intentionally decoupled:
- The skill owns explanation, onboarding, readiness checks, workflow choice, risk handling, and permission clarity.
- The
lark-clibinary owns actual execution against the Lark/Feishu Open Platform APIs.
From the user’s point of view, the experience should feel complete:
- install the CLI (and optionally upstream skill assets when needed),
- configure app credentials and complete OAuth,
- verify readiness with observable commands,
- then run the real task.
Do not pretend the environment is ready when it is not. Treat browser completion, terminal success text, and real readiness as three separate things. Only observable CLI checks count as success.
Install Boundary: Upstream CLI vs NextClaw Skill
Always distinguish these three things before taking action:
@larksuite/cli/lark-clibinary install:npm install -g @larksuite/cli- NextClaw runtime skill install:
the selectable skill must exist at
<workspace>/skills/lark-cli/SKILL.md - Global Agent Skill install:
a user-wide skill may exist at
~/.agents/skills/<skill-name>/SKILL.md - This repo's source skill:
skills/lark-cli/SKILL.mdinside the NextClaw repository
NextClaw loads both workspace skills and global Agent Skills. They appear as separate sources in the skill picker and keep separate installation/update lifecycles.
Default NextClaw workspace:
~/.nextclaw/workspaceSo the default installed skill path is:
~/.nextclaw/workspace/skills/lark-cli/SKILL.mdIf the user wants the skill installed into a specific project or workspace, install it with an explicit workdir:
nextclaw skills install lark-cli --workdir <workspace>Do not treat this upstream command as a NextClaw marketplace or workspace install:
npx skills add larksuite/cli -y -gThat upstream command installs upstream Agent Skill assets globally. When it writes to ~/.agents/skills/, NextClaw can show the result under Global skills, but it does not install the NextClaw-packaged lark-cli skill or join the NextClaw marketplace lifecycle.
Deterministic Integration Recipe
When the user says "help me connect Feishu/Lark in NextClaw" or "make this skill actually work", follow this exact order and do not skip steps.
Step 0: Verify the NextClaw side first
Check the real NextClaw workspace path before touching lark-cli.
- Default workspace:
~/.nextclaw/workspace - Expected installed skill file:
<workspace>/skills/lark-cli/SKILL.md
If the user says they already installed the skill, verify that file exists. If it does not exist, install it with:
nextclaw skills install lark-cli --workdir <workspace>Do not start debugging Feishu OAuth before this NextClaw-side path is confirmed.
Step 1: Verify the upstream CLI binary
Run:
command -v lark-cliIf it fails, check common Node bin locations before claiming the CLI is missing:
~/.nvm/versions/node/*/bin/opt/homebrew/bin/usr/local/bin
If lark-cli exists in one of those directories but is not on PATH, use a one-off PATH prefix for the current command session, for example:
PATH=$HOME/.nvm/versions/node/v22.16.0/bin:$PATH lark-cli --helpOnly if the binary truly does not exist should you install it:
npm install -g @larksuite/cliStep 2: Check current readiness before starting new flows
Run these first:
lark-cli config show
lark-cli auth status
lark-cli doctorInterpret them in this order:
config showsays "Not configured yet" ordoctorshowsconfig_file=fail-> configuration is missing; go to Step 3auth statusshowsidentity: "bot"and "No user logged in" -> config exists but user login is missing; go to Step 4auth statusshowsidentity: "user"anddoctoris all pass -> environment is ready; go to Step 5
Do not start config init or auth login blindly before checking current state.
Step 3: Configure the app exactly once
Use the browser-based config flow:
lark-cli config init --newFor agent-style execution:
- run it once,
- capture the printed browser URL,
- send that URL to the user,
- keep the same process alive until it exits,
- then verify with
config showanddoctor.
Success means all of these are true:
- the original
config init --newprocess exits with code0 lark-cli config showdisplays a concreteappIdlark-cli doctorreportsconfig_file=passlark-cli doctorreportsapp_resolved=pass
Do not rerun config init --new just because the terminal is still waiting.
Do not treat "the user opened the page" as success.
Step 4: Log in as a user exactly once
Prefer the two-stage device flow:
lark-cli auth login --recommend --no-wait --jsonThis returns:
verification_urldevice_code
Then immediately start the single polling process:
lark-cli auth login --device-code <DEVICE_CODE>Agent behavior must be:
- show
verification_urlto the user - start exactly one
--device-codepolling process - wait for that same process to finish
- then verify with
auth statusanddoctor
Success means all of these are true:
- the
--device-codeprocess exits with code0 lark-cli auth statusshowsidentity: "user"lark-cli auth statusincludes user info such asuserName/userOpenIdlark-cli doctorreportstoken_exists=passlark-cli doctorreportstoken_local=pass- ideally
lark-cli doctorreportstoken_verified=pass
If identity is still bot, the login is not done.
Do not launch multiple concurrent auth login sessions.
Step 5: Run one real read-only smoke command
After login succeeds, run at least one real API-backed read command before claiming the environment is usable.
Safe default:
lark-cli contact +get-user --format jsonSuccess means:
- command exits
0 - output contains
"ok": true - output contains
"identity": "user" - output includes a real
open_idor user object
Only after this smoke step should the agent proceed to task-specific operations such as task/calendar/docs/mail/im/base actions.
One-Pass Checklist For Agents
Use this checklist literally:
- Confirm
<workspace>/skills/lark-cli/SKILL.mdexists. - Confirm
command -v lark-cliworks. - If not, repair PATH or install
@larksuite/cli. - Run
lark-cli config show. - Run
lark-cli auth status. - Run
lark-cli doctor. - If config missing, run one
lark-cli config init --newflow and wait. - If config exists but identity is
bot, run oneauth login --recommend --no-wait --jsonflow and one--device-codepolling process. - Verify
identity: "user"withauth status. - Verify token checks with
doctor. - Run
lark-cli contact +get-user --format json. - Only then execute the user’s actual Feishu/Lark task.
Do Not Do These Things
- Do not confuse "skill installed into NextClaw workspace" with "
lark-clibinary installed globally". - Do not use
npx skills add larksuite/cli -y -gas a substitute for the NextClaw-packagedlark-cliskill. - Do not start a second
config init --newwhile the first one is still waiting. - Do not start repeated
auth logincommands when one--device-codepolling process is already active. - Do not declare success from browser completion alone.
- Do not declare success from token existence alone if no read command has been tested.
- Do not skip
auth statusanddoctor.
What This Skill Covers
- Installation paths documented upstream (for example global npm install of
@larksuite/cli). - One-time app credential setup:
lark-cli config init(orlark-cli config init --newwhen a browser-based setup URL must be handed to the user). - Authentication:
lark-cli auth login(including--recommendwhen appropriate),lark-cli auth status, and scope-aware flows described in upstream docs. - Command discovery via
lark-cli --helpandlark-cli <service> --help. - Shortcuts (commands prefixed with
+), curated API commands, and rawlark-cli apicalls only as supported by the installed CLI version. - Security expectations: acting within granted OAuth scopes, dry-run where available, and explicit confirmation before high-impact writes.
What This Skill Does Not Cover
- Inventing subcommands, shortcuts, or API paths that do not appear in the installed CLI help or upstream documentation.
- Claiming tenant permissions, plan limits, or compliance posture the user’s app or admin policies do not allow.
- Silently bypassing missing app configuration or failed login.
- Silently triggering messaging sends, file uploads, deletions, permission changes, or other high-impact actions without explicit user confirmation when the situation calls for it.
- Treating Lark/Feishu platform behavior or third-party CLI output as native NextClaw behavior.
First-Use Workflow
When the user asks for a lark-cli-powered task, follow this order.
Before taking action, classify the environment into exactly one state and move only to the next state:
- CLI missing
- configured = no
- config in progress
- configured = yes, logged in = no
- login in progress
- ready
Do not start a second config or login flow while one is already in progress. Finish, verify, then continue.
1. Classify the task
Classify the task into one of these:
- read-only (list, view, search, export,
auth status, schema introspection), - write or side-effect (send messages, create/update/delete resources, share, permission changes),
- long-running or interactive (OAuth URL, device code, background polling).
If the task does not fit what the CLI exposes, say so clearly.
2. Check whether the CLI exists
Run:
command -v lark-cliIf missing, explain that the CLI must be installed locally first. Prefer the upstream-recommended global install:
npm install -g @larksuite/cliAfter installation, continue with configuration and auth instead of jumping straight into the user task.
This step installs the upstream lark-cli binary only. It does not install the NextClaw lark-cli skill into the workspace.
3. Optional upstream skill bundle
Upstream documents installing additional Agent Skill files globally:
npx skills add larksuite/cli -y -gTreat this as optional unless the user is following upstream tutorials that assume those files exist, or the CLI reports missing skill assets. It can appear in NextClaw as a global skill, but it is not a NextClaw marketplace replacement.
If the user's goal is the NextClaw-supported lark-cli workflow, use nextclaw skills install lark-cli and verify <workspace>/skills/lark-cli/SKILL.md exists.
4. Configure app credentials
Guide the user through credential setup:
lark-cli config initFor agent-style flows where the process prints a URL and expects browser completion, use the non-interactive variant described upstream, for example:
lark-cli config init --newFor agent-style flows:
- run
lark-cli config init --newin the background, - extract the printed browser URL and send it to the user,
- wait for the process to exit before treating configuration as finished.
Config success gate:
- the process exits with code
0, and lark-cli config showshows a concreteappId, andlark-cli doctorshowsconfig_file=passandapp_resolved=pass.
If the browser page is opened but the command is still waiting, configuration is not finished yet.
If config init --new succeeds once, do not immediately rerun it unless config show or doctor proves config is still missing or broken.
5. Log in
Prefer the non-looping agent pattern:
lark-cli auth login --recommend --no-wait --jsonThen use the returned device_code to resume polling:
lark-cli auth login --device-code <DEVICE_CODE>This keeps the flow explicit:
- first command returns the verification URL immediately,
- second command is the single polling process,
- and the agent can avoid repeatedly spawning fresh login sessions.
Login success gate:
- the polling command exits with code
0, and lark-cli auth statusshowsidentity: "user", andlark-cli doctorreportstoken_exists=pass,token_local=pass, and ideallytoken_verified=pass.
If login prints success text but auth status still shows identity: "bot", treat that as not ready. Do not continue to real user-scoped operations.
If a device-code session is already pending, do not restart auth login --recommend; continue or expire that session first.
6. Readiness check
Run:
lark-cli auth statusIf this does not show a healthy authenticated state with the scopes needed for the task, do not proceed to the real operation yet. Diagnose config and login first.
Optional deeper checks include lark-cli auth check for a specific scope when the user’s task depends on one.
Readiness means all of these are true:
- config exists,
- current identity is the one required by the task,
- required scopes are present,
- and a lightweight read command for that domain succeeds when feasible.
Examples:
- Before task operations:
lark-cli auth statusandlark-cli auth check --scope "task:task:write" - Before message send: inspect help and do
--dry-runfirst if available - Before broad automation: prefer one narrow read command in the same domain
Observable Success Rules
Use these rules to avoid fake success and retry loops:
config init --newis successful only after the process exits andconfig showordoctorconfirms config is resolved.auth loginis successful only afterauth statussaysidentity: "user".- A write operation is successful only after the CLI returns a stable identifier or the resource can be fetched again.
- Do not treat “user opened the browser page” as success.
- Do not treat “command is still waiting” as a cue to start the same flow again.
- If a command returns a concrete resource id or guid, store and reuse that id for verification instead of relying on fuzzy search.
Safe Execution Rules
- Prefer read-only commands and schema inspection (
lark-cli schema,--dry-run) before mutating operations. - For sends, deletes, permission changes, org-wide visibility, or bulk updates, ask for explicit confirmation unless the user already gave a clear, scoped instruction covering that exact action.
- Prefer narrow domain flags (for example domain-limited login) when the user’s goal is limited to one surface.
- Use
--format jsonorndjsonwhen structured inspection reduces mistakes; usetableorprettywhen the user needs human-readable output. - If the user asks to relax security settings or bypass upstream defaults, refuse silently automating that path; surface upstream risk language and require explicit informed consent in the product channel, not inside the agent’s hidden defaults.
Task-specific rule:
task +get-my-tasksmeans “tasks assigned to me”, not “every task I created”.- A task created without
--assigneemay be retrievable bytask tasks getbut not appear in+get-my-tasks. - For task creation verification, prefer this sequence:
lark-cli task +create ... --format json
lark-cli task tasks get --params '{"task_guid":"<GUID>"}' --format json- If the user wants the task to appear under “my tasks”, assign it explicitly to the current user with
--assignee <open_id>.
Privacy, Trust, And Compliance
This CLI can act on behalf of a logged-in user or bot identity within OAuth scopes. Surface that:
- Data may include messages, files, mail, calendar, contacts, and other tenant content.
- Mis-scoped automation can leak sensitive information or send messages to the wrong audiences.
- Upstream documentation includes security warnings; do not downplay them.
When the user is unsure, default to smaller scope, fewer recipients, and read-only verification first.
Troubleshooting
lark-cli not found
- Explain that Node/npm global install may be missing or not on
PATH. - Re-check with
command -v lark-cliafter install.
Skill source is not the expected one
- For the NextClaw-packaged workflow, the success check is
<workspace>/skills/lark-cli/SKILL.mdand theNextClaw skillspicker group. - For an upstream global install, verify
~/.agents/skills/<skill-name>/SKILL.mdand theGlobal skillspicker group. - If the user is working in a project-specific workspace, reinstall with:
nextclaw skills install lark-cli --workdir <workspace>- Do not claim success just because an install command finished; verify the expected source group and then run the CLI readiness checks.
Config or auth errors
- Do not blindly rerun both config and login.
- First ask which state failed:
doctorsays config missing or unresolvedauth statussays bot only / not logged inauth statussays user but scope is insufficient- domain read/write command itself failed
- Re-run only the failed stage.
- Use
lark-cli auth statusandlark-cli auth scopesto compare granted scopes with the command’s needs. - If using agent mode, prefer
auth login --no-wait --jsonplusauth login --device-code ...over repeatedly launching fresh blocking login commands.
Repeated waiting or apparent loop
- If a
config init --neworauth login --device-codeprocess is already active, keep that single session as the source of truth. - If the user says they completed the browser step, poll the existing process and then verify with
config show,doctor, orauth status. - Only declare timeout or failure after the current session exits or the device code expires.
- Never stack multiple concurrent login attempts just because the terminal is still waiting.
Command not recognized
- Inspect
lark-cli --helpandlark-cli <service> --helpfor the installed version. - Do not guess shortcut names; confirm from help output.
Rate limits, permission denied, or tenant policy errors
- Treat these as platform or admin policy constraints, not as something to bypass inside NextClaw.
Success Criteria
The skill is working correctly when:
- the user understands that execution is performed by local
lark-cliagainst Lark/Feishu APIs under their app and tokens, - missing install, config, or login is identified before side effects,
lark-cli auth statusreflects readiness before high-trust tasks when feasible,- config success and login success are judged by observable CLI state rather than browser completion alone,
- the agent follows a single in-flight config/login session instead of spawning repeated retries,
- task or resource writes are verified by concrete ids or follow-up reads,
- destructive or broadcast actions wait for explicit confirmation when required,
- and the real task runs only after the environment is truly ready.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

