aws-naming-research
Skill274 starsChanged 28 days agoMITView on GitHub
Research AWS resource naming conventions and constraints for a given service. Use when you need to look up naming rules (length, valid characters, scope), recommended patterns, and uniqueness requirements for AWS resources. Triggers on: AWS naming rules research, resource naming constraints, S3 bucket name validation.
In this repository53 other files it gives its agents.
- website/docs/authoring/agents.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- .github/skills/git-ape-onboarding/templates/copilot-instructions.mdCopilot instructions
- aws-api-gatewaySkill
- aws-bedrockSkill
- aws-cloudformationSkill
- aws-cloudwatchSkill
- aws-cognitoSkill
- aws-cost-estimatorSkill
- aws-dynamodbSkill
- aws-ec2Skill
- aws-ecsSkill
- aws-eksSkill
- aws-eventbridgeSkill
- aws-iamSkill
- aws-lambdaSkill
- aws-rdsSkill
- aws-s3Skill
- aws-secrets-managerSkill
- aws-security-analyzerSkill
- aws-snsSkill
- aws-sqsSkill
- aws-step-functionsSkill
- csd-assessment-reportSkill
- deployment-blueprintsSkill
- fulfillment-and-meteringSkill
- isv-landing-zone-foundationSkill
- marketplace-offer-typesSkill
- marketplace-onboardingSkill
- multi-tenant-saasSkill
- onboard-to-marketplaceSkill
- saas-accelerator-bootstrapSkill
- saas-assessment-reportSkill
- scale-and-sreSkill
- security-and-complianceSkill
- tenant-isolation-modelsSkill
- tenant-lifecycle-automationSkill
- azure-cost-estimatorSkill
- azure-deployment-preflightSkill
- azure-drift-detectorSkill
- azure-integration-testerSkill
- azure-naming-researchSkill
- azure-policy-advisorSkill
- azure-resource-availabilitySkill
- azure-resource-visualizerSkill
- azure-rest-api-referenceSkill
- azure-role-selectorSkill
- azure-security-analyzerSkill
- azure-stack-deploySkill
- azure-stack-destroySkill
- git-ape-onboardingSkill
- git-ape-skillsSkill
- prereq-checkSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
Use the recommended naming pattern from the table below and construct a compliant name for the user's deployment.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AWS Naming Research
Procedure
1. Look Up Naming Constraints
For the requested AWS resource type, apply the constraints table below. If the resource is not listed, fetch the official AWS documentation.
Reference: AWS Resource Naming Rules
2. Apply Recommended Pattern
Use the recommended naming pattern from the table below and construct a compliant name for the user's deployment.
3. Validate the Name
Check:
- Length is within min-max bounds
- Characters used are in the allowed set
- Starts/ends with allowed characters
- Meets uniqueness scope requirement
4. Return JSON Summary
{
"resource": "S3 Bucket",
"proposed_name": "my-app-data-prod-abc123",
"valid": true,
"constraints": {
"min_length": 3,
"max_length": 63,
"allowed_chars": "lowercase letters, numbers, hyphens",
"start_with": "letter or number",
"end_with": "letter or number",
"no_consecutive_hyphens": true,
"no_ip_format": true,
"scope": "global",
"globally_unique": true
},
"validation_notes": []
}Naming Constraints Reference
S3 Buckets
| Constraint | Value |
| Min length | 3 |
| Max length | 63 |
| Valid characters | Lowercase letters (a-z), numbers (0-9), hyphens (-), dots (.) |
| Must start with | Letter or number |
| Must end with | Letter or number |
| No consecutive hyphens | True |
| No IP format | Cannot be formatted as IP address (e.g., 192.168.1.1) |
| Scope | Global — unique across all AWS accounts and regions |
| Notes | Dots allowed but not recommended (breaks SSL). Use hyphens instead. |
Recommended pattern: {project}-{purpose}-{env}-{random-suffix}
Example: myapp-uploads-prod-a7k3m
Lambda Functions
| Constraint | Value |
| Min length | 1 |
| Max length | 64 |
| Valid characters | Letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_) |
| Scope | Regional — unique within an AWS account and region |
Recommended pattern: {project}-{function-purpose}-{env}
Example: myapp-process-orders-prod
IAM Roles
| Constraint | Value |
| Min length | 1 |
| Max length | 64 |
| Valid characters | Letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), dots (.), at signs (@), equals (=), plus (+), comma (,) |
| Scope | Account — unique within an AWS account (global to all regions) |
Recommended pattern: {project}-{service}-{purpose}-role-{env}
Example: myapp-lambda-processor-role-prod
IAM Policies
| Constraint | Value |
| Min length | 1 |
| Max length | 128 |
| Valid characters | Letters, numbers, hyphens, underscores, dots, +, =, ,, @ |
| Scope | Account |
Recommended pattern: {project}-{resource}-{permissions}-policy
Example: myapp-dynamodb-read-policy
EC2 Instances (Name Tag)
| Constraint | Value |
| Min length | 0 |
| Max length | 256 (tag value limit) |
| Valid characters | Any UTF-8 characters |
| Scope | Account + Region (tag Name is not unique) |
Recommended pattern: {project}-{role}-{env}-{az-or-index}
Example: myapp-web-prod-1
EC2 Security Groups
| Constraint | Value |
| Max name length | 255 (group name) |
| Valid characters | Letters, numbers, spaces, and _.-:/()#,@[]+=&;{}!$* |
| Scope | VPC |
Recommended pattern: {project}-{tier}-{protocol}-sg-{env}
Example: myapp-web-https-sg-prod
RDS DB Instance Identifiers
| Constraint | Value |
| Min length | 1 |
| Max length | 63 |
| Valid characters | Letters (a-z, A-Z), numbers (0-9), hyphens (-) |
| Must start with | Letter |
| Cannot end with | Hyphen |
| No consecutive hyphens | True |
| Scope | Regional — unique within an AWS account and region |
Recommended pattern: {project}-{db-purpose}-{env}
Example: myapp-users-prod
DynamoDB Tables
| Constraint | Value |
| Min length | 3 |
| Max length | 255 |
| Valid characters | Letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), dots (.) |
| Scope | Regional — unique within an AWS account and region |
Recommended pattern: {Project}-{Entity}-{Env} (use PascalCase for DynamoDB)
Example: MyApp-Orders-Prod
ECS Clusters
| Constraint | Value |
| Max length | 255 |
| Valid characters | Letters, numbers, hyphens, underscores |
| Scope | Regional |
Recommended pattern: {project}-{env}-cluster
Example: myapp-prod-cluster
ECS Task Definitions (Family Name)
| Constraint | Value |
| Max length | 255 |
| Valid characters | Letters, numbers, hyphens, underscores |
| Scope | Regional — revision number appended automatically |
Recommended pattern: {project}-{service}-task
Example: myapp-api-task
EKS Clusters
| Constraint | Value |
| Min length | 1 |
| Max length | 100 |
| Valid characters | Letters (a-z, A-Z), numbers (0-9), hyphens (-) |
| Must start with | Letter |
| Scope | Regional |
Recommended pattern: {project}-{env}-eks
Example: myapp-prod-eks
Secrets Manager Secrets
| Constraint | Value |
| Max length | 512 |
| Valid characters | Any ASCII characters except /, \, @, #, or space as first character |
| Recommended separator | / for hierarchical naming |
| Scope | Regional |
Recommended pattern: {env}/{project}/{purpose}
Example: prod/myapp/database-credentials
CloudFormation Stacks
| Constraint | Value |
| Min length | 1 |
| Max length | 128 |
| Valid characters | Letters (a-z, A-Z), numbers (0-9), hyphens (-) |
| Must start with | Letter |
| Scope | Regional |
Recommended pattern: {project}-{component}-{env}
Example: myapp-api-prod
SNS Topics
| Constraint | Value |
| Max length | 256 |
| Valid characters | Letters, numbers, hyphens, underscores |
| FIFO suffix | Must end in .fifo for FIFO topics |
| Scope | Regional |
Recommended pattern: {project}-{event-type}-topic[-{env}]
Example: myapp-order-events-topic
SQS Queues
| Constraint | Value |
| Max length | 80 |
| Valid characters | Letters, numbers, hyphens, underscores |
| FIFO suffix | Must end in .fifo for FIFO queues |
| Scope | Regional |
Recommended pattern: {project}-{purpose}-queue[-{env}]
Example: myapp-order-processing-queue
EventBridge Rules
| Constraint | Value |
| Max length | 64 |
| Valid characters | Letters, numbers, hyphens, underscores, dots |
| Scope | Regional — unique within an event bus |
Recommended pattern: {source}-{event-type}-rule
Example: orders-created-rule
API Gateway APIs
| Constraint | Value |
| Max length | 128 |
| Valid characters | Letters, numbers, hyphens, underscores |
| Scope | Regional |
Recommended pattern: {project}-{version}-api[-{env}]
Example: myapp-v1-api-prod
Cognito User Pools
| Constraint | Value |
| Max length | 128 |
| Valid characters | Letters, numbers, spaces, hyphens, underscores |
| Scope | Regional |
Recommended pattern: {project}-{env}-users
Example: myapp-prod-users
Step Functions State Machines
| Constraint | Value |
| Max length | 80 |
| Valid characters | Letters, numbers, hyphens, underscores |
| Scope | Regional |
Recommended pattern: {project}-{workflow-purpose}-workflow
Example: myapp-order-processing-workflow
CloudWatch Log Groups
| Constraint | Value |
| Max length | 512 |
| Valid characters | Letters, numbers, _, -, /, ., # |
| Recommended separator | / for hierarchical grouping |
| Scope | Regional |
Recommended pattern: /{service}/{project}/{function-or-resource}
Example: /aws/lambda/myapp-process-orders-prod
General AWS Tagging Recommendations
Include these tags on all resources for governance and cost management:
{
"Environment": "dev | staging | prod",
"Project": "project-name",
"ManagedBy": "cloudformation | terraform | manual",
"Owner": "team-or-email",
"CostCenter": "cost-center-id",
"CreatedDate": "YYYY-MM-DD"
}Uniqueness Scope Summary
| Scope | Description | Examples |
| Global | Unique across all AWS accounts and regions | S3 buckets |
| Account | Unique within your AWS account (all regions) | IAM roles, policies |
| Regional | Unique within an account + region | Lambda, RDS, DynamoDB, ECS, EKS |
| VPC | Unique within a VPC | Security groups |
References
Does 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.

