Send Feishu Message
The send logic is in scripts/feishu-send (bundled with this skill).
Step 0 — Locate and prepare the script
Find the script relative to where this skill is installed
SKILL_DIR="$(find ~/.claude/plugins -name 'send-feishu' -path '/skills/' -type d 2>/dev/null | head -1)" FEISHU_SEND="${SKILL_DIR}/scripts/feishu-send" chmod +x "$FEISHU_SEND" 2>/dev/null echo "script: $FEISHU_SEND"
If the script is not found (e.g., skill loaded from local dev path), use:
FEISHU_SEND="$(dirname "$0")/scripts/feishu-send"
Choose Format
Situation Format
Simple one-liner, status update text
Has title + body, structured data, report card
Image file / screenshot / chart image
.md / .html / .pdf / .doc / large content file
User says "发给我" / "私发" / names a person use FEISHU_USER_OPEN_ID
Card color: green =success, orange =warning, red =error, blue =info (default), purple =highlight.
Send
Text
"$FEISHU_SEND" text "消息内容"
Card
"$FEISHU_SEND" card "标题" "正文(支持 lark_md:粗体 斜体 \n换行)" --color blue
Image
"$FEISHU_SEND" image /path/to/image.png
File
"$FEISHU_SEND" file /path/to/report.md
Dry-run (verify vars without sending)
"$FEISHU_SEND" --dry-run text "test"
The script handles: variable resolution (including CTI_FEISHU_* aliases) → routing → token acquisition → upload → send → error reporting.
Environment Variables
Variable Purpose
FEISHU_WEBHOOK
Group webhook URL
FEISHU_APP_ID
- FEISHU_APP_SECRET
Required for image/file upload and API sends
FEISHU_CHAT_ID
Group chat ID (oc_xxx )
FEISHU_USER_OPEN_ID
Individual (ou_xxx )
FEISHU_WEBHOOK_SECRET
Only if webhook signature is enabled
If vars are unset after resolution, tell user which ones to configure.