Help us improve
Share bugs, ideas, or general feedback.
From feishu
Set up the Feishu channel — save app credentials and review access policy. Use when the user pastes Feishu app 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 ezagent42/feishu-claude-code-channelHow this skill is triggered — by the user, by Claude, or both
Slash command
/feishu:configureThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Writes the app credentials to `~/.claude/channels/feishu/.env` and orients the
Configures Feishu/Lark channel credentials (app_id, app_secret, domain) and checks status. Responds to `/feishu-configure login`, `setup`, or `domain` commands.
Configures Feishu channel for Claude Code: saves App ID/Secret to ~/.claude/channels/feishu/.env, creates directories, checks status. Use for credential setup or verification.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Writes the app credentials to ~/.claude/channels/feishu/.env and orients the
user on access policy. The server reads the env 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
first 6 chars masked. Also show FEISHU_DOMAIN if set (飞书 or Lark).
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:configure <app_id> <app_secret> with
your credentials from 飞书开放平台 →
凭证与基础信息."/feishu:access pair <code> 来批准."Push toward lockdown — always. The goal for every setup is allowlist
with a defined list. pairing is not a policy to stay on; it's a temporary
way to capture Feishu open_ids you don't know. Once the IDs are in,
pairing has done its job and should be turned off.
Drive the conversation this way:
pairing → "好的,让我们锁定它,这样
就没有其他人可以触发配对码:" and offer to run
/feishu:access policy allowlist. Do this proactively — don't wait to
be asked./feishu:access pair <code> 批准每一个。全部添加后再运行本命令锁定."
Or, if they can get open_ids directly: guide them to use
/feishu:access allow <open_id>.allowlist → confirm this is the locked state.
If they need to add someone, /feishu:access allow <open_id> is the
clean path — no need to reopen pairing.Feishu already gates reach (app needs tenant admin approval), but that's not
a substitute for locking the allowlist. Never frame pairing as the correct
long-term choice. Don't skip the lockdown offer.
<app_id> <app_secret> — save credentials$ARGUMENTS as two space-separated values: app_id and app_secret.
Feishu app IDs look like cli_xxxx. App secrets are alphanumeric strings.
Both are found on 飞书开放平台 → 应用 → 凭证与基础信息.mkdir -p ~/.claude/channels/feishu.env if present; update/add the FEISHU_APP_ID= and
FEISHU_APP_SECRET= lines, preserve other keys (like FEISHU_DOMAIN).
Write back, no quotes around values.<app_id> <app_secret> --lark — save credentials for Lark internationalSame as above, but also set FEISHU_DOMAIN=https://open.larksuite.com in the
.env file.
clear — remove credentialsDelete the FEISHU_APP_ID= and FEISHU_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
/feishu:access take effect immediately, no restart.