minio
MinIO API for S3-compatible storage. Use when user mentions "MinIO", "S3 storage", "object storage", or self-hosted S3.
What this skill does
## How to Use
### 1. List Buckets
```bash
mc ls myminio
```
### 2. Create a Bucket
```bash
mc mb myminio/my-bucket
```
### 3. Upload a File
```bash
# Upload single file
mc cp /path/to/file.txt myminio/my-bucket/
# Upload with custom name
mc cp /path/to/file.txt myminio/my-bucket/custom-name.txt
# Upload directory recursively
mc cp --recursive /path/to/folder/ myminio/my-bucket/folder/
```
### 4. Download a File
```bash
# Download single file
mc cp myminio/my-bucket/file.txt /local/path/
# Download entire bucket
mc cp --recursive myminio/my-bucket/ /local/path/
```
### 5. List Objects in Bucket
```bash
# List all objects
mc ls myminio/my-bucket
# List recursively with details
mc ls --recursive --summarize myminio/my-bucket
```
### 6. Delete Objects
```bash
# Delete single file
mc rm myminio/my-bucket/file.txt
# Delete all objects in bucket
mc rm --recursive --force myminio/my-bucket/
# Delete bucket (must be empty)
mc rb myminio/my-bucket
```
### 7. Generate Pre-signed URL
Create temporary shareable links:
```bash
# Download URL (expires in 7 days by default)
mc share download myminio/my-bucket/file.txt
# Download URL with custom expiry (max 7 days)
mc share download --expire 2h myminio/my-bucket/file.txt
# Upload URL (for external uploads)
mc share upload myminio/my-bucket/uploads/
```
### 8. Mirror/Sync Directories
```bash
# One-way sync local to remote
mc mirror /local/folder/ myminio/my-bucket/folder/
# One-way sync remote to local
mc mirror myminio/my-bucket/folder/ /local/folder/
# Watch and sync changes continuously
mc mirror --watch /local/folder/ myminio/my-bucket/folder/
```
### 9. Get Object Info
```bash
# Get file metadata
mc stat myminio/my-bucket/file.txt
# Get bucket info
mc stat myminio/my-bucket
```
### 10. Search Objects
```bash
# Find by name pattern
mc find myminio/my-bucket --name "*.txt"
# Find files larger than 10MB
mc find myminio/my-bucket --larger 10MB
# Find files modified in last 7 days
mc find myminio/my-bucket --newer-than 7d
```
## Using curl with Pre-signed URLs
For environments without `mc`, use pre-signed URLs with curl:
### Upload with Pre-signed URL
```bash
# First, generate upload URL with mc
UPLOAD_URL=$(mc share upload --json myminio/my-bucket/file.txt | jq -r '.share')
# Then upload with curl
curl -X PUT --upload-file /path/to/file.txt "$UPLOAD_URL"
```
### Download with Pre-signed URL
```bash
# Generate download URL
DOWNLOAD_URL=$(mc share download --json myminio/my-bucket/file.txt | jq -r '.share')
# Download with curl
curl -o /local/path/file.txt "$DOWNLOAD_URL"
```
## Using curl with AWS Signature V2
For direct API access without mc (simple authentication):
```bash
#!/bin/bash
# minio-upload.sh - Upload file to MinIO
bucket="$1"
file="$2"
host="${MINIO_ENDPOINT}"
s3_key="${MINIO_ACCESS_KEY}"
s3_secret="${MINIO_SECRET_KEY}"
resource="/${bucket}/${file}"
content_type="application/octet-stream"
date=$(date -R)
signature_string="PUT\n\n${content_type}\n${date}\n${resource}"
signature=$(echo -en "${signature_string}" | openssl sha1 -hmac "${s3_secret}" -binary | base64)
curl -X PUT -T "${file}" --header "Host: ${host}" --header "Date: ${date}" --header "Content-Type: ${content_type}" --header "Authorization: AWS ${s3_key}:${signature}" "https://${host}${resource}"
```
Usage:
```bash
chmod +x minio-upload.sh
./minio-upload.sh my-bucket myfile.txt
```
## Using AWS CLI
MinIO is fully compatible with AWS CLI:
```bash
# Configure AWS CLI for MinIO
aws configure set aws_access_key_id "${MINIO_ACCESS_KEY}"
aws configure set aws_secret_access_key "${MINIO_SECRET_KEY}"
aws configure set default.s3.signature_version s3v4
# List buckets
aws --endpoint-url "https://${MINIO_ENDPOINT}" s3 ls
# Upload file
aws --endpoint-url "https://${MINIO_ENDPOINT}" s3 cp file.txt s3://my-bucket/
# Download file
aws --endpoint-url "https://${MINIO_ENDPOINT}" s3 cp s3://my-bucket/file.txt ./
# List objects
aws --endpoint-url "https://${MINIO_ENDPOINT}" s3 ls s3://my-bucket/
```
## Bucket Policies
### Set Bucket to Public Read
```bash
mc anonymous set download myminio/my-bucket
```
### Set Bucket to Private
```bash
mc anonymous set none myminio/my-bucket
```
### Apply Custom Policy
```bash
# Create policy.json
cat > /tmp/policy.json << 'EOF'
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"AWS": ["*"]},
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::my-bucket/public/*"]
}
]
}
EOF
mc anonymous set-json /tmp/policy.json myminio/my-bucket
```
## Guidelines
1. **Use mc for most operations** - It handles authentication and signing automatically
2. **Pre-signed URLs for external access** - Share files without exposing credentials
3. **Use port 9000 for API** - Port 9001 is typically the web console
4. **Set appropriate expiry** - Pre-signed URLs should expire as soon as practical (max 7 days)
5. **Use mirror for backups** - `mc mirror --watch` for continuous sync
6. **Bucket naming rules** - Lowercase, 3-63 characters, no underscores or consecutive dots
Related in Backend & APIs
jfrog
IncludedInteract with the JFrog Platform via the JFrog CLI and REST/GraphQL APIs. Use this skill when the user wants to manage Artifactory repositories, upload or download artifacts, manage builds, configure permissions, manage users and groups, work with access tokens, configure JFrog CLI servers, search artifacts, manage properties, set up replication, manage JFrog Projects, run security audits or scans, look up CVE details, query exposures scan results from JFrog Advanced Security, manage release bundles and lifecycle operations, aggregate or export platform data, or perform any JFrog Platform administration task. Also use when the user mentions jf, jfrog, artifactory, xray, distribution, evidence, apptrust, onemodel, graphql, workers, mission control, curation, advanced security, exposures, or any JFrog product name.
cupynumeric-migration-readiness
IncludedPre-migration readiness assessor for porting NumPy to cuPyNumeric. Use BEFORE substantial porting work begins when the user asks whether code will scale on GPU, whether they should migrate to cuPyNumeric, which NumPy patterns transfer cleanly, what must be refactored before porting, or mentions pre-port assessment, scaling analysis, or refactor planning. Inspect the user's source code, look up NumPy usage, cross-reference the cuPyNumeric API support manifest, and distinguish distributed-scaling-friendly patterns from blockers such as unsupported APIs, scalar synchronization, host round-trips, Python/object-heavy control flow, shape/data-dependent branching, and in-place mutation hazards. Produce a verdict of READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED, with concrete refactor pointers.
alibabacloud-data-agent-skill
IncludedInvoke Alibaba Cloud Apsara Data Agent for Analytics via CLI to perform natural language-driven data analysis on enterprise databases. Data Agent for Analytics is an intelligent data analysis agent developed by Alibaba Cloud Database team for enterprise users. It automatically completes requirement analysis, data understanding, analysis insights, and report generation based on natural language descriptions. This tool supports: discovering data resources (instances/databases/tables) managed in DMS, initiating query or deep analysis sessions, real-time progress tracking, and retrieving analysis conclusions and generated reports. Use this Skill when users need to query databases, analyze data trends, generate data reports, ask questions in natural language, or mention "Data Agent", "data analysis", "database query", "SQL analysis", "data insights".
token-optimizer
IncludedReduce OpenClaw token usage and API costs through smart model routing, heartbeat optimization, budget tracking, and native 2026.2.15 features (session pruning, bootstrap size limits, cache TTL alignment). Use when token costs are high, API rate limits are being hit, or hosting multiple agents at scale. The 4 executable scripts (context_optimizer, model_router, heartbeat_optimizer, token_tracker) are local-only — no network requests, no subprocess calls, no system modifications. Reference files (PROVIDERS.md, config-patches.json) document optional multi-provider strategies that require external API keys and network access if you choose to use them. See SECURITY.md for full breakdown.
resend-cli
IncludedUse this skill when the task is specifically about operating Resend from an AI agent, terminal session, or CI job via the official resend CLI: installing/authenticating the CLI, sending/listing/updating/cancelling emails, batch sends, domains and DNS, webhooks and local listeners, inbound receiving, contacts, topics, segments, broadcasts, templates, API keys, profiles, or debugging Resend CLI/API failures. Trigger on mentions of Resend CLI, `resend`, `resend doctor`, `resend emails send`, `resend domains`, `resend webhooks listen`, `resend emails receiving`, or agent-friendly terminal automation.
alibabacloud-odps-maxframe-coding
IncludedUse this skill for MaxFrame SDK development and documentation navigation on Alibaba Cloud MaxCompute (ODPS). Helps answer MaxFrame API, concept, official example, and supported pandas API questions; create data processing programs; read/write MaxCompute tables; debug jobs (remote or local); and build custom DPE runtime images. Trigger when users mention MaxFrame, MaxCompute with MaxFrame, ODPS table processing, DPE runtime, MaxFrame docs/examples, DataFrame/Tensor operations, or GPU runtime setup. Works for both English and Chinese queries about Alibaba Cloud data processing with MaxFrame.