agentleFS
Microsoft AzureKnown publisherAzure/git-ape/.github/community-skills/aws-naming-research/SKILL.md

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.

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
  1. Distinctive:

    Use the recommended naming pattern from the table below and construct a compliant name for the user's deployment.

    line 23

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

ConstraintValue
Min length3
Max length63
Valid charactersLowercase letters (a-z), numbers (0-9), hyphens (-), dots (.)
Must start withLetter or number
Must end withLetter or number
No consecutive hyphensTrue
No IP formatCannot be formatted as IP address (e.g., 192.168.1.1)
ScopeGlobal — unique across all AWS accounts and regions
NotesDots allowed but not recommended (breaks SSL). Use hyphens instead.

Recommended pattern: {project}-{purpose}-{env}-{random-suffix} Example: myapp-uploads-prod-a7k3m


Lambda Functions

ConstraintValue
Min length1
Max length64
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_)
ScopeRegional — unique within an AWS account and region

Recommended pattern: {project}-{function-purpose}-{env} Example: myapp-process-orders-prod


IAM Roles

ConstraintValue
Min length1
Max length64
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), dots (.), at signs (@), equals (=), plus (+), comma (,)
ScopeAccount — unique within an AWS account (global to all regions)

Recommended pattern: {project}-{service}-{purpose}-role-{env} Example: myapp-lambda-processor-role-prod


IAM Policies

ConstraintValue
Min length1
Max length128
Valid charactersLetters, numbers, hyphens, underscores, dots, +, =, ,, @
ScopeAccount

Recommended pattern: {project}-{resource}-{permissions}-policy Example: myapp-dynamodb-read-policy


EC2 Instances (Name Tag)

ConstraintValue
Min length0
Max length256 (tag value limit)
Valid charactersAny UTF-8 characters
ScopeAccount + Region (tag Name is not unique)

Recommended pattern: {project}-{role}-{env}-{az-or-index} Example: myapp-web-prod-1


EC2 Security Groups

ConstraintValue
Max name length255 (group name)
Valid charactersLetters, numbers, spaces, and _.-:/()#,@[]+=&;{}!$*
ScopeVPC

Recommended pattern: {project}-{tier}-{protocol}-sg-{env} Example: myapp-web-https-sg-prod


RDS DB Instance Identifiers

ConstraintValue
Min length1
Max length63
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-)
Must start withLetter
Cannot end withHyphen
No consecutive hyphensTrue
ScopeRegional — unique within an AWS account and region

Recommended pattern: {project}-{db-purpose}-{env} Example: myapp-users-prod


DynamoDB Tables

ConstraintValue
Min length3
Max length255
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), dots (.)
ScopeRegional — unique within an AWS account and region

Recommended pattern: {Project}-{Entity}-{Env} (use PascalCase for DynamoDB) Example: MyApp-Orders-Prod


ECS Clusters

ConstraintValue
Max length255
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{env}-cluster Example: myapp-prod-cluster


ECS Task Definitions (Family Name)

ConstraintValue
Max length255
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional — revision number appended automatically

Recommended pattern: {project}-{service}-task Example: myapp-api-task


EKS Clusters

ConstraintValue
Min length1
Max length100
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-)
Must start withLetter
ScopeRegional

Recommended pattern: {project}-{env}-eks Example: myapp-prod-eks


Secrets Manager Secrets

ConstraintValue
Max length512
Valid charactersAny ASCII characters except /, \, @, #, or space as first character
Recommended separator/ for hierarchical naming
ScopeRegional

Recommended pattern: {env}/{project}/{purpose} Example: prod/myapp/database-credentials


CloudFormation Stacks

ConstraintValue
Min length1
Max length128
Valid charactersLetters (a-z, A-Z), numbers (0-9), hyphens (-)
Must start withLetter
ScopeRegional

Recommended pattern: {project}-{component}-{env} Example: myapp-api-prod


SNS Topics

ConstraintValue
Max length256
Valid charactersLetters, numbers, hyphens, underscores
FIFO suffixMust end in .fifo for FIFO topics
ScopeRegional

Recommended pattern: {project}-{event-type}-topic[-{env}] Example: myapp-order-events-topic


SQS Queues

ConstraintValue
Max length80
Valid charactersLetters, numbers, hyphens, underscores
FIFO suffixMust end in .fifo for FIFO queues
ScopeRegional

Recommended pattern: {project}-{purpose}-queue[-{env}] Example: myapp-order-processing-queue


EventBridge Rules

ConstraintValue
Max length64
Valid charactersLetters, numbers, hyphens, underscores, dots
ScopeRegional — unique within an event bus

Recommended pattern: {source}-{event-type}-rule Example: orders-created-rule


API Gateway APIs

ConstraintValue
Max length128
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{version}-api[-{env}] Example: myapp-v1-api-prod


Cognito User Pools

ConstraintValue
Max length128
Valid charactersLetters, numbers, spaces, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{env}-users Example: myapp-prod-users


Step Functions State Machines

ConstraintValue
Max length80
Valid charactersLetters, numbers, hyphens, underscores
ScopeRegional

Recommended pattern: {project}-{workflow-purpose}-workflow Example: myapp-order-processing-workflow


CloudWatch Log Groups

ConstraintValue
Max length512
Valid charactersLetters, numbers, _, -, /, ., #
Recommended separator/ for hierarchical grouping
ScopeRegional

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

ScopeDescriptionExamples
GlobalUnique across all AWS accounts and regionsS3 buckets
AccountUnique within your AWS account (all regions)IAM roles, policies
RegionalUnique within an account + regionLambda, RDS, DynamoDB, ECS, EKS
VPCUnique within a VPCSecurity groups

References

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.