/SKILL.md
Send voice/audio messages to Feishu (Lark) users. Converts audio files to OPUS format and sends as voice message, not file attachment.
npx skillsauth add futaoj/feishu-message Feishu Audio MessageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill enables sending voice messages (not file attachments) to Feishu/Lark users via the Open API.
Use this skill when:
file_type: opus and durationmsg_type: audioffmpeg -i input.mp3 -c:a libopus -b:a 32k output.opus
ffprobe -v quiet -show_format -print_format json input.mp3
# Look for "duration" field in output
node scripts/send-voice.mjs \
--app-id "cli_xxx" \
--app-secret "xxx" \
--user-id "ou_xxx" \
--audio-file "audio.opus" \
--duration 3480
Or use environment variables:
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"
node scripts/send-voice.mjs --user-id "ou_xxx" --audio-file "audio.opus" --duration 3480
POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
POST https://open.feishu.cn/open-apis/im/v1/files
Content-Type: multipart/form-data
file_type: opus
file_name: voice.opus
duration: <milliseconds>
file: <binary>
POST https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id
{
"receive_id": "ou_xxx",
"msg_type": "audio",
"content": "{\"file_key\":\"file_v3_xxx\"}"
}
🎤 开始发送语音消息到飞书...
📁 音频文件: /path/to/voice.opus
⏱️ 时长: 3480ms
✅ 获取 Tenant Access Token 成功
✅ 上传语音文件成功, file_key: file_v3_00uh_xxx
✅ 发送语音消息成功!
消息 ID: om_x100b5731827e6ca4b10d48c15dfa3ab
🎉 完成!
| Error | Solution |
|-------|----------|
| file type not support | Convert to OPUS format |
| duration is required | Add duration parameter |
| permission denied | Check app has messaging scope |
| user not found | Verify user Open ID |
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.