MinIO Storage Skill
SkillFiles & storageUpload, download, and manage files in S3-compatible object storage via the MinIO server at {{MINIO_HOST}}:{{MINIO_PORT}}.
Use MinIO Storage Skill in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add MinIO Storage Skill and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the MinIO Storage Skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by bidewio/better-openclaw in skills/minio-storage/SKILL.md and read by Ahel’s review.
MinIO S3-compatible object storage is available at http://{{MINIO_HOST}}:{{MINIO_PORT}} within the Docker network. The console UI is at http://{{MINIO_HOST}}:{{MINIO_CONSOLE_PORT}}.
mc CLI Setup
Configure the MinIO client to connect to the local instance:
mc alias set openclaw http://{{MINIO_HOST}}:{{MINIO_PORT}} $MINIO_ACCESS_KEY $MINIO_SECRET_KEY
Bucket Operations
# Create a new bucket
mc mb openclaw/my-bucket
# List all buckets
mc ls openclaw
# List contents of a bucket
mc ls openclaw/my-bucket
# Remove an empty bucket
mc rb openclaw/my-bucket
Uploading Files
# Upload a single file
mc cp /data/output/report.pdf openclaw/my-bucket/reports/report.pdf
# Upload a directory recursively
mc cp --recursive /data/output/images/ openclaw/my-bucket/images/
# Upload with metadata
mc cp --attr "Content-Type=application/pdf;x-amz-meta-source=openclaw" \
/data/output/report.pdf openclaw/my-bucket/reports/report.pdf
Downloading Files
# Download a single file
mc cp openclaw/my-bucket/reports/report.pdf /data/input/report.pdf
# Download a directory recursively
mc cp --recursive openclaw/my-bucket/images/ /data/input/images/
# Stream file content to stdout
mc cat openclaw/my-bucket/data/config.json
Using curl with S3 API
For direct HTTP access without the mc CLI:
# Upload a file via PUT
curl -X PUT "http://{{MINIO_HOST}}:{{MINIO_PORT}}/my-bucket/myfile.txt" \
--user "$MINIO_ACCESS_KEY:$MINIO_SECRET_KEY" \
-H "Content-Type: text/plain" \
--data-binary @/data/output/myfile.txt
# Download a file via GET
curl "http://{{MINIO_HOST}}:{{MINIO_PORT}}/my-bucket/myfile.txt" \
--user "$MINIO_ACCESS_KEY:$MINIO_SECRET_KEY" \
-o /data/input/myfile.txt
Presigned URLs
Generate temporary shareable URLs:
# Generate a presigned URL valid for 7 days
mc share download --expire 168h openclaw/my-bucket/reports/report.pdf
# Generate a presigned upload URL
mc share upload --expire 24h openclaw/my-bucket/uploads/
Bucket Policy
# Set a bucket to public read
mc anonymous set download openclaw/my-bucket
# Remove public access
mc anonymous set none openclaw/my-bucket
Bucket Naming Conventions
openclaw-data— general data storageopenclaw-uploads— user file uploadsopenclaw-artifacts— build/generation artifactsopenclaw-backups— scheduled backup snapshotsopenclaw-media— media files (images, video, audio)
Tips for AI Agents
- Always run
mc alias setbefore anymccommands to ensure the client is configured. - Use presigned URLs when sharing files with external services or users instead of making buckets public.
- Set appropriate
Content-Typeheaders on upload so files are served correctly when downloaded. - Use
mc mirrorfor syncing directories bidirectionally between local storage and MinIO. - For large files (>100MB),
mcautomatically uses multipart upload. - Check MinIO health at
http://{{MINIO_HOST}}:{{MINIO_PORT}}/minio/health/live. - Store
$MINIO_ACCESS_KEYand$MINIO_SECRET_KEYin the.envfile, never hard-code them.
Signals
- GitHub stars
- 58
- Forks
- 6
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
minio-storage- Source
- github.com/bidewio/better-openclaw
github.com/bidewio/better-openclaw