NE

new-aws-service

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.zip

Installs 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 pattern
116 charsno explicit “when” trigger
Intermediate

Key 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

You give it
AWS service name
You get back
A new package at `pkg/aws/<servicename>/` with service, mock, unit, and integration test files

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

  1. Determine the service name from $ARGUMENTS or ask the user.

  2. Read the canonical example to understand the pattern:

    • pkg/aws/cloudformationservice/service.go — interface + implementation
    • pkg/aws/cloudformationservice/mock_client_test.go — mock of the AWS client interface
    • pkg/aws/cloudformationservice/service_test.go — unit tests using mocks
    • pkg/aws/cloudformationservice/service_integration_test.go — LocalStack integration tests
  3. Create pkg/aws/<servicename>/service.go:

    • Define an interface for the AWS SDK client methods you need (keeps the dependency mockable)
    • Define a <ServiceName>Service struct 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
  4. 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
  5. Create pkg/aws/<servicename>/service_test.go:

    • Use the mock client to test each method in isolation
    • Cover happy path and key error cases
  6. 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
  7. Wire it up in internal/dependencies/dependencies.go alongside existing clients.

  8. After scaffolding, run go test ./pkg/aws/<servicename>/... to confirm unit tests pass, and remind the user to run integration tests with -tags integration once 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.

SkillInstallsUpdatedSafetyDifficulty
new-aws-service (this skill)03moNo flagsIntermediate
go-lambda-error-handling04moNo flagsAdvanced
aws-serverless26moReviewIntermediate
sqs37moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry