From site-craft-skills
Deploy any static site to AWS S3 + CloudFront with HTTPS, global CDN, and no size limit. Use this skill when the user wants to deploy to AWS, host on S3, deploy to CloudFront, put a site on AWS, or needs to deploy assets that exceed Vercel's 4.5MB limit (e.g., full-resolution scroll-sequence sites). Triggers on "deploy to AWS," "host on S3," "deploy to CloudFront," "put this on AWS," "deploy with no size limit," or any request to host a static site on AWS infrastructure.
How this skill is triggered — by the user, by Claude, or both
Slash command
/site-craft-skills:aws-deployThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Deploy any static site directory to AWS using S3 for storage and CloudFront for HTTPS delivery. No size limit — deploy full-resolution scroll-sequence sites, large asset directories, or anything that exceeds Vercel's 4.5MB compressed payload limit.
Deploy any static site directory to AWS using S3 for storage and CloudFront for HTTPS delivery. No size limit — deploy full-resolution scroll-sequence sites, large asset directories, or anything that exceeds Vercel's 4.5MB compressed payload limit.
For quick deploys without AWS credentials, use vercel-deploy instead.
aws configure (stores in ~/.aws/credentials)AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEYaws sso loginThe user provides a path to a directory containing static files. If they don't specify one, look for the most recently generated project (e.g., /tmp/landing-page/, or whatever the upstream skill produced).
The directory must contain an index.html at the root. If there's a single .html file with a different name, the deploy script renames it automatically.
Run the deploy script:
bash <skill-path>/scripts/deploy.sh <directory> [--region <region>]
us-east-1 (override with --region or AWS_REGION env var)The script:
site-craft-<directory-name> with S3 bucket, CloudFront distribution, and OACpreviewUrl, distributionId, bucketName, stackName, regionTell the user:
Your site is live on AWS!
Preview URL: https://<id>.cloudfront.net
Stack: site-craft-<name>
Region: us-east-1
First-time deploys take 3-5 minutes (CloudFront distribution provisioning).
Subsequent deploys update in ~10 seconds + cache invalidation time.
To tear down all resources for a deployment, empty the bucket first (CloudFormation can't delete a non-empty S3 bucket), then delete the stack.
Find the bucket name from the stack outputs:
aws cloudformation describe-stacks --stack-name site-craft-<name> --region us-east-1 \
--query 'Stacks[0].Outputs[?OutputKey==`BucketName`].OutputValue' --output text
Then empty and delete:
aws s3 rm s3://<bucket-name> --recursive --region us-east-1
aws cloudformation delete-stack --stack-name site-craft-<name> --region us-east-1
This deletes the S3 bucket, CloudFront distribution, and all associated resources.
On the very first deploy, the script:
Subsequent deploys to the same site skip stack creation and just sync files.
For users who want to scope down permissions, this is the minimum policy needed:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudformation:CreateStack",
"cloudformation:DeleteStack",
"cloudformation:DescribeStacks",
"cloudformation:DescribeStackEvents"
],
"Resource": "arn:aws:cloudformation:*:*:stack/site-craft-*/*"
},
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:PutBucketPolicy",
"s3:DeleteBucketPolicy",
"s3:PutBucketEncryption",
"s3:PutBucketPublicAccessBlock",
"s3:GetBucketPolicy",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::site-craft-*",
"arn:aws:s3:::site-craft-*/*"
]
},
{
"Effect": "Allow",
"Action": [
"cloudfront:CreateDistribution",
"cloudfront:DeleteDistribution",
"cloudfront:GetDistribution",
"cloudfront:UpdateDistribution",
"cloudfront:CreateInvalidation",
"cloudfront:CreateOriginAccessControl",
"cloudfront:DeleteOriginAccessControl",
"cloudfront:GetOriginAccessControl",
"cloudfront:TagResource"
],
"Resource": "*"
}
]
}
npx claudepluginhub cyranob/site-craft-skills --plugin gcp-deployProvides AWS CloudFormation patterns for CloudFront distributions with origins (ALB, S3, Lambda@Edge, VPC), CacheBehaviors, Functions, SecurityHeaders, WAF, ACM, parameters, and cross-stack references. Use for CDN setup, caching, and performance optimization.
Guides file storage and CDN setup with object storage (S3, GCS, Azure Blob), presigned URLs, image/video processing pipelines, lifecycle policies, cost optimization, and backups.
Deploys AI-generated websites to production using Vercel, Netlify, Cloudflare Pages, or GitHub Pages. Covers CLI setup, project config, environment variables, and custom domains.