mcpField
A
aws-s3-management

aws-s3-management

github.com/aj-geddesCloud & DevOps373592 installsUpdated 34w ago
Repository

About aws-s3-management

A reference skill for managing Amazon S3 buckets and storage settings. It is intended for developers and operators handling application assets, backups, analytics data, or recovery, with guidance on AWS CLI and Terraform configurations.

Key features

  1. 01Bucket creation and configuration guidance
  2. 02Versioning, encryption, and access controls
  3. 03Lifecycle policy and replication guidance
  4. 04AWS CLI and Terraform references

Use cases

  1. 01Storing application assets and media
  2. 02Backing up and archiving data
  3. 03Hosting static websites
  4. 04Planning disaster recovery storage

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill aws-s3-management

After installing, type/aws-s3-managementin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
s3-access-with-presigned-urls.md
s3-bucket-creation-and-configuration-with-aws-cli.md
s3-lifecycle-policy-configuration.md
terraform-s3-configuration.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

Details

From the project README

AWS S3 Management

Table of Contents

Overview

Amazon S3 provides secure, durable, and highly scalable object storage. Manage buckets with encryption, versioning, access controls, lifecycle policies, and cross-region replication for reliable data storage and retrieval.

When to Use

  • Static website hosting
  • Data backup and archival
  • Media library and CDN origin
  • Data lake and analytics
  • Log storage and analysis
  • Application asset storage
  • Disaster recovery
  • Data sharing and collaboration

Quick Start

Minimal working example:

# Create bucket
aws s3api create-bucket \
  --bucket my-app-bucket-$(date +%s) \
  --region us-east-1

# Enable versioning
aws s3api put-bucket-versioning \
  --bucket my-app-bucket \
  --versioning-configuration Status=Enabled

# Block public access
aws s3api put-public-access-block \
  --bucket my-app-bucket \
  --public-access-block-configuration \
    BlockPublicAcls=true,IgnorePublicAcls=true,\
    BlockPublicPolicy=true,RestrictPublicBuckets=true

# Enable encryption
aws s3api put-bucket-encryption \
  --bucket my-app-bucket \
  --server-side-encryption-configuration '{
    "Rules": [{
      "ApplyServerSideEncryptionByDefault": {
        "SSEAlgorithm": "AES256"
      }
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
S3 Bucket Creation and Configuration with AWS CLIS3 Bucket Creation and Configuration with AWS CLI
S3 Lifecycle Policy ConfigurationS3 Lifecycle Policy Configuration
Terraform S3 ConfigurationTerraform S3 Configuration
S3 Access with Presigned URLsS3 Access with Presigned URLs

Best Practices

✅ DO
  • Enable versioning for important data
  • Use server-side encryption
  • Block public access by default
  • Implement lifecycle policies
  • Enable logging and monitoring
  • Use bucket policies for access control
  • Enable MFA delete for critical buckets
  • Use IAM roles instead of access keys
  • Implement cross-region replication
❌ DON'T
  • Make buckets publicly accessible
  • Store sensitive credentials
  • Ignore CloudTrail logging
  • Use overly permissive policies
  • Forget to set lifecycle rules
  • Ignore encryption requirements

Comments

Markdown supported