/bkend-storage
bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets. Triggers: bkend file, bkend upload, bkend download, bkend storage, bkend presigned URL
Claude Code
$ npx -y skills add ww-w-ai/bkit-claude-code --skill bkend-storage --agent claude-code
Codex
$ npx skills add ww-w-ai/bkit-claude-code --skill bkend-storage -a codex -y
Cursor
$ npx skills add ww-w-ai/bkit-claude-code --skill bkend-storage -a cursor -y
Gemini CLI
$ npx skills add ww-w-ai/bkit-claude-code --skill bkend-storage -a gemini-cli -y
GitHub Copilot
$ npx skills add ww-w-ai/bkit-claude-code --skill bkend-storage -a github-copilot -y
OpenCode
$ npx skills add ww-w-ai/bkit-claude-code --skill bkend-storage -a opencode -y
Windsurf
$ npx skills add ww-w-ai/bkit-claude-code --skill bkend-storage -a windsurf -y
SKILL.md
bkend-storage.SKILL.mdname: bkend-storage
classification: capability
classification-reason: Pattern guidance may overlap with model's built-in knowledge as it improves
deprecation-risk: medium
effort: medium
description: |
bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets.
Triggers: bkend file, bkend upload, bkend download, bkend storage, bkend presigned URL
user-invocable: false
agent: bkit:bkend-expert
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
- mcp__bkend__*
imports:
- ${PLUGIN_ROOT}/templates/shared/bkend-patterns.mdbkend.ai Storage Guide
Upload Methods
| Method | Use Case | Process | |--------|----------|---------| | Single | Normal files | Presigned URL -> PUT upload -> Register metadata | | Multiple | Multiple files | Repeat single upload | | Multipart | Large files | Initialize -> Part URLs -> Complete |
Presigned URL
- Validity: 15 minutes
- PUT method with file binary
- Content-Type header required
File Visibility (4 levels)
| Level | Access | URL Type | |-------|--------|----------| | public | Anyone | CDN URL (no expiry) | | private | Owner only | Presigned URL (1 hour) | | protected | Authenticated users | Presigned URL (1 hour) | | shared | Specified targets | Presigned URL (1 hour) |
Size Limits
| Category | Max Size | |----------|----------| | Images | 10 MB | | Videos | 100 MB | | Documents | 20 MB |
Storage Categories
images, documents, media, attachments
MCP Storage Workflow
bkend MCP does NOT have dedicated storage tools. Use this workflow:
1. **Search docs**: `search_docs` with query "file upload presigned url" 2. **Get examples**: `search_docs` with query "file upload code examples" 3. **Generate code**: AI generates REST API code for file operations
Searchable Storage Docs
| Doc ID | Content | |--------|---------| | `7_code_examples_data` | CRUD + file upload code examples |
REST Storage API
| Method | Endpoint | Description | |--------|----------|-------------| | POST | /v1/files/presigned-url | Generate presigned URL | | POST | /v1/files | Register metadata (complete upload) | | GET | /v1/files | File list | | GET | /v1/files/:fileId | File detail | | PATCH | /v1/files/:fileId | Update metadata | | DELETE | /v1/files/:fileId | Delete file | | POST | /v1/files/:fileId/download-url | Generate download URL |
Multipart Upload (Large Files)
| Method | Endpoint | Description | |--------|----------|-------------| | POST | /v1/files/multipart/init | Initialize multipart upload | | POST | /v1/files/multipart/presigned-url | Get part upload URL | | POST | /v1/files/multipart/complete | Complete multipart upload | | POST | /v1/files/multipart/abort | Abort multipart upload |
Upload Flow (Single File)
1. POST /v1/files/presigned-url -> { url, fileId }
2. PUT {url} with file binary + Content-Type header
3. POST /v1/files with { fileId, filename, contentType, size, visibility }Multipart Upload Flow (Large File)
1. POST /v1/files/multipart/init -> { uploadId }
2. POST /v1/files/multipart/presigned-url -> [{ partNumber, url }]
3. PUT each part URL with file chunk
4. POST /v1/files/multipart/complete -> { file }Official Documentation (Live Reference)
For the latest storage documentation, use WebFetch:
- Storage Overview: https://raw.githubusercontent.com/ww-w-ai/bkend-docs/main/en/storage/01-overview.md
- MCP Storage Guide: https://raw.githubusercontent.com/ww-w-ai/bkend-docs/main/en/mcp/07-storage-tools.md
- Full TOC: https://raw.githubusercontent.com/ww-w-ai/bkend-docs/main/SUMMARY.md
Read more
name: bkend-storage
classification: capability
classification-reason: Pattern guidance may overlap with model's built-in knowledge as it improves
deprecation-risk: medium
effort: medium
description: |
bkend.ai file storage — upload (presigned URL), download (CDN), visibility levels, buckets.
Triggers: bkend file, bkend upload, bkend download, bkend storage, bkend presigned URL
user-invocable: false
agent: bkit:bkend-expert
allowed-tools:
- Read
- Write
- Edit
- Glob
- Grep
- Bash
- mcp__bkend__*
imports:
- ${PLUGIN_ROOT}/templates/shared/bkend-patterns.mdbkend.ai Storage Guide
Upload Methods
| Method | Use Case | Process | |--------|----------|---------| | Single | Normal files | Presigned URL -> PUT upload -> Register metadata | | Multiple | Multiple files | Repeat single upload | | Multipart | Large files | Initialize -> Part URLs -> Complete |
Presigned URL
- Validity: 15 minutes
- PUT method with file binary
- Content-Type header required
File Visibility (4 levels)
| Level | Access | URL Type | |-------|--------|----------| | public | Anyone | CDN URL (no expiry) | | private | Owner only | Presigned URL (1 hour) | | protected | Authenticated users | Presigned URL (1 hour) | | shared | Specified targets | Presigned URL (1 hour) |
Size Limits
| Category | Max Size | |----------|----------| | Images | 10 MB | | Videos | 100 MB | | Documents | 20 MB |
Storage Categories
images, documents, media, attachments
MCP Storage Workflow
bkend MCP does NOT have dedicated storage tools. Use this workflow:
1. **Search docs**: `search_docs` with query "file upload presigned url" 2. **Get examples**: `search_docs` with query "file upload code examples" 3. **Generate code**: AI generates REST API code for file operations
Searchable Storage Docs
| Doc ID | Content | |--------|---------| | `7_code_examples_data` | CRUD + file upload code examples |
REST Storage API
| Method | Endpoint | Description | |--------|----------|-------------| | POST | /v1/files/presigned-url | Generate presigned URL | | POST | /v1/files | Register metadata (complete upload) | | GET | /v1/files | File list | | GET | /v1/files/:fileId | File detail | | PATCH | /v1/files/:fileId | Update metadata | | DELETE | /v1/files/:fileId | Delete file | | POST | /v1/files/:fileId/download-url | Generate download URL |
Multipart Upload (Large Files)
| Method | Endpoint | Description | |--------|----------|-------------| | POST | /v1/files/multipart/init | Initialize multipart upload | | POST | /v1/files/multipart/presigned-url | Get part upload URL | | POST | /v1/files/multipart/complete | Complete multipart upload | | POST | /v1/files/multipart/abort | Abort multipart upload |
Upload Flow (Single File)
1. POST /v1/files/presigned-url -> { url, fileId }
2. PUT {url} with file binary + Content-Type header
3. POST /v1/files with { fileId, filename, contentType, size, visibility }Multipart Upload Flow (Large File)
1. POST /v1/files/multipart/init -> { uploadId }
2. POST /v1/files/multipart/presigned-url -> [{ partNumber, url }]
3. PUT each part URL with file chunk
4. POST /v1/files/multipart/complete -> { file }Official Documentation (Live Reference)
For the latest storage documentation, use WebFetch:
- Storage Overview: https://raw.githubusercontent.com/ww-w-ai/bkend-docs/main/en/storage/01-overview.md
- MCP Storage Guide: https://raw.githubusercontent.com/ww-w-ai/bkend-docs/main/en/mcp/07-storage-tools.md
- Full TOC: https://raw.githubusercontent.com/ww-w-ai/bkend-docs/main/SUMMARY.md
A Claude Code plugin that verifies AI-generated code against its own design specs. Three commands. Anyone — even someone vibe-coding for the first time — can ship robust, production-quality software.
Other skills on bkit.
More skills from other plugins.
agentmail
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
adr-create
Create a new Architecture Decision Record with sequential numbering and AgentDB registration
Questions about bkend-storage.
- Which coding agents can use bkend-storage?
- bkend-storage installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

