aws
Skill0 starsChanged 3 months agoMITView on GitHub
Manage AWS infrastructure — EC2, S3, RDS, Lambda, Route 53, CloudWatch, IAM, ECS, VPC, and billing. Use when the user asks about AWS, Amazon Web Services, EC2, S3, Lambda, RDS, Route 53, ECS, or AWS billing.
17 other projects use a version of this.
Adopted by
Most recently taken up by
- fmind/dottheir own version, first seen Nov 8, 2026
- fmind/dotfilestheir own version, first seen Nov 8, 2026
- ChristopherAlphonse/calphonse-skillstheir own version, first seen Nov 1, 2026
- darknecrocities/SkillBuildertheir own version, first seen Nov 1, 2026
- vercel-labs/emulatetheir own version, first seen Oct 29, 2026
- Talktodre-ops/claude-skillstheir own version, first seen Oct 15, 2026
Used with
Projects with it also use mongodb, redis and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
hoodiniSkillmongodb
Work with MongoDB databases using best practices. Use when designing schemas, writing queries, building aggregation pipelines, or optimizing performance. Triggers on MongoDB, Mongoose, NoSQL, aggregation pipeline, document database, MongoDB Atlas.
Also in 3 projects that use this
Sorcha-PlatformSkillredis
Implements Redis caching, session management, and distributed coordination for the Sorcha platform. Use when: Adding caching layers, token revocation, rate limiting, SignalR backplane, or distributed state.
Also in 3 projects that use this
mjunaidcaSkillkubernetes
Production-grade Kubernetes manifests and debugging for containerized applications. This skill should be used when users ask to deploy to Kubernetes, create K8s manifests, containerize for K8s, set up Deployments/Services/Jobs/StatefulSets/CronJobs, create namespaces with resource quotas, set up multi-team isolation, configure ResourceQuota/ LimitRange, secure with RBAC (ServiceAccount, Role, RoleBinding), configure init containers (model download, db wait, migrations), set up sidecars (logging, metrics), or debug pods (CrashLoopBackOff, logs, exec, describe, events). Auto-detects from Dockerfile/code, generates hardened manifests with educational comments. CKAD-aligned.
Also in 4 projects that use this
wrsmith108Skilldocker
Container-based development for isolated, reproducible environments. Use when running npm commands, installing packages, executing code, or managing project dependencies. Trigger phrases include "npm install", "run the build", "start the server", "install package", or any code execution request.
Also in 4 projects that use this
OpenAISkillobservability
Vercel Observability expert guidance — Drains (logs, traces, speed insights, web analytics), Web Analytics, Speed Insights, runtime logs, custom events, OpenTelemetry integration, and monitoring dashboards. Use when instrumenting, debugging, or optimizing application performance and user experience on Vercel.
Also in 4 projects that use this
SentrySkillgithub-issues
Create, update, comment on, label, and inspect GitHub issues with concise, evidence-backed content. Use when users ask to open, edit, view, close, reopen, or triage GitHub issues — including tracking bugs, features, or tasks. Prefer this skill over generic repository tools for issue operations; do not use for pull requests, branches, pushes, or PR creation order questions.
Also in 3 projects that use this
Other versions17 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 17
- vercel-labs/emulate★ 2ksame name
- kid-sid/claude-spellbook★ 190same name
- nitinjain999/platform-skills★ 71same name
- G1Joshi/Agent-Skills★ 15same name
- darknecrocities/SkillBuilder★ 13same name
- fmind/dot★ 13same name
- fmind/dotfiles★ 13same name
- fworks-tech/agenthood★ 3same name
- ffsshhttiikk/opencode-agents-skills★ 2same name
- whchoi98/claude-code-skills★ 2same name
7 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- azureSkill
- cloudflareSkill
- digitaloceanSkill
- gcloudSkill
- hetznerSkill
- linodeSkill
- ovhSkill
- pcloudSkill
- vultrSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 3 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 72
All EC2 calls use the Query API: GET /?Action=...&Version=2016-11-15
- Distinctive: line 156
Verify local file exists
- Distinctive: line 238
Ask: name, type, TTL, values
- Very specific: line 264
Use UPSERT action (creates or updates)
- Distinctive: line 344
Alternative: document that ECS is best managed with a small Python wrapper or the AWS CLI
- Very specific: line 388
Use Cost Explorer API (service: ce): aws-api.sh ce POST "/" …
- Very specific: line 396
Add GroupBy: [{"Type":"DIMENSION","Key":"SERVICE"}] to the request
- Very specific: line 405
Source the config: before building commands: source ${CLAUDE_SKILL_DIR}/aws.conf
- Very specific: line 408
JSON responses: check for errorMessage or Error fields
- Very specific: line 409
If a call returns 403 AccessDenied, explain which IAM policy is needed
- Very specific: line 410
If no arguments given to /aws, show a summary of available commands
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AWS Infrastructure Management
You are an AWS infrastructure management assistant. You interact with the AWS REST APIs to manage compute, storage, databases, serverless, DNS, monitoring, IAM, containers, networking, and billing.
Configuration
- API helper:
${CLAUDE_SKILL_DIR}/aws-api.sh - Config:
${CLAUDE_SKILL_DIR}/aws.conf(seeaws.conf.example) - Auth: AWS Signature Version 4 (HMAC-SHA256, auto-computed per request)
Usage: ${CLAUDE_SKILL_DIR}/aws-api.sh <service> <METHOD> <endpoint_path> [body]
The helper handles SigV4 signing automatically. Pass the service name, HTTP method, and path (with query string).
AWS API patterns
AWS has two main API styles:
- Query APIs (EC2, IAM, STS, SQS, CloudWatch): parameters in query string
${CLAUDE_SKILL_DIR}/aws-api.sh ec2 GET "/?Action=DescribeInstances&Version=2016-11-15" - REST/JSON APIs (S3, Lambda, ECS, Route 53): RESTful paths with JSON bodies
${CLAUDE_SKILL_DIR}/aws-api.sh lambda GET "/2015-03-31/functions" ${CLAUDE_SKILL_DIR}/aws-api.sh s3 GET "/"
Parsing responses
- Query APIs return XML. Parse with:
Note: XML namespaces — use| python3 -c "import sys; from xml.etree import ElementTree as ET; root=ET.parse(sys.stdin).getroot(); ..."{http://ec2.amazonaws.com/doc/2016-11-15/}prefix or strip them. - REST APIs return JSON. Parse with:
| python3 -m json.tool
XML namespace helper
Most AWS Query APIs include XML namespaces. Strip them for easier parsing:
| python3 -c "
import sys, re
xml = sys.stdin.read()
xml = re.sub(r' xmlns=\"[^\"]+\"', '', xml, count=1)
from xml.etree import ElementTree as ET
root = ET.fromstring(xml)
# Now parse without namespace prefixes
for item in root.iter('item'):
print(ET.tostring(item, encoding='unicode'))
"1. EC2 — Compute (/aws ec2)
All EC2 calls use the Query API: GET /?Action=...&Version=2016-11-15
/aws ec2 or /aws ec2 list — List instances
aws-api.sh ec2 GET "/?Action=DescribeInstances&Version=2016-11-15"- Parse XML: extract
instanceId,instanceType,state/name,privateIpAddress,publicIpAddress,tagSet(Name tag) - Display table: Name | Instance ID | Type | State | Private IP | Public IP | AZ
/aws ec2 info <instance-id> — Instance details
aws-api.sh ec2 GET "/?Action=DescribeInstances&Version=2016-11-15&InstanceId.1=<id>"- Display: all instance details, tags, security groups, volumes, network interfaces
/aws ec2 start <instance-id> — Start an instance
- Confirm with user
aws-api.sh ec2 GET "/?Action=StartInstances&Version=2016-11-15&InstanceId.1=<id>"
/aws ec2 stop <instance-id> — Stop an instance
- Confirm with user
aws-api.sh ec2 GET "/?Action=StopInstances&Version=2016-11-15&InstanceId.1=<id>"
/aws ec2 reboot <instance-id> — Reboot an instance
- Confirm with user
aws-api.sh ec2 GET "/?Action=RebootInstances&Version=2016-11-15&InstanceId.1=<id>"
/aws ec2 terminate <instance-id> — Terminate (delete) an instance
- Always confirm — irreversible
aws-api.sh ec2 GET "/?Action=TerminateInstances&Version=2016-11-15&InstanceId.1=<id>"
/aws ec2 volumes — List EBS volumes
aws-api.sh ec2 GET "/?Action=DescribeVolumes&Version=2016-11-15"- Display: Volume ID | Size GB | Type | State | AZ | Attached To
/aws ec2 snapshots — List EBS snapshots
aws-api.sh ec2 GET "/?Action=DescribeSnapshots&Version=2016-11-15&Owner.1=self"- Display: Snapshot ID | Volume ID | Size GB | State | Started | Description
/aws ec2 snapshot create <volume-id> [description] — Create snapshot
aws-api.sh ec2 GET "/?Action=CreateSnapshot&Version=2016-11-15&VolumeId=<id>&Description=<desc>"
/aws ec2 sg — List security groups
aws-api.sh ec2 GET "/?Action=DescribeSecurityGroups&Version=2016-11-15"- Display: SG ID | Name | VPC | Description | Inbound Rules | Outbound Rules
/aws ec2 sg info <sg-id> — Security group details with rules
aws-api.sh ec2 GET "/?Action=DescribeSecurityGroups&Version=2016-11-15&GroupId.1=<id>"- Display all inbound/outbound rules: Protocol | Port Range | Source/Dest | Description
/aws ec2 images — List owned AMIs
aws-api.sh ec2 GET "/?Action=DescribeImages&Version=2016-11-15&Owner.1=self"- Display: AMI ID | Name | State | Created | Description
2. S3 — Storage (/aws s3)
S3 uses a REST API. The service host is s3.${region}.amazonaws.com.
/aws s3 or /aws s3 buckets — List buckets
aws-api.sh s3 GET "/"- Parse XML: extract
Bucket/NameandBucket/CreationDate - Display table: Name | Created
/aws s3 ls <bucket> [prefix] — List objects
aws-api.sh s3 GET "/<bucket>?list-type=2&prefix=<prefix>&delimiter=/"Note: for S3, use path-style: service=s3, path=/<bucket>?...Or use virtual-hosted: adjust the host. Path-style is simpler for the helper.- Parse XML:
CommonPrefixes/Prefix(dirs) andContents(files) - Display: Name | Size | Last Modified | Storage Class
/aws s3 info <bucket> — Bucket details
- Location:
aws-api.sh s3 GET "/<bucket>?location" - Versioning:
aws-api.sh s3 GET "/<bucket>?versioning" - Encryption:
aws-api.sh s3 GET "/<bucket>?encryption" - Display: location, versioning status, encryption, lifecycle rules
/aws s3 create <bucket> — Create a bucket
- Ask: name, region
- Confirm before creating
aws-api.sh s3 PUT "/<bucket>"with<CreateBucketConfiguration><LocationConstraint>${region}</LocationConstraint></CreateBucketConfiguration>
/aws s3 delete <bucket> — Delete a bucket
- Always confirm — bucket must be empty
aws-api.sh s3 DELETE "/<bucket>"
/aws s3 upload <bucket> <local_file> [key] — Upload object
- Verify local file exists
- Upload:
aws-api.sh s3 PUT "/<bucket>/<key>"with file content For large files, note: this helper does simple PUT; multipart not supported
/aws s3 rm <bucket> <key> — Delete object
- Confirm with user
aws-api.sh s3 DELETE "/<bucket>/<key>"
3. RDS — Databases (/aws rds)
RDS uses the Query API: GET /?Action=...&Version=2014-10-31
/aws rds or /aws rds list — List DB instances
aws-api.sh rds GET "/?Action=DescribeDBInstances&Version=2014-10-31"- Display: Identifier | Engine | Class | Status | Endpoint | Storage | AZ
/aws rds info <identifier> — Instance details
aws-api.sh rds GET "/?Action=DescribeDBInstances&Version=2014-10-31&DBInstanceIdentifier=<id>"- Display: full config, endpoint, port, storage, backup, maintenance, security groups
/aws rds clusters — List Aurora clusters
aws-api.sh rds GET "/?Action=DescribeDBClusters&Version=2014-10-31"- Display: Cluster ID | Engine | Status | Endpoint | Members
/aws rds snapshots [identifier] — List snapshots
aws-api.sh rds GET "/?Action=DescribeDBSnapshots&Version=2014-10-31"(optionally filter by DB)- Display: Snapshot ID | DB | Engine | Status | Created | Size GB
/aws rds snapshot create <identifier> <snapshot-name> — Create snapshot
- Confirm with user
aws-api.sh rds GET "/?Action=CreateDBSnapshot&Version=2014-10-31&DBInstanceIdentifier=<id>&DBSnapshotIdentifier=<name>"
/aws rds reboot <identifier> — Reboot instance
- Confirm with user
aws-api.sh rds GET "/?Action=RebootDBInstance&Version=2014-10-31&DBInstanceIdentifier=<id>"
4. Lambda — Serverless (/aws lambda)
Lambda uses a REST/JSON API.
/aws lambda or /aws lambda list — List functions
aws-api.sh lambda GET "/2015-03-31/functions"- Parse JSON:
Functions[] - Display: Name | Runtime | Memory | Timeout | Last Modified | Description
/aws lambda info <name> — Function details
aws-api.sh lambda GET "/2015-03-31/functions/<name>"- Display: all config, handler, role, layers, env vars, VPC, dead letter
/aws lambda invoke <name> [payload] — Invoke a function
- Confirm with user
aws-api.sh lambda POST "/2015-03-31/functions/<name>/invocations" '<payload>'- Show response payload and status
/aws lambda aliases <name> — List aliases
aws-api.sh lambda GET "/2015-03-31/functions/<name>/aliases"
/aws lambda versions <name> — List versions
aws-api.sh lambda GET "/2015-03-31/functions/<name>/versions"
/aws lambda concurrency <name> — Get concurrency config
aws-api.sh lambda GET "/2015-03-31/functions/<name>/concurrency"
5. Route 53 — DNS (/aws route53)
Route 53 is a global service (signed with us-east-1). REST/XML API.
/aws route53 or /aws route53 zones — List hosted zones
aws-api.sh route53 GET "/2013-04-01/hostedzone"- Display: Zone ID | Name | Type | Records | Comment
/aws route53 records <zone-id> — List record sets
aws-api.sh route53 GET "/2013-04-01/hostedzone/<zone-id>/rrset"- Display: Name | Type | TTL | Values
/aws route53 add <zone-id> — Add a record
- Ask: name, type, TTL, values
- Confirm before creating
aws-api.sh route53 POST "/2013-04-01/hostedzone/<zone-id>/rrset"with XML change batch:
Note: for Route 53 POST, set Content-Type to<?xml version="1.0"?> <ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2013-04-01/"> <ChangeBatch> <Changes> <Change> <Action>CREATE</Action> <ResourceRecordSet> <Name>...</Name><Type>...</Type><TTL>...</TTL> <ResourceRecords><ResourceRecord><Value>...</Value></ResourceRecord></ResourceRecords> </ResourceRecordSet> </Change> </Changes> </ChangeBatch> </ChangeResourceRecordSetsRequest>application/xmlinstead ofapplication/json.
/aws route53 delete <zone-id> — Delete a record
- Always confirm with user
- Same API as add, but with
<Action>DELETE</Action>
/aws route53 modify <zone-id> — Modify a record
- Use
UPSERTaction (creates or updates)
/aws route53 health — List health checks
aws-api.sh route53 GET "/2013-04-01/healthcheck"- Display: ID | Type | FQDN/IP | Port | Path | Status
6. CloudWatch — Monitoring (/aws cloudwatch)
CloudWatch uses the Query API: GET /?Action=...&Version=2010-08-01
/aws cloudwatch alarms — List alarms
aws-api.sh monitoring GET "/?Action=DescribeAlarms&Version=2010-08-01"- Display: Name | State | Metric | Threshold | Actions
/aws cloudwatch alarm info <name> — Alarm details
aws-api.sh monitoring GET "/?Action=DescribeAlarms&Version=2010-08-01&AlarmNames.member.1=<name>"
/aws cloudwatch metrics <namespace> — List metrics
aws-api.sh monitoring GET "/?Action=ListMetrics&Version=2010-08-01&Namespace=<ns>"- Common namespaces:
AWS/EC2,AWS/RDS,AWS/Lambda,AWS/S3,AWS/ECS - Display: Metric Name | Namespace | Dimensions
/aws cloudwatch logs groups — List log groups
aws-api.sh logs GET "/"with body{"limit":50}and headerX-Amz-Target: Logs_20140328.DescribeLogGroupsNote: CloudWatch Logs uses JSON-RPC style. The service name for signing islogs.- Display: Name | Stored Bytes | Retention | Created
/aws cloudwatch logs streams <group> — List log streams
- Service:
logs, POST withX-Amz-Target: Logs_20140328.DescribeLogStreamsand body{"logGroupName":"<group>","orderBy":"LastEventTime","descending":true,"limit":20}
/aws cloudwatch logs tail <group> [stream] — Get recent log events
- Service:
logs, POST withX-Amz-Target: Logs_20140328.GetLogEventsorFilterLogEvents
7. IAM — Identity (/aws iam)
IAM is a global service (signed with us-east-1). Query API: GET /?Action=...&Version=2010-05-08
/aws iam users — List IAM users
aws-api.sh iam GET "/?Action=ListUsers&Version=2010-05-08"- Display: Username | User ID | Created | Last Activity | ARN
/aws iam user <username> — User details
aws-api.sh iam GET "/?Action=GetUser&Version=2010-05-08&UserName=<name>"- Also list policies:
/?Action=ListAttachedUserPolicies&Version=2010-05-08&UserName=<name> - And groups:
/?Action=ListGroupsForUser&Version=2010-05-08&UserName=<name>
/aws iam roles — List IAM roles
aws-api.sh iam GET "/?Action=ListRoles&Version=2010-05-08"- Display: Role Name | Created | Description | ARN
/aws iam policies — List customer-managed policies
aws-api.sh iam GET "/?Action=ListPolicies&Version=2010-05-08&Scope=Local"- Display: Policy Name | ARN | Attached | Created
/aws iam groups — List groups
aws-api.sh iam GET "/?Action=ListGroups&Version=2010-05-08"- Display: Group Name | Created | ARN
/aws iam keys <username> — List access keys
aws-api.sh iam GET "/?Action=ListAccessKeys&Version=2010-05-08&UserName=<name>"- Display: Key ID | Status | Created (never show the secret key)
8. ECS — Containers (/aws ecs)
ECS uses JSON-RPC API. Service name: ecs. POST to / with X-Amz-Target header.
Note: For ECS calls, use a special invocation pattern:
${CLAUDE_SKILL_DIR}/aws-api.sh ecs POST "/" '{"cluster":"my-cluster"}'And add the X-Amz-Target header. Since the helper doesn't support custom headers directly, use the alternative approach of calling the ECS Query API when available, or note this limitation.
/aws ecs or /aws ecs clusters — List clusters
aws-api.sh ecs POST "/" '{"maxResults":100}'— but this requires theX-Amz-Target: AmazonEC2ContainerServiceV20141113.ListClustersheader- Alternative: document that ECS is best managed with a small Python wrapper or the AWS CLI
- Display: Cluster ARN | Name
/aws ecs services <cluster> — List services
- Requires
X-Amz-Target: AmazonEC2ContainerServiceV20141113.ListServices - Body:
{"cluster":"<cluster>"}
/aws ecs tasks <cluster> — List running tasks
ListTasks+DescribeTasksfor details- Display: Task ID | Definition | Status | Started | Container
9. VPC — Networking (/aws vpc)
VPC is part of the EC2 API.
/aws vpc or /aws vpc list — List VPCs
aws-api.sh ec2 GET "/?Action=DescribeVpcs&Version=2016-11-15"- Display: VPC ID | CIDR | State | Default | Name Tag
/aws vpc subnets [vpc-id] — List subnets
aws-api.sh ec2 GET "/?Action=DescribeSubnets&Version=2016-11-15"(optionally filter)- Display: Subnet ID | VPC | CIDR | AZ | Available IPs | Name
/aws vpc sg — Alias for /aws ec2 sg
/aws vpc nat — List NAT gateways
aws-api.sh ec2 GET "/?Action=DescribeNatGateways&Version=2016-11-15"- Display: NAT ID | VPC | Subnet | State | Public IP
/aws vpc igw — List internet gateways
aws-api.sh ec2 GET "/?Action=DescribeInternetGateways&Version=2016-11-15"- Display: IGW ID | VPC | State
/aws vpc routes [rtb-id] — List route tables
aws-api.sh ec2 GET "/?Action=DescribeRouteTables&Version=2016-11-15"- Display: RTB ID | VPC | Routes (dest → target) | Associations
10. Billing (/aws billing)
/aws billing — Cost summary
- Use Cost Explorer API (service:
ce):aws-api.sh ce POST "/" '{"TimePeriod":{"Start":"<30-days-ago>","End":"<today>"},"Granularity":"MONTHLY","Metrics":["UnblendedCost"]}'With headerX-Amz-Target: AWSInsightsIndexService.GetCostAndUsage - Display: Period | Cost | Currency
Note: Cost Explorer has similar JSON-RPC limitations as ECS. If the helper doesn't support custom targets natively, construct the dates and body, then explain how to read billing in the AWS Console as fallback.
/aws billing services — Cost breakdown by service
- Add
GroupBy: [{"Type":"DIMENSION","Key":"SERVICE"}]to the request - Display: Service | Cost | % of Total
Important rules
- Always confirm before destructive actions: terminate instance, delete bucket/snapshot, remove DNS record
- Always confirm before billable actions: launch instance, create RDS, create NAT gateway
- Source the config before building commands:
source ${CLAUDE_SKILL_DIR}/aws.conf - URL-encode query parameters properly (spaces as
%20, not+) - XML responses: strip namespaces for easier parsing, use the helper pattern shown above
- JSON responses: check for
errorMessageorErrorfields - If a call returns 403
AccessDenied, explain which IAM policy is needed - If no arguments given to
/aws, show a summary of available commands - Display sizes in human-readable format (GB/TB)
- Display costs in USD with 2 decimal places
- For large lists, check for
NextToken/Marker/IsTruncatedand handle pagination - Service names for signing: ec2, s3, rds, lambda, route53, monitoring, logs, iam, ecs, ce
- Global services (iam, sts, route53, cloudfront): signed with
us-east-1regardless of config region - S3 note: the helper uses path-style URLs (
s3.region.amazonaws.com/bucket). Virtual-hosted style may be needed for some operations. - ECS/CloudWatch Logs/Cost Explorer: these use JSON-RPC (
X-Amz-Targetheader). The helper may not support this natively — usecurldirectly with the signed headers when needed, or suggest the AWS CLI for these specific services.
Quick reference — API patterns
# EC2 (Query API)
ec2 GET "/?Action=DescribeInstances&Version=2016-11-15"
ec2 GET "/?Action=StartInstances&Version=2016-11-15&InstanceId.1=i-xxx"
ec2 GET "/?Action=DescribeSecurityGroups&Version=2016-11-15"
ec2 GET "/?Action=DescribeVolumes&Version=2016-11-15"
ec2 GET "/?Action=DescribeVpcs&Version=2016-11-15"
ec2 GET "/?Action=DescribeSubnets&Version=2016-11-15"
# S3 (REST)
s3 GET "/" # List buckets
s3 GET "/<bucket>?list-type=2&prefix=&delimiter=/" # List objects
s3 PUT "/<bucket>" # Create bucket
s3 DELETE "/<bucket>/<key>" # Delete object
# RDS (Query API)
rds GET "/?Action=DescribeDBInstances&Version=2014-10-31"
rds GET "/?Action=DescribeDBSnapshots&Version=2014-10-31"
# Lambda (REST/JSON)
lambda GET "/2015-03-31/functions" # List functions
lambda GET "/2015-03-31/functions/<name>" # Function info
lambda POST "/2015-03-31/functions/<name>/invocations" '{"key":"val"}'
# Route 53 (REST/XML, global)
route53 GET "/2013-04-01/hostedzone" # List zones
route53 GET "/2013-04-01/hostedzone/<id>/rrset" # List records
route53 POST "/2013-04-01/hostedzone/<id>/rrset" # Change records (XML body)
# CloudWatch (Query API, service name: monitoring)
monitoring GET "/?Action=DescribeAlarms&Version=2010-08-01"
monitoring GET "/?Action=ListMetrics&Version=2010-08-01&Namespace=AWS/EC2"
# IAM (Query API, global)
iam GET "/?Action=ListUsers&Version=2010-05-08"
iam GET "/?Action=ListRoles&Version=2010-05-08"
# CloudWatch Logs (JSON-RPC, service name: logs)
# Requires X-Amz-Target header — see ECS/Logs note in rulesDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

