Aws
Claude skills, scripts and configs for everyday use
npx -y skills add sakydev/claude --skill awsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill whenever the user asks about AWS — querying resources, debugging infrastructure, reading logs, checking costs, IAM, S3, EC2, RDS, Lambda, ECS, CloudWatch, or any other AWS service. Covers CLI commands, SDK calls, and architectural questions.
SKILL.md
4.2 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
AWS Skill
Hard rules
-
Never destroy data. No
delete-*,terminate-*,remove-*,purge-*. Nos3 rm. Nodelete-db-instance. Nodelete-log-group. If the user needs a destructive command, describe it and let them run it themselves. -
Always use a read-only profile. Every command gets
--profile <readonly>. Never assume the default profile is safe. If no profile is set, ask before running anything. -
Never fetch secrets. No
secretsmanager get-secret-value. Nossm get-parameter --with-decryption. Hand the user the command and let them run it privately.
Step 1 — Establish context
Before any command:
- Profile - which one? Ask if unclear.
- Region - always pass
--regionexplicitly. Never rely on environment defaults. - Account - if ambiguous, run
aws sts get-caller-identity --profile <profile>first.
Step 2 — Read-side commands
| Service | Use |
|---|---|
| S3 | ls, cp (download only), head-object |
| EC2 | describe-* |
| RDS | describe-* |
| Lambda | list-*, get-* |
| ECS | describe-*, list-* |
| CloudWatch | get-metric-statistics, filter-log-events, describe-* |
| IAM | list-*, get-*, simulate-principal-policy |
| DynamoDB | describe-*, query, get-item |
| Cost Explorer | get-cost-and-usage |
Step 3 — Format output
--output json # default
--output table # human-readable
--query '...' # filter server-side, not with grep
Example:
aws ec2 describe-instances \
--profile readonly \
--region us-east-1 \
--query 'Reservations[*].Instances[*].{ID:InstanceId,State:State.Name,Type:InstanceType}' \
--output table
Step 4 — Cost awareness
Flag before running anything expensive.
| Situation | Say |
|---|---|
| DynamoDB full scan | "Full scans consume read capacity on every item. Add --filter-expression or --limit first?" |
| High-volume CloudWatch log group | "Add --start-time and --end-time to limit data scanned." |
| Cross-region data transfer | "Moving data across regions costs money. Confirm the target region." |
IAM rules
- Run
simulate-principal-policybefore suggesting any IAM change. - No
*wildcards in resource ARNs unless explicitly asked. Warn about blast radius. - Never suggest
AdministratorAccessorPowerUserAccess. Offer least-privilege alternatives. - Show policies as JSON blocks so the user can review before applying.
Concerns
| Situation | Say |
|---|---|
| User asks to delete something | Describe the command. Do not run it. Let them verify first. |
No --region given | Ask, or use the project's known primary region. |
| Default profile would be used | "Which profile should I use? Not assuming the default." |
| Production resources targeted | "This targets production. Confirm before I proceed." |
| User asks to fetch a secret | "Not retrieving secret values. Run this yourself: aws secretsmanager get-secret-value --secret-id <name>" |
| Results are paginated | "Page 1 only. Use --starting-token <NextToken> to continue." |
| Cross-account operation | "This looks cross-account. Confirm the target account ID." |
| Borrowed or assumed credentials | "Temporary credentials expire. Check aws sts get-caller-identity if you hit auth errors." |
Useful patterns
# Who am I?
aws sts get-caller-identity --profile readonly --output table
# Running EC2 instances
aws ec2 describe-instances \
--profile readonly --region us-east-1 \
--filters "Name=instance-state-name,Values=running" \
--query 'Reservations[*].Instances[*].{ID:InstanceId,Type:InstanceType,IP:PrivateIpAddress}' \
--output table
# Tail Lambda logs
aws logs tail "/aws/lambda/my-function" \
--profile readonly --region us-east-1 \
--follow --since 10m
# Check what a role can do
aws iam simulate-principal-policy \
--profile readonly \
--policy-source-arn arn:aws:iam::123456789012:role/MyRole \
--action-names s3:GetObject ec2:DescribeInstances
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most containers cloud skills give in ~1.0k tokens
Counted across 607 of the 657 authors here whose files we hold, read 2026-08-07
- run containers as a non-root userin 66 of 607, across 46 files
- use multi-stage buildsin 53 of 607, across 44 files
- use Promise.all for independent operationsin 47 of 607, across 13 files
- import directly instead of barrel filesin 46 of 607, across 12 files
- use ternary instead of AND for conditionalsin 45 of 607, across 12 files
- use Set or Map for O(1) lookupsin 42 of 607, across 10 files
- create a .dockerignore filein 41 of 607, across 31 files
- Read individual rule files for detailsin 39 of 607, across 9 files
- copy dependency files before source codein 36 of 607, across 23 files
- authenticate server actions like API routesin 35 of 607, across 7 files
- use next/dynamic for heavy componentsin 34 of 607, across 9 files
- use React.cache for per-request deduplicationin 34 of 607, across 10 files
Said here and by no other author read
- always pass an explicit region
- always specify a read-only profile
- ask if no profile is set
- verify the account identity first
- filter query results server-side
- flag expensive operations before running
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.