Skip to content
Back to skills

S3 Tool

CSecurity

AWS S3 operations: list buckets, list/get/put/delete objects, head object, generate presigned URLs. Supports access key/secret or IAM role.

  • 22 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 12, 2026
businessaws

Works with

  • cli

Security analysis

C68/100
  • criticalAccesses sensitive system or user directories
  • highContains patterns that look like hardcoded API keys

Pro shows the line behind each finding and how to fix it

Scanned September 12, 2026

npx -y skills add fisker086/AIOps --skill s3_tool --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of S3 Tool?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for S3 Tool
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/fisker086-s3-tool/badge)](https://www.skillsdirectory.com/skills/fisker086-s3-tool)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: s3-tool
description: AWS S3 operations: list buckets, list/get/put/delete objects, head object, generate presigned URLs. Supports access key/secret or IAM role.
activation_keywords: [s3, aws, storage, bucket, object, presigned, upload, download]
execution_mode: server
---

# S3 Tool Skill

**Credentials:** Omit `access_key` and `secret_key` to use the default AWS chain (environment variables, `~/.aws/credentials` / `AWS_PROFILE`, or IAM role on the host). If no credentials are available, the tool returns a short setup message instead of a raw SDK error—relay that to the user and do not ask them to paste secrets in chat.

Provides AWS S3 operations for storage management:
- **list_buckets**: List all S3 buckets
- **list_objects**: List objects in a bucket (with prefix filter)
- **get_object**: Get object content and metadata
- **put_object**: Upload object to bucket
- **delete_object**: Delete object from bucket
- **head_object**: Get object metadata without content
- **get_presigned_url**: Generate presigned URL for temporary access

Use `builtin_s3_tool` tool with fields:
- `operation`: Operation name (list_buckets, list_objects, get_object, put_object, delete_object, head_object, get_presigned_url)
- `region`: AWS region for the S3 client; **must match the bucket's region** (default `us-east-1` only if the bucket is in us-east-1). Mismatch yields `IllegalLocationConstraintException`—use e.g. `ap-east-1` for Hong Kong buckets.
- `access_key`: (optional) AWS access key ID
- `secret_key`: (optional) AWS secret access key
- `session_token`: (optional) AWS session token for temporary credentials
- `bucket`: S3 bucket name
- `key`: Object key/path
- `content`: Content to upload for put_object
- `content_base64`: Base64 encoded content for put_object
- `content_type`: Content-Type for put_object (e.g., application/json)
- `prefix`: Prefix filter for list_objects
- `max_keys`: Max objects to list (default: 100)
- `download`: Return full content for get_object (true/1)
- `expires`: Presigned URL expiry in seconds (default: 3600)

Example - list buckets:
```
operation: "list_buckets"
region: "us-east-1"
access_key: "AKIAIOSFODNN7EXAMPLE"
secret_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

Example - list objects:
```
operation: "list_objects"
bucket: "my-bucket"
prefix: "logs/"
max_keys: "50"
```

Example - put object:
```
operation: "put_object"
bucket: "my-bucket"
key: "data/file.json"
content: '{"key": "value"}'
content_type: "application/json"
```

Example - get presigned URL:
```
operation: "get_presigned_url"
bucket: "my-bucket"
key: "private/data.csv"
expires: "3600"
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.