Help us improve
Share bugs, ideas, or general feedback.
From golang-boost
Constructs an AWS SDK v2 aws.Config in a Go service via github.com/xgodev/boost/factory/contrib/aws/aws-sdk-go-v2/v1. Covers the umbrella SDK pattern: one shared config, per-service clients, with examples for Kinesis, S3, SNS, and SQS.
npx claudepluginhub xgodev/boost --plugin golang-boostHow this skill is triggered — by the user, by Claude, or both
Slash command
/golang-boost:boost-factory-awsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**REQUIRED BACKGROUND:** `boost-start`, `boost-wrapper-config`. For wrapper-side drivers targeting AWS services, see `boost-maintainer` (multi-service SDK rule: drivers go under `<area>/aws/<service>/v<major>/`, NOT under the SDK module dir).
Configures AWS SDK for Java 2.x clients with credential resolution, HTTP tuning, timeouts, retries, and Spring Boot wiring. Use for service client creation, auth/region debugging, sync/async choices.
Provides AWS SDK for Swift patterns: async client creation with struct configs, region/endpoint setup, retries, and custom credentials for S3, DynamoDB, STS. Use for aws-sdk-swift code.
Constructs portable pub/sub topics and subscriptions via gocloud.dev/pubsub, enabling provider swapping (GCP, Kafka, AWS SNS, in-memory) through URL config without code changes.
Share bugs, ideas, or general feedback.
REQUIRED BACKGROUND: boost-start, boost-wrapper-config. For wrapper-side drivers targeting AWS services, see boost-maintainer (multi-service SDK rule: drivers go under <area>/aws/<service>/v<major>/, NOT under the SDK module dir).
factory/contrib/aws/aws-sdk-go-v2/v1/examples/kinesis/factory/contrib/aws/aws-sdk-go-v2/v1/examples/s3/factory/contrib/aws/aws-sdk-go-v2/v1/examples/sns/factory/contrib/aws/aws-sdk-go-v2/v1/examples/sqs/Each service example shows the canonical shape: build aws.Config once via the factory, then construct per-service clients with <service>.NewFromConfig(cfg).
import awsfact "github.com/xgodev/boost/factory/contrib/aws/aws-sdk-go-v2/v1"
cfg, err := awsfact.NewConfig(ctx)
if err != nil { log.Fatalf("aws config: %v", err) }
snsClient := sns.NewFromConfig(cfg)
sqsClient := sqs.NewFromConfig(cfg)
Configure region, credentials provider, retry policy under boost.factory.aws.* (override BOOST_FACTORY_AWS_*). Standard AWS env vars (AWS_REGION, AWS_PROFILE) are honored too.
factory/contrib/aws/aws-sdk-go-v2/v1/client/<service>/ is where per-service convenience clients live. This grouping is exclusive to factory/contrib/ because factories ship clients that share an SDK version pin. For wrapper drivers, the layout is different — split per service: wrapper/publisher/driver/contrib/aws/sns/v1/, NOT wrapper/publisher/driver/contrib/aws/aws-sdk-go-v2/v1/sns/. See boost-maintainer.
| Red flag | Fix |
|---|---|
config.LoadDefaultConfig(ctx) from aws/config directly | awsfact.NewConfig(ctx) |
| One aws.Config per service client | Build once, share |
AWS credentials in code or os.Getenv reads | Use the credentials chain (env, IAM role, profile) — boost picks it up |
Wrapper driver placed under wrapper/.../aws/aws-sdk-go-v2/v1/sns/ | Should be wrapper/.../aws/sns/v1/ |