Automate the creation of AWS service wrappers, interfaces, and testing logic.
Install
mkdir -p .claude/skills/new-aws-service && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16486" && unzip -o skill.zip -d .claude/skills/new-aws-service && rm skill.zipInstalls to .claude/skills/new-aws-service
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Scaffold a new AWS service wrapper in pkg/aws/<servicename>/ following the established cloudformationservice patternKey capabilities
- →Determine the service name for the new wrapper
- →Read the canonical example for the established pattern
- →Create service.go with interface and implementation
- →Create mock_client_test.go for the AWS client interface
- →Create service_test.go for unit tests using mocks
- →Create service_integration_test.go for LocalStack integration tests
How it works
The skill scaffolds a new AWS service wrapper by creating specific Go files for the service interface, implementation, mock client, unit tests, and integration tests, following a predefined pattern.
Inputs & outputs
When to use new-aws-service
- →Create new AWS service wrapper
- →Scaffold AWS SDK service
- →Setup service unit tests
About this skill
When the user asks to add a new AWS service wrapper (or invokes /new-aws-service <servicename>), create the full package at pkg/aws/<servicename>/ following the pkg/aws/cloudformationservice/ pattern.
Steps
-
Determine the service name from
$ARGUMENTSor ask the user. -
Read the canonical example to understand the pattern:
pkg/aws/cloudformationservice/service.go— interface + implementationpkg/aws/cloudformationservice/mock_client_test.go— mock of the AWS client interfacepkg/aws/cloudformationservice/service_test.go— unit tests using mockspkg/aws/cloudformationservice/service_integration_test.go— LocalStack integration tests
-
Create
pkg/aws/<servicename>/service.go:- Define an interface for the AWS SDK client methods you need (keeps the dependency mockable)
- Define a
<ServiceName>Servicestruct that wraps the client - Implement the public methods the rest of the app will call
- Return structured errors using
fmt.Errorf("context: %w", err)wrapping
-
Create
pkg/aws/<servicename>/mock_client_test.go:- Hand-write a mock struct that implements the client interface
- Include configurable return values for each method
-
Create
pkg/aws/<servicename>/service_test.go:- Use the mock client to test each method in isolation
- Cover happy path and key error cases
-
Create
pkg/aws/<servicename>/service_integration_test.go:- Gate with
//go:build integration - Use
testhelpers.StartLocalStack()to spin up a container - Test the critical end-to-end path against real LocalStack
- Gate with
-
Wire it up in
internal/dependencies/dependencies.goalongside existing clients. -
After scaffolding, run
go test ./pkg/aws/<servicename>/...to confirm unit tests pass, and remind the user to run integration tests with-tags integrationonce Docker is available.
When not to use it
- →When the user does not want to add a new AWS service wrapper
- →When the user does not want to follow the cloudformationservice pattern
- →When the user wants to manually create the package structure
Limitations
- →Requires a service name to be determined
- →Relies on the `cloudformationservice` pattern
- →Integration tests require Docker to be available
How it compares
This skill automates the creation of a complete AWS service wrapper package with tests, ensuring adherence to an established pattern, which is faster and more consistent than manual setup.
Compared to similar skills
new-aws-service side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| new-aws-service (this skill) | 0 | 3mo | No flags | Intermediate |
| go-lambda-error-handling | 0 | 4mo | No flags | Advanced |
| aws-serverless | 2 | 6mo | Review | Intermediate |
| sqs | 3 | 7mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
go-lambda-error-handling
primolabs-org
A skill for handling errors in Go microservices on AWS Lambda.
aws-serverless
davila7
Specialized skill for building production-ready serverless applications on AWS. Covers Lambda functions, API Gateway, DynamoDB, SQS/SNS event-driven patterns, SAM/CDK deployment, and cold start optimization.
sqs
itsmostafa
AWS SQS message queue service for decoupled architectures. Use when creating queues, configuring dead-letter queues, managing visibility timeouts, implementing FIFO ordering, or integrating with Lambda.
step-functions
itsmostafa
AWS Step Functions workflow orchestration with state machines. Use when designing workflows, implementing error handling, configuring parallel execution, integrating with AWS services, or debugging executions.
cognito
itsmostafa
AWS Cognito user authentication and authorization service. Use when setting up user pools, configuring identity pools, implementing OAuth flows, managing user attributes, or integrating with social identity providers.
architecture-patterns
wshobson
Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use when architecting complex backend systems or refactoring existing applications for better maintainability.