360 Secure SkillHub
360 安全技能中心

Slack Backup

核心功能:根据用户自然语言指令,按数量、文件名前缀/关键词、文件类型、时间范围等条件,将Slack频道文件备份至~/.openclaw/doc/backup/目录,严格验证备份结果真实性。典型场景:如备份最新文件、含指定关键词的PDF、最近5分钟的图片等。输入为自然语言,输出为备份成功路径或真实错误提示,也支持查看备份列表。

caigang78
caigang78
热度 68.76
最近更新 2026-05-11 17:29:33
分类:自动化依赖:代码执行应用场景:自动化脚本 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add slack-backup
Metadata
name
slack-backup
description
Back up files uploaded to a Slack channel 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 Slack", "back up the PDF I just sent to Slack", "save the Slack file locally", etc.
user-invocable
true

Slack 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 slack_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

# Default: back up latest file
<SKILL_DIR>/slack_backup.sh

# Back up the latest 2 files
LIMIT=2 <SKILL_DIR>/slack_backup.sh

# Back up files whose name starts with "report"
NAME_PREFIX=report <SKILL_DIR>/slack_backup.sh

# Back up PDFs uploaded in the last 5 minutes
MINUTES=5 FILE_TYPE=pdf <SKILL_DIR>/slack_backup.sh

# Back up up to 3 files from the last 10 minutes
LIMIT=3 MINUTES=10 <SKILL_DIR>/slack_backup.sh

Script prints SUCCESS: /path/to/file for each file on success.

Important: The script downloads real files from the Slack 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

ls -lht ~/.openclaw/doc/backup/