file-uploads — скилл для Claude Code: загрузка файлов и хранилища
Скилл для Claude, который ведёт агента по работе с загрузкой файлов и облачными хранилищами: S3, Cloudflare R2, presigned URLs, multipart и оптимизация картинок.
npx claude-code-templates@latest --skill security/file-uploadsЧто делает file-uploads
Скилл задаёт агенту роль специалиста по загрузке файлов. Он не доверяет расширению файла, пришедшему от клиента, и предпочитает presigned URLs вместо проксирования через сервер. Большие загрузки разбираются отдельно, чтобы не блокировать остальную работу.
Внутри — таблица острых мест с уровнями серьёзности и решением для каждого. Проверка magic bytes вместо доверия к типу от клиента, лимиты на размер загрузки, очистка имён файлов от path traversal, контроль раздачи presigned URL. Первые два пункта помечены как critical, и это не формальность: без проверки magic bytes подмена типа файла проходит молча.
Ставится в Claude через npx claude-code-templates@latest --skill security/file-uploads. Файл скилла лежит по пути ~/.claude/skills/file-uploads/SKILL.md.
Какие задачи решает
- принять большой файл, не блокируя сервер
- отдать файл напрямую в S3 или R2 по presigned URL
- проверить реальный тип файла, а не расширение
- ограничить размер загрузки на входе
- защититься от path traversal в имени файла
Примеры запросов агенту
- Сделай загрузку аватара в Cloudflare R2 через presigned URL
- Разбей загрузку видео на multipart-части
- Проверь magic bytes у загружаемого файла и отклони подмену типа
Как установить file-uploads
1Через claude-code-templates
npx claude-code-templates@latest --skill security/file-uploads2Через Skills CLI (Vercel)
npx skills add davila7/claude-code-templates --skill file-uploads -a claude-code3Вручную: положить файлы
~/.claude/skills/file-uploads/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/file-uploads/
Вручную: положить файлы
.agents/skills/file-uploads/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/file-uploads/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install davila7/claude-code-templates file-uploads2Вручную: положить файлы
.github/skills/file-uploads/SKILL.mdКомандой платформы
gemini skills install https://github.com/davila7/claude-code-templates --path cli-tool/components/skills/security/file-uploadsВручную: положить файлы
.devin/skills/file-uploads/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о file-uploads
Как установить file-uploads в Claude Code?
Выполни npx claude-code-templates@latest --skill security/file-uploads. Скилл окажется в ~/.claude/skills/file-uploads/SKILL.md.
Что делает file-uploads?
Подсказывает агенту, как устроить загрузку файлов и хранение в облаке: presigned URLs, multipart для крупных файлов, оптимизация изображений. Отдельно разбирает безопасность — проверку типа файла, лимиты размера, очистку имён.
Какие ошибки в загрузке файлов скилл считает критичными?
Доверие к типу файла, который прислал клиент, и имя файла под контролем пользователя. Первое лечится проверкой magic bytes, второе — очисткой имени, иначе возможно path traversal.