askill
awsflow-s3

awsflow-s3Safety 62Repository

Manage Amazon S3 buckets and objects using awsflow. Create, configure, and delete buckets, upload/download objects, inspect bucket configuration (encryption, versioning, lifecycle, replication, logging, CORS, website), query object content with S3 Select, and open the S3 Explorer view.

0 stars
1.2k downloads
Updated 2/15/2026

Package Files

Loading files...
SKILL.md

Awsflow S3

Manage Amazon S3 buckets and objects through the awsflow S3Tool.

When to Use This Skill

Use this skill when the user:

  • Asks about S3 buckets or objects
  • Wants to list, upload, download, copy, or delete S3 objects
  • Needs to inspect bucket configuration (encryption, versioning, lifecycle, etc.)
  • Wants to query CSV/JSON/Parquet files with S3 Select SQL
  • Wants to open the interactive S3 Explorer view
  • Needs to check bucket policies, notifications, or replication settings
  • Wants to create or delete buckets or update bucket settings

Tool: S3Tool

Execute S3 commands including bucket configuration. ALWAYS provide params object.

Commands

ListBuckets

List all S3 buckets in the account.

{ "command": "ListBuckets", "params": {} }

Parameters: None required.

ListObjectsV2

List objects in a bucket with optional prefix/delimiter filtering.

{ "command": "ListObjectsV2", "params": { "Bucket": "my-bucket", "Prefix": "data/", "Delimiter": "/", "MaxKeys": 100 } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
PrefixstringNoFilter objects by prefix path
DelimiterstringNoDelimiter character for grouping keys, typically /
MaxKeysnumberNoMaximum number of keys to return
ContinuationTokenstringNoToken for pagination from previous response
StartAfterstringNoStart listing after this key name

ListObjectVersions

List object versions in a versioning-enabled bucket.

{ "command": "ListObjectVersions", "params": { "Bucket": "my-bucket", "Prefix": "data/" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
PrefixstringNoFilter objects by prefix
DelimiterstringNoDelimiter for grouping
MaxKeysnumberNoMaximum versions to return
KeyMarkerstringNoKey marker for version pagination
VersionIdMarkerstringNoVersion ID marker for pagination

HeadBucket

Check if a bucket exists and you have access.

{ "command": "HeadBucket", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name

HeadObject

Get metadata for an object without downloading it.

{ "command": "HeadObject", "params": { "Bucket": "my-bucket", "Key": "file.txt" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
VersionIdstringNoSpecific version ID

GetObject

Download or read an object's content.

{ "command": "GetObject", "params": { "Bucket": "my-bucket", "Key": "data.json", "AsText": true } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
VersionIdstringNoSpecific version ID
DownloadToTempbooleanNoDownload file to temp folder and return local path
AsTextbooleanNoReturn file content as text for analysis

PutObject

Upload content to an S3 object.

{ "command": "PutObject", "params": { "Bucket": "my-bucket", "Key": "data.json", "Body": "{\"key\":\"value\"}", "ContentType": "application/json" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
BodystringNoObject content as string or base64
ContentTypestringNoMIME type for the object
MetadataobjectNoCustom metadata key-value pairs

DeleteObject

Delete an object from a bucket.

{ "command": "DeleteObject", "params": { "Bucket": "my-bucket", "Key": "old-file.txt" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
VersionIdstringNoSpecific version ID to delete

CopyObject

Copy an object within or between buckets.

{ "command": "CopyObject", "params": { "Bucket": "dest-bucket", "Key": "dest-key.txt", "CopySource": "/source-bucket/source-key.txt" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesDestination bucket name
KeystringYesDestination object key
CopySourcestringYesSource object path (format: /bucket/key)
MetadataobjectNoCustom metadata key-value pairs
MetadataDirectivestringNoCOPY or REPLACE — how to handle metadata

SelectObjectContent

Query CSV/JSON/Parquet object content using SQL expressions.

{
  "command": "SelectObjectContent",
  "params": {
    "Bucket": "my-bucket",
    "Key": "data.csv",
    "Expression": "SELECT * FROM s3object s WHERE s.age > 30",
    "ExpressionType": "SQL",
    "InputSerialization": { "CSV": { "FileHeaderInfo": "USE" } },
    "OutputSerialization": { "JSON": {} }
  }
}

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
ExpressionstringYesSQL expression for querying
ExpressionTypestringYesType of expression (always SQL)
InputSerializationobjectYesFormat of input data (CSV, JSON, Parquet)
OutputSerializationobjectYesFormat for output data (CSV, JSON)

GetObjectAttributes

Get specific attributes of an object.

{ "command": "GetObjectAttributes", "params": { "Bucket": "my-bucket", "Key": "file.txt", "ObjectAttributes": ["ObjectSize", "StorageClass"] } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
ObjectAttributesarrayYesAttributes to retrieve: ETag, Checksum, ObjectParts, StorageClass, ObjectSize
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetObjectLegalHold

Get the legal hold status of an object.

{ "command": "GetObjectLegalHold", "params": { "Bucket": "my-bucket", "Key": "file.txt" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetObjectRetention

Get the retention settings of an object.

{ "command": "GetObjectRetention", "params": { "Bucket": "my-bucket", "Key": "file.txt" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringYesObject key path
ExpectedBucketOwnerstringNoExpected bucket owner account ID

Bucket Configuration and Lifecycle Commands

CreateBucket

Create a new bucket.

{ "command": "CreateBucket", "params": { "Bucket": "my-new-bucket" } }

DeleteBucket

Delete an empty bucket.

{ "command": "DeleteBucket", "params": { "Bucket": "my-old-bucket" } }

PutBucketVersioning

Enable or suspend versioning.

{ "command": "PutBucketVersioning", "params": { "Bucket": "my-bucket", "VersioningConfiguration": { "Status": "Enabled" } } }

PutBucketEncryption

Set default bucket encryption.

{ "command": "PutBucketEncryption", "params": { "Bucket": "my-bucket", "ServerSideEncryptionConfiguration": { "Rules": [{ "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } }] } } }

PutBucketLifecycleConfiguration

Set lifecycle rules.

{ "command": "PutBucketLifecycleConfiguration", "params": { "Bucket": "my-bucket", "LifecycleConfiguration": { "Rules": [] } } }

PutBucketTagging

Set bucket tags.

{ "command": "PutBucketTagging", "params": { "Bucket": "my-bucket", "Tagging": { "TagSet": [{ "Key": "env", "Value": "prod" }] } } }

PutBucketPolicy

Set a bucket policy.

{ "command": "PutBucketPolicy", "params": { "Bucket": "my-bucket", "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":[\"s3:GetObject\"],\"Resource\":[\"arn:aws:s3:::my-bucket/*\"]}]}" } }

DeleteBucketPolicy

Delete a bucket policy.

{ "command": "DeleteBucketPolicy", "params": { "Bucket": "my-bucket" } }

PutObjectTagging

Set object tags.

{ "command": "PutObjectTagging", "params": { "Bucket": "my-bucket", "Key": "file.txt", "Tagging": { "TagSet": [{ "Key": "type", "Value": "report" }] } } }

DeleteObjectTagging

Remove object tags.

{ "command": "DeleteObjectTagging", "params": { "Bucket": "my-bucket", "Key": "file.txt" } }

GetBucketLocation

Get the region where a bucket is located.

{ "command": "GetBucketLocation", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketEncryption

Get the default encryption configuration.

{ "command": "GetBucketEncryption", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketVersioning

Get the versioning state of a bucket.

{ "command": "GetBucketVersioning", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketLifecycleConfiguration

Get lifecycle configuration rules.

{ "command": "GetBucketLifecycleConfiguration", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketReplication

Get cross-region replication configuration.

{ "command": "GetBucketReplication", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketLogging

Get server access logging configuration.

{ "command": "GetBucketLogging", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketTagging

Get bucket tags.

{ "command": "GetBucketTagging", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketCors

Get CORS configuration.

{ "command": "GetBucketCors", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketWebsite

Get static website hosting configuration.

{ "command": "GetBucketWebsite", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketAccelerateConfiguration

Get transfer acceleration configuration.

{ "command": "GetBucketAccelerateConfiguration", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketRequestPayment

Get requester-pays configuration.

{ "command": "GetBucketRequestPayment", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
ExpectedBucketOwnerstringNoExpected bucket owner account ID

GetBucketPolicy

Get the bucket policy JSON.

{ "command": "GetBucketPolicy", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name

GetBucketNotificationConfiguration

Get event notification configuration (triggers to SNS/SQS/Lambda).

{ "command": "GetBucketNotificationConfiguration", "params": { "Bucket": "my-bucket" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name

OpenS3Explorer

Open the interactive S3 Explorer view for a bucket.

{ "command": "OpenS3Explorer", "params": { "Bucket": "my-bucket", "Prefix": "data/" } }

Parameters:

ParameterTypeRequiredDescription
BucketstringYesBucket name
KeystringNoObject key to focus on
PrefixstringNoPrefix/folder to open

Related Services

  • S3 → SNS/SQS/Lambda: Use GetBucketNotificationConfiguration to see event notification targets
  • S3 → CloudTrail: S3 data events are logged to CloudTrail, viewable in CloudWatch Logs
  • S3 → Glue: Glue crawlers catalog S3 data; Glue jobs read/write S3
  • S3 → EMR: EMR clusters use S3 for input/output data (EMRFS)
  • S3 → CloudFormation: S3 buckets are commonly managed by CloudFormation stacks
  • S3 → IAM: Bucket policies and IAM policies control access; use IAMTool SimulatePrincipalPolicy to test
  • S3 File Operations: For bulk upload/download of files and folders, use the S3FileOperationsTool (see awsflow-s3-fileops skill)

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

72/100Analyzed 2/22/2026

Comprehensive S3 skill reference for awsflow's S3Tool with ~30+ commands, each with JSON examples and parameter tables. Well-structured and clear, but tightly coupled to the awsflow tool, content is truncated at the end, and destructive operations lack safety guardrails. Tags (database, observability, testing) don't match the actual S3 content.

62
80
45
82
78

Metadata

Licenseunknown
Version-
Updated2/15/2026
Publishernecatiarslan

Tags

databaseobservabilitytesting