tos-file-access
Upload files or directories to TOS-compatible object storage for Volcano Engine or BytePlus and download files from URLs.
Skill by bytedanceOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/bytedance-tos-file-access
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/tos-file-access
What's inside
- Skill name
tos-file-access- Description
- Upload files or directories to TOS-compatible object storage for Volcano Engine or BytePlus and download files from URLs. Use this skill when (1) Upload Agent-generated files or directories for sharing, (2) Download files from URLs before Agent processing.
- License
- Apache-2.0
- Instructions
- 237 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (4)
- LICENSE.txt
- SKILL.md
- file_download.py · scripts/
- tos_upload.py · scripts/
SKILL.md (first lines)
# TOS File Access
This skill provides utilities for uploading files and directories to TOS-compatible object storage for Volcano Engine or BytePlus, and downloading files from URLs.
## Overview
**TOS-compatible object storage** is used by Volcano Engine and BytePlus, similar to AWS S3. This skill enables:
- **Upload**: Upload Agent-generated files or entire directories to TOS and get shareable signed URLs (for files) or TOS paths (for directories)
- **Download**: Download files from URLs to local storage for Agent processing
## Typical Workflows
### Pre-Agent Execution: Download User Files
When users provide file URLs (TOS or external), download them before processing:
```bash
# Download single file
python scripts/file_download.py https://example.com/data.csv
# Download multiple files
python scripts/file_download.py https://example.com/data.csv https://example.com/config.json
# Specify save directory and filenames
python scripts/file_download.py https://example.com/data.csv --save-dir /workspace --filenames dataset.csv
```
### Post-Agent Execution: Upload Output Files or Directories
After generating files or directories (videos, charts, reports, output folders, etc.), upload them to TOS for user access:
```bash
# Upload single file (auto-detected)
python scripts/tos_upload.py /path/to/output.mp4 --bucket my-bucket
# Upload entire directory (auto-detected)
python scripts/tos_upload.py /path/to/output_folder --bucket my-bucket
# Upload to BytePlus with custom expiration
TOS_REGION=ap-southeast-1 python scripts/tos_upload.py /path/to/report.pdf --bucket my-bucket --expires 86400
```
## Scripts
### `scripts/file_download.py`
Download files from URLs to local storage.
**Usage:**
```bash
python scripts/file_download.py <url1> [url2 ...] [--save-dir DIR] [--filenames NAME1 NAME2 ...]
```
**Arguments:**
- `urls`: One or more URLs to download (positional, required)
- `--save-dir`: Save directory (optional, defaults to `/tmp`)
- `--filenames`: Custom filenames for downloaded files (optional, must match number of URLs)
**Examples:**
```bash
# Download single file to /tmp
python scripts/file_download.py https://tos-cn-beijing.volces.com/bucket/file.pdf
# Download to specific directory
python scripts/file_download.py https://example.com/data.json --save-dir /workspace/data
# Download multiple files with custom names
python scripts/file_download.py \
https://example.com/file1.pdf \
https://example.com/file2.jpg \
--save-dir /workspace \
--filenames document.pdf image.jpg
```
**Returns:** Prints absolute paths of downloaded files (one per line)
### `scripts/tos_upload.py`
Upload files or directories to TOS and generate signed access URLs (for files) or TOS paths (for directories).
**Key Features:**
- **Auto-detection**: Automatically detects whether the path is a file or directory
- **Session-based paths**: Uses `TOOL_USER_SESSION_ID` environment variable to organize uploads
- **Preserves structure**: For directories, maintains the full directory structure in TOS
- **Automatic bucket creation**: Creates bucket if it doesn't exist (with private ACL)
**Usage:**
```bash
python scripts/tos_upload.py <path> --bucket BUCKET [--region REGION] [--expires SECONDS]
```
**Arguments:**
- `path`: Local file or directory path to upload (positional, required)
- `--bucket`: TOS bucket name (required)
- `--region`: TOS region (optional, defaults to `TOS_REGION`, `DATABASE_TOS_REGION`, or provider default: `ap-southeast-1` for BytePlus, `cn-beijing` for Volcano Engine)
- `--expires`: Signed URL expiration in seconds (optional, defaults to 604800 = 7 days, only applies to file uploads)
**Upload Structure:**
- **File**: `upload/{session_prefix}/{filename}`
- Example: `upload/skill_agent_veadk_default_user_tmp-session-20251210150057/video.mp4`
- **Directory**: `upload/{session_prefix}/{directory_name}/{relative_path}`
- Example: `upload/skill_agent_veadk_default_user_tmp-session-20251210150057/output_folder/file1.txt`
**Session Prefix:**
- If `TOOL_USER_SESSION_ID` is set, uses that value as prefix
- Otherwise, falls back to timestamp format `YYYYMMDD_HHMMSS`
**Cloud provider and authentication:**
Requires one of:From bytedance/agentkit-samples, Apache-2.0.
More from bytedance/agentkit-samples
- 0.805score
byted-sms-sender
volcengine-sms-teamOfficial
火山引擎国内短信服务(Volcengine SMS)。支持短信服务开通,资质、签名和模板的申请与查询,运营商报备查询,引流链接及号码录入,单条、群发和定时发送,以及发送记录、回执、统计查询与失败排查。
SkillAFreshness: A★ 473Claude Code +9 - 0.709score
byted-vms-configure
leixin.alex@bytedance.comOfficial
火山云通信「通用配置」Skill (通用层).
SkillCFreshness: C★ 473Claude Code +9 - 0.709score
byted-ark-evolve
volcengine/modelarkOfficial
Agent self-evolution system.
SkillCFreshness: C★ 473Claude Code +9 - 0.709score
byted-ark-seedance-guide
volcengine/supportOfficial
火山方舟 Seedance 模型使用指导技能。用户询问 Seedance/seedance2.0/doubao-seedance-2-0/doubao-seedance-2-0-fast/seedance2.0-mini等seedance系列模型的火山方舟接入、API…
SkillCFreshness: C★ 473Claude Code +9 - 0.705score
byted-ark-seedance-pe
volcengine/supportOfficial
针对用户提供的seedance原始视频提示词进行分析和优化,重新生成适合 Seedance 视频生成的标准提示词。当存在以下情况时使用:(1) 用户提供了原始的视频提示词,要求分析/优化;(2) 需要对不规范、无结构的提示词描述进行重构和标准化;(3) 生成适合 AI 视频生成模型的专业结构化提示词。
SkillCFreshness: C★ 473Claude Code +9 - 0.705score
byted-vms-voice-notify
leixin.alex@bytedance.comOfficial
火山云通信语音通知 Skill.
SkillCFreshness: C★ 473Claude Code +9 - 0.702score
byted-vms-cdr-record
leixin.alex@bytedance.comOfficial
火山云通信话单 / 录音查询 Skill.
SkillCFreshness: C★ 473Claude Code +9 - 0.702score
byted-vms-aicall
leixin.alex@bytedance.comOfficial
火山云通信智能外呼 Skill.
SkillCFreshness: C★ 473Claude Code +9 - 0.702score
byted-vms-number-pool
leixin.alex@bytedance.comOfficial
火山云通信通用能力层 Skill.
SkillCFreshness: C★ 473Claude Code +9 - 0.702score
byted-vms-secret-number
leixin.alex@bytedance.comOfficial
火山云通信隐私号 Skill.
SkillCFreshness: C★ 473Claude Code +9 - 0.698score
byted-volc-cdn-manage
ByteDanceOfficial
通过火山引擎 CLI 管理 CDN 域名。支持新增域名和刷新预热, 使用时会先检查并安装 CLI(如需要)。
SkillCFreshness: C★ 473Claude Code +9 - 0.690score
byted-ark-trainer
volcengine/modelarkOfficial
基于ark_sdk的大模型训练任务自动化工具。帮助用户通过自然语言创建并提交方舟模型训练任务,支持用户自备数据的SFT训练、RFT+GRPO和直接GRPO策略,并引导用户完成训练、状态跟踪与评估闭环。使用场景:当用户需要进行大模型SFT监督微调、RLHF训练、GRPO训练、RFT训练,或需要自动化训练流程时触发。
SkillCFreshness: C★ 473Claude Code +9
Signals
- Stars
- 473
- Forks
- 101
- Open issues
- 14
- Last commit (this folder)
- Aug 3, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/bytedance/agentkit-samples
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from bytedance
- 0.674score
byted-supabase
bytedanceOfficial
火山引擎 Supabase .
SkillAFreshness: A★ 473Claude Code +9 - 0.674score
byted-mem0-memory-management
bytedanceOfficial
管理火山引擎记忆库 Mem0 的记忆项目与长期记忆。当用户需要查询 Mem0 项目、提取策略、连接地址或已有 API Key 信息,以及添加、列举、读取、搜索、更新、删除记忆和查询异步任务时使用。控制面仅支持读操作;不用于自建开源 mem0 的部署配置、内部 MemoryBase 运维或日志查询。
SkillAFreshness: A★ 473Claude Code +9 - 0.668score
MCP Server Commands
bytedance
An MCP server to run arbitrary commands
ConnectorAFreshness: ARemoteLocal★ 39.4K↓ 199/wkClaude Code +5 - 0.668score
agentkit-hybrid-cloud-demo
bytedanceOfficial
Deploy, update, validate, and troubleshoot the AgentKit hybrid-cloud customer-service demo in this directory.
SkillAFreshness: A★ 473Claude Code +9 - 0.665score
byted-vedb-mysql
bytedanceOfficial
火山引擎云数据库 VeDB MySQL 版(简称vedbm)管理技能。当用户需要创建 VEDB 实例、查询 VEDB 实例列表、查看实例详情、管理数据库账号、获取实例连接地址(Endpoints)、或对实例规格进行升级/降级时使用此技能。包含特定关键词:火山引擎云数据库、VEDBM、VeDB MySQL。
SkillAFreshness: A★ 473Claude Code +9 - 0.662score
comic-drama-master
bytedanceOfficial
漫剧制作总导演。接受用户故事创意,依次完成剧本创作、角色设计、分镜图生成、分镜视频生成、视频合成全流程,产物保存到 COMIC_DRAMA_OUTPUT_DIR(默认 ./output),最终交付完整漫剧视频和 TOS 链接。
SkillAFreshness: A★ 473Claude Code +9
Cite this page
tos-file-access skill. Agent Mart. https://agentmart.dev/skills/bytedance-tos-file-access (last updated 2026-10-24)