s3-uploaderlisted
Install: claude install-skill baronguyen001/ai-automation-skills
# S3 Uploader
Use this skill when an automation run needs durable artifact storage: CSV reports, PDFs, JSON checkpoints, screenshots, model outputs, or logs that should survive outside the local machine. The helper targets generic S3-compatible storage and reads bucket, endpoint, and credentials from environment variables only.
## When to invoke
- User says: "upload this report to S3", "save artifacts to object storage", "download the last run file", "use MinIO/R2/Spaces".
- Code in the conversation writes files locally but needs a portable handoff or archive location.
## When NOT to invoke
- The artifact is only needed inside the same process; keep it on disk.
- The user needs a public website CDN workflow with cache invalidation and signed URLs.
## Concrete example
User input:
```text
Upload the generated CSV to my S3-compatible bucket after the scraper finishes.
```
Output:
```python
# Copy assets/s3.py into your project, then:
from s3 import upload_file
key = upload_file("out/daily_report.csv", key="reports/daily_report.csv")
print("uploaded:", key)
```
The helper reads `S3_BUCKET`, `S3_ACCESS_KEY_ID`, `S3_SECRET_ACCESS_KEY`, optional `S3_ENDPOINT_URL`, and optional `S3_REGION` from the environment. Nothing target-specific or secret is committed.
## Pattern to apply
1. Keep bucket name, endpoint, access key, and secret key in env vars only.
2. Use deterministic object keys such as `reports/YYYY-MM-DD/name.csv` so reruns are easy to find.
3. Upload only after