feishu-send-file/SKILL.md
Send files to a Feishu group or user via REST API. Use when the user explicitly asks to send a file, attachment, or document to a Feishu chat/group. Triggers: "发文件到飞书", "把这个文件发到群里", "send file to feishu", "发个附件". NOT for: sending text messages (use message tool), sending images/screenshots (use feishu-screenshot skill), or reading documents (use feishu-doc skill).
npx skillsauth add gula00/autoclaw-skills feishu-send-fileInstall 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.
Send files to Feishu chats via REST API (bypasses the built-in message tool limitation for file messages).
import json, os, requests
config_path = os.path.expanduser('~/.openclaw-autoclaw/openclaw.json')
with open(config_path) as f:
cfg = json.load(f)
feishu = cfg['channels']['feishu']
r = requests.post(
'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal',
json={'app_id': feishu['appId'], 'app_secret': feishu['appSecret']}
)
token = r.json()['tenant_access_token']
with open('/path/to/your/file', 'rb') as f:
r2 = requests.post(
'https://open.feishu.cn/open-apis/im/v1/files',
headers={'Authorization': f'Bearer {token}'},
data={'file_type': 'stream', 'file_name': 'filename.ext'},
files={'file': ('filename.ext', f, 'application/octet-stream')}
)
file_key = r2.json()['data']['file_key']
Supported file_type values: opus, mp4, pdf, doc, xls, ppt, stream (generic)
chat_id = 'oc_xxxx' # target chat_id
r3 = requests.post(
'https://open.feishu.cn/open-apis/im/v1/messages',
headers={'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'},
params={'receive_id_type': 'chat_id'},
json={
'receive_id': chat_id,
'msg_type': 'file',
'content': json.dumps({'file_key': file_key})
}
)
print(r3.json())
234008 error otherwise)POST /im/v1/images with image_type=messagemsg_type: image and content: {"image_key": "..."}im:message:send_as_bot, im:resourcedevelopment
Use when you have a spec or requirements for a multi-step task, before touching code
tools
Extract frames or short clips from videos using ffmpeg.
development
UI/UX design intelligence and implementation guidance for building polished interfaces. Use when the user asks for UI design, UX flows, information architecture, visual style direction, design systems/tokens, component specs, copy/microcopy, accessibility, or to generate/critique/refine frontend UI (HTML/CSS/JS, React, Next.js, Vue, Svelte, Tailwind). Includes workflows for (1) generating new UI layouts and styling, (2) improving existing UI/UX, (3) producing design-system tokens and component guidelines, and (4) turning UX recommendations into concrete code changes.
tools
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.