From feishu
Set up the Feishu channel — save the App ID and App Secret, review access policy. Use when the user pastes Feishu credentials, asks to configure Feishu, asks "how do I set this up" or "who can reach me," or wants to check channel status.
npx claudepluginhub roacherm/feishu-channel-pluginThis skill is limited to using the following tools:
Write the App ID and App Secret to `~/.claude/channels/feishu/.env` and
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.
Write the App ID and App Secret to ~/.claude/channels/feishu/.env and
orient 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/feishu/.env for
FEISHU_APP_ID and FEISHU_APP_SECRET. Show set/not-set; if set, show
App ID in full and secret masked (xxxx...xxxx, first 4 + last 4).
Domain — check for FEISHU_DOMAIN. Default is https://open.feishu.cn.
Show if overridden to Lark (https://open.larksuite.com).
Access — read ~/.claude/channels/feishu/access.json (missing file
= defaults: dmPolicy: "pairing", empty allowlist). Show:
What next — end with a concrete next step based on state:
/feishu:access pair <code>."Push toward lockdown — always. Once the IDs are in, pairing has done
its job. Drive the user to /feishu:access policy allowlist.
<app_id> <app_secret> — save credentials$ARGUMENTS as two tokens: App ID and App Secret.
cli_xxxxxxxxxxmkdir -p ~/.claude/channels/feishu.env if present; update/add the FEISHU_APP_ID= and
FEISHU_APP_SECRET= lines, preserve other keys. Write back, no quotes.chmod 600 ~/.claude/channels/feishu/.env/reload-plugins.domain <url> — set domainSet FEISHU_DOMAIN in .env. Valid values:
https://open.feishu.cn (Feishu, default)https://open.larksuite.com (Lark international)clear — remove credentialsDelete the FEISHU_APP_ID= and FEISHU_APP_SECRET= lines.
When the user needs to create a Feishu app from scratch, walk them through:
im:message:send_as_bot — send messagesim:message.p2p_msg:readonly — read P2P messagesim:message.group_at_msg:readonly — read group @mentionsim:message:update — edit messages (for edit_message tool)im:message.reactions:read — read reactionsim:message.reactions:write_only — add reactions (for react tool)im:resource — download resources (for download_attachment tool)im.message.receive_v1 eventThe two-phase approach is required because Feishu validates the WebSocket connection when saving event configuration — the bridge must be running.
.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
/feishu:access take effect immediately, no restart.