What problem does it solve? Building Lark/Feishu bots and integrations that react to real-time events (messages, approvals, meetings, tasks) normally requires standing up webhook servers and handling push infrastructure. This Skill lets an AI agent subscribe to and consume Lark events directly as NDJSON streams through lark-cli event consume, with a subprocess contract designed for agent-driven long-running listeners. ## Core Features & Use Cases - Event catalog discovery: List all subscribable EventKeys with lark-cli event list and inspect each key's params and output schema with event schema before writing filters. - Streaming consumption with jq filtering: Consume one EventKey per process, projecting or filtering each event with --jq, and bound runs with --max-events / --timeout. - Subprocess contract for AI agents: A stderr ready-marker ([event] ready event_key=...), stdin-EOF graceful shutdown, structured JSON error envelopes, and documented exit codes make orchestration deterministic. - Domain coverage: IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting lifecycle and notes, Minutes generation, Whiteboard edits, and bot menu events. - Use Case: Run lark-cli event consume im.message.receive_v1 --as bot to stream every incoming message to a bot, then add a --jq filter to react only to p2p text messages. ## Quick Start Ask the AI to listen for incoming Lark messages by running lark-cli event consume im.message.receive_v1 as the bot identity and show each message's sender and text.