A CLI designed for bots first, humans second
Lark's official CLI ships 26 "Skills" so AI agents can book meetings and send Slack-ish messages without writing a line of integration code.

What it does
lark-cli wraps the Lark/Feishu work platform (think Slack + Google Workspace + Notion, but ByteDance-flavored) in a Go binary distributed via npm. It exposes 200+ commands across 18 domains—calendar, docs, spreadsheets, mail, OKRs, attendance, even meeting minutes with AI-generated summaries. You install with npx, run an interactive OAuth flow, and start firing off lark-cli calendar +agenda or lark-cli im +messages-send.
The interesting bit
The README literally has parallel quick-start sections: one for humans, one for AI agents. The agent path is non-blocking OAuth (dump a URL to the user, poll for the callback) and every command is tested against “real Agents” with structured output and minimal parameters to maximize LLM call-success rates. It’s the rare tool that admits its target audience might be a script, not a person.
Key highlights
- Three-layer command architecture: friendly shortcuts → synced API commands → raw REST, so you can trade convenience for precision
- 26 “Skills” (think plugin bundles):
lark-calendar,lark-okr,lark-workflow-standup-report, etc., auto-loaded with shared auth and security rules - Identity switching: run commands
--as useror--as botwithout re-authing - Security theater, but useful: input injection protection, terminal output sanitization, OS keychain credential storage
- MIT licensed, though you’ll need a Lark developer app to do anything useful
Caveats
- Requires Node.js/npm even though it’s written in Go; building from source needs Go 1.23 and Python 3
- The “200+ commands” claim is in the README but the actual command reference is truncated; you’ll be spelunking the help text
- Some features (Meegle project management) shunt you to a separate CLI entirely
Verdict
Grab it if you’re automating Lark for a team or building an agent that needs to actually do things in a Chinese/SEA enterprise stack. Skip if you’re not already paying for Lark—this is a control plane, not a standalone product.