Back up files uploaded to a Feishu group chat to the local doc/backup directory. Supports smart matching: multiple files, filename prefix/keyword filter, file type (pdf/video/image), and time range (\"just now\" = \"last 5 minutes\"). Trigger when the user says things like \"back up the file from Feishu\", \"back up the PDF I just sent to Feishu\", \"save the Feishu file locally\", etc.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill feishu-backup --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Feishu Backup?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-feishu-backup)More formats (shields.io, HTML) on the badges page.
---
name: feishu-backup
description: "Back up files uploaded to a Feishu group chat to the local doc/backup directory. Supports smart matching: multiple files, filename prefix/keyword filter, file type (pdf/video/image), and time range (\"just now\" = \"last 5 minutes\"). Trigger when the user says things like \"back up the file from Feishu\", \"back up the PDF I just sent to Feishu\", \"save the Feishu file locally\", etc."
---
# Feishu Backup Skill
Backup directory: `~/.openclaw/doc/backup/`
**Strict rules (must be followed — violations are treated as critical errors):**
- **Do not** use write/edit tools to create or modify any files
- **Do not** create Python scripts, test scripts, or any auxiliary files
- **Do not** generate, guess, or fabricate file contents and write them to disk — even if the filename is known
- **Only** run `feishu_backup.sh` via exec to download real files
- **Must** verify that the script outputs `SUCCESS: /path/to/file` and that the file exists with size > 0
- If the script reports `ERROR`, inform the user honestly — do not fabricate a success status
---
## Smart Matching: Interpret Intent → Set Variables → Call Script
The agent interprets the user's natural language, determines intent, sets the corresponding environment variables, then calls the script.
| User says | Environment variables |
|-----------|----------------------|
| "Back up the latest file" / "Back up this file" | (default, no variables needed) |
| "Back up the last two files" / "Back up these two files" | `LIMIT=2` |
| "Back up files starting with report" | `NAME_PREFIX=report` |
| "Back up files with contract in the name" | `NAME_CONTAINS=contract` |
| "Back up the PDF I just uploaded" / "Back up the PDF from just now" | `MINUTES=5 FILE_TYPE=pdf` |
| "Back up the video I just uploaded" | `MINUTES=5 FILE_TYPE=video` |
| "Back up the image I just uploaded" | `MINUTES=5 FILE_TYPE=image` |
| "Back up the last three files" | `LIMIT=3 MINUTES=10` |
| "Back up all PDFs from the last 5 minutes" | `MINUTES=5 FILE_TYPE=pdf LIMIT=5` |
**FILE_TYPE values**: `pdf` / `image` / `video` / `doc` / `file` (default — matches all)
---
## Invocation
```bash
# Default: back up latest file
<SKILL_DIR>/feishu_backup.sh
# Back up the latest 2 files
LIMIT=2 <SKILL_DIR>/feishu_backup.sh
# Back up files whose name starts with "report"
NAME_PREFIX=report <SKILL_DIR>/feishu_backup.sh
# Back up PDFs uploaded in the last 5 minutes
MINUTES=5 FILE_TYPE=pdf <SKILL_DIR>/feishu_backup.sh
# Back up up to 3 files from the last 10 minutes
LIMIT=3 MINUTES=10 <SKILL_DIR>/feishu_backup.sh
```
Script prints `SUCCESS: /path/to/file` for each file on success.
> **Important**: The script downloads real binary files from the Feishu API. The downloaded file size should match the original. If a backup file is unexpectedly small (e.g. a few KB), something went wrong — report the error to the user honestly.
---
## List Backups
```bash
ls -lht ~/.openclaw/doc/backup/
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!