feishu-drive — Claude Code skill: what it does, how to install
Manage Feishu Drive folders and files from an agent: list contents, create folders, move items and delete files.
npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a claude-codeWhat feishu-drive does
This skill adds the feishu_drive tool for Feishu cloud storage work. It can list the root or a chosen folder, inspect file details, create folders, move items, and delete them. It extracts a folder_token from a folder URL.
The info action searches for a file in the root folder. For an item inside another folder, run list first and find it there. Supported types include doc, docx, sheet, bitable, folder, file, mindnote, and shortcut.
Changes require drive:drive; drive:drive:readonly permits listing and file info only. This is a hard constraint for bots: creating a root folder fails with error 400 because bots have no personal “My Space”; they need a folder shared with them first.
What it helps with
- list files in a Feishu Drive folder
- retrieve a file token and metadata
- create a subfolder in a shared folder
- move a file to another folder
- delete an item from Feishu Drive
Example prompts for the agent
- List the contents of my Feishu Drive root folder.
- Show the files in the folder with
folder_tokenfldcnXXX. - Create
New FolderinsidefldcnXXX.
How to install feishu-drive
1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a claude-code2Manually: put the files in place
~/.claude/skills/feishu-drive/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/feishu-drive/
1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a codex2Manually: put the files in place
.agents/skills/feishu-drive/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a cursor2Manually: put the files in place
.cursor/skills/feishu-drive/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install m1heng/clawdbot-feishu feishu-drive2Manually: put the files in place
.github/skills/feishu-drive/SKILL.md1Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a gemini-cli2Platform CLI
gemini skills install https://github.com/m1heng/clawdbot-feishu --path skills/feishu-driveManually: put the files in place
.devin/skills/feishu-drive/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about feishu-drive
How do I install feishu-drive in Claude Code?
Run npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a claude-code, then run npx skills add m1heng/clawdbot-feishu --skill feishu-drive -a claude-code again. The skill file is at ~/.claude/skills/feishu-drive/SKILL.md.
What does feishu-drive do?
It exposes feishu_drive operations for Feishu Drive: folder listing, file information, folder creation, moving items, and deletion.
Why can’t a bot create a folder in the Feishu Drive root?
Bots use tenant_access_token and do not have their own root folder. Create a folder manually, share it with the bot, then it can create subfolders there.
Source text
SKILL.md · MIT
---
name: feishu-drive
description: |
Feishu cloud storage file management. Activate when user mentions cloud space, folders, drive.
---
# Feishu Drive Tool
Single tool `feishu_drive` for cloud storage operations.
## Token Extraction
From URL `https://xxx.feishu.cn/drive/folder/ABC123` → `folder_token` = `ABC123`
## Actions
### List Folder Contents
```json
{ "action": "list" }
```
Root directory (no folder_token).
```json
{ "action": "list", "folder_token": "fldcnXXX" }
```
Returns: files with token, name, type, url, timestamps.
### Get File Info
```json
{ "action": "info", "file_token": "ABC123", "type": "docx" }
```
Searches for the file in the root directory. Note: file must be in root or use `list` to browse folders first.
`type`: `doc`, `docx`, `sheet`, `bitable`, `folder`, `file`, `mindnote`, `shortcut`
### Create Folder
```json
{ "action": "create_folder", "name": "New Folder" }
```
In parent folder:
```json
{ "action": "create_folder", "name": "New Folder", "folder_token": "fldcnXXX" }
```
### Move File
```json
{ "action": "move", "file_token": "ABC123", "type": "docx", "folder_token": "fldcnXXX" }
```
### Delete File
```json
{ "action": "delete", "file_token": "ABC123", "type": "docx" }
```
## File Types
| Type | Description |
|------|-------------|
| `doc` | Old format document |
| `docx` | New format document |
| `sheet` | Spreadsheet |
| `bitable` | Multi-dimensional table |
| `folder` | Folder |
| `file` | Uploaded file |
| `mindnote` | Mind map |
| `shortcut` | Shortcut |
## Configuration
```yaml
channels:
feishu:
tools:
drive: true # default: true
```
## Permissions
- `drive:drive` - Full access (create, move, delete)
- `drive:drive:readonly` - Read only (list, info)
## Known Limitations
- **Bots have no root folder**: Feishu bots use `tenant_access_token` and don't have their own "My Space". The root folder concept only exists for user accounts. This means:
- `create_folder` without `folder_token` will fail (400 error)
- Bot can only access files/folders that have been **shared with it**
- **Workaround**: User must first create a folder manually and share it with the bot, then bot can create subfolders inside it
© m1heng · MIT · m1heng/clawdbot-feishu