From claude-channel-lark
Set up the Lark channel — save the app credentials and review access policy. Use when the user asks to configure Lark, provides app credentials, asks "how do I set this up" or "who can reach me," or wants to check channel status.
npx claudepluginhub sakura-rip/claude-code-channel-lark --plugin claude-channel-larkThis skill is limited to using the following tools:
Writes the Lark app credentials to `~/.claude/channels/lark/.env` and orients the
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Writes the Lark app credentials to ~/.claude/channels/lark/.env and orients the
user on access policy. The server reads the file at boot.
Arguments passed: $ARGUMENTS
Read both state files and give the user a complete picture:
Credentials — check ~/.claude/channels/lark/.env for
LARK_APP_ID and LARK_APP_SECRET. Show set/not-set; if set, show first
4 chars of each, masked.
Domain — check for LARK_DOMAIN. Default is open.larksuite.com
(Lark international). For Feishu (China), it should be open.feishu.cn.
Webhook — check for LARK_WEBHOOK_PORT (default 9876). Show the
expected webhook URL format.
Encryption — check for LARK_ENCRYPT_KEY and LARK_VERIFICATION_TOKEN.
Show set/not-set.
Access — read ~/.claude/channels/lark/access.json (missing file
= defaults: dmPolicy: "pairing", empty allowlist). Show:
What next — end with a concrete next step based on state:
/lark:configure with your Lark app credentials
from the Lark Open Platform Developer Console."ngrok http 9876, then set the webhook URL in Lark Developer Console
→ Event Subscription → Request URL."/lark:access pair <code>."Push toward lockdown — always. Once the IDs are in, pairing has done its job and should be turned off.
<app_id> <app_secret> — save credentialscli_. App secrets are alphanumeric strings.mkdir -p ~/.claude/channels/lark.env if present; update/add the LARK_APP_ID= and
LARK_APP_SECRET= lines, preserve other keys. Write back, no quotes.domain <domain> — set API domainSet LARK_DOMAIN in .env. Valid values:
open.larksuite.com (Lark international, default)open.feishu.cn (Feishu, China)encrypt <encrypt_key> [verification_token] — set encryptionSet LARK_ENCRYPT_KEY and optionally LARK_VERIFICATION_TOKEN in .env.
port <port> — set webhook portSet LARK_WEBHOOK_PORT in .env. Default is 9876.
clear — remove credentialsDelete the LARK_APP_ID= and LARK_APP_SECRET= lines (or the file if those
are the only lines).
.env once at boot. Credential changes need a session
restart or /reload-plugins. Say so after saving.access.json is re-read on every inbound message — policy changes via
/lark:access take effect immediately, no restart.