aws-development — скилл для Claude Code: правила AWS и serverless
Скилл задаёт агенту правила разработки на AWS: Lambda, CDK, SAM, DynamoDB, IAM и serverless-архитектура через Infrastructure as Code.
npx skills add Mindrally/skills --skill aws-development -a claude-codeЧто делает aws-development
Скилл подкладывает агенту набор соглашений по AWS, чтобы тот не выдумывал структуру проекта с нуля. Внутри — разделы по Lambda, CDK, DynamoDB, IAM, SAM, API Gateway, Step Functions, шифрованию, логированию и тестам. Для Lambda рекомендует TypeScript на ARM64, переменные окружения вместо захардкоженных значений и обработку ошибок с ретраями. Для CDK — библиотеку aws-cdk-lib, кастомные конструкты и разбиение на отдельные стеки по функциональным группам.
Структура проекта описана явно: constructs/, stacks/, functions/, tests/. Есть готовые примеры кода — типизированный обработчик API Gateway, конструкт на CDK, шаблон SAM с Globals и трассировкой, политика IAM с тремя действиями DynamoDB и мок DynamoDB-клиента в тестах. Скилл требует принципа наименьших привилегий для IAM и ролей вместо ключей доступа, а секреты советует держать в Secrets Manager или Parameter Store.
Отдельный список типовых ошибок: захардкоженные креды, неверные таймауты Lambda, слишком широкие политики IAM, отсутствие CloudWatch-алармов. Если ваш проект не на AWS, пользы от скилла не будет — он весь про этот стек. Для интеграционных тестов упомянуты localstack и SAM local, для валидации шаблонов — cfn-lint.
Какие задачи решает
- разложить CDK-проект по стекам и кастомным конструктам
- написать политику IAM с минимально нужными правами
- спроектировать таблицу DynamoDB под паттерны доступа
- настроить шаблон SAM с трассировкой и ARM64
- замокать вызовы AWS SDK в юнит-тестах
Примеры запросов агенту
- Напиши Lambda-обработчик на TypeScript с валидацией тела запроса и обработкой ошибок
- Разбей инфраструктуру на CDK-стеки: storage, compute, api
- Составь политику IAM для функции, которой нужны только GetItem, PutItem и Query к одной таблице
Как установить aws-development
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill aws-development -a claude-code2Вручную: положить файлы
~/.claude/skills/aws-development/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/aws-development/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill aws-development -a codex2Вручную: положить файлы
.agents/skills/aws-development/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill aws-development -a cursor2Вручную: положить файлы
.cursor/skills/aws-development/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills aws-development2Вручную: положить файлы
.github/skills/aws-development/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill aws-development -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path aws-developmentВручную: положить файлы
.devin/skills/aws-development/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill aws-development -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора168
Похожие
Рядом в теме «Облака: AWS, Azure, GCP»
Всё по теме «Облака: AWS, Azure, GCP» →Вопросы о aws-development
Как установить aws-development в Claude?
Выполните npx skills add Mindrally/skills --skill aws-development -a claude-code. Файл скилла окажется по пути ~/.claude/skills/aws-development/SKILL.md.
Что делает aws-development?
Задаёт агенту соглашения по разработке на AWS: Lambda, CDK, SAM, DynamoDB, IAM, API Gateway, Step Functions, шифрование и наблюдаемость. Агент опирается на них, когда пишет код и инфраструктуру.
Какие инструменты нужны для работы со скиллом?
Для тестов скилл упоминает localstack и SAM local, для проверки шаблонов — cfn-lint. В примерах кода используется aws-cdk-lib и aws-sdk-client-mock.
Исходный текст
SKILL.md · Apache-2.0
---
name: aws-development
description: AWS development best practices for Lambda, SAM, CDK, DynamoDB, IAM, and serverless architecture using Infrastructure as Code.
metadata:
maintainer: Mindrally
source: https://github.com/Mindrally/skills
---
# AWS Development Best Practices
## Overview
This skill provides comprehensive guidelines for developing applications on Amazon Web Services (AWS), focusing on serverless architecture, Infrastructure as Code, and security best practices.
## Core Principles
- Write clean, well-structured code with accurate AWS SDK examples
- Use Infrastructure as Code (Terraform, CDK, SAM) for all infrastructure
- Follow the principle of least privilege for all IAM policies
- Implement comprehensive logging, metrics, and tracing for observability
## AWS Lambda Guidelines
### Configuration Standards
- Use TypeScript implementation on ARM64 architecture for better performance and cost
- Set appropriate memory and timeout values based on workload requirements
- Use environment variables for configuration, never hardcode values
- Implement proper error handling and retry logic
### Lambda Best Practices
```typescript
// Use ES modules and typed handlers
import { APIGatewayProxyHandler } from 'aws-lambda';
export const handler: APIGatewayProxyHandler = async (event) => {
try {
// Validate input at function start
if (!event.body) {
return { statusCode: 400, body: JSON.stringify({ error: 'Missing body' }) };
}
// Business logic here
return { statusCode: 200, body: JSON.stringify({ success: true }) };
} catch (error) {
console.error('Lambda error:', error);
return { statusCode: 500, body: JSON.stringify({ error: 'Internal error' }) };
}
};
```
## AWS CDK Guidelines
### Implementation Standards
- Use `aws-cdk-lib` with explicit `aws_*` prefixes
- Implement custom constructs for reusable patterns
- Separate concerns into distinct CloudFormation stacks
- Organize resources by functional groups: storage, compute, authentication, API, access
### Project Structure
```
aws/
├── constructs/ # CDK custom constructs
├── stacks/ # CloudFormation stack definitions
├── functions/ # Lambda function implementations
└── tests/ # Infrastructure tests
```
### CDK Best Practices
```typescript
import * as cdk from 'aws-cdk-lib';
import * as lambda from 'aws-cdk-lib/aws_lambda';
import * as dynamodb from 'aws-cdk-lib/aws_dynamodb';
// Use custom constructs for reusable patterns
export class ApiConstruct extends Construct {
constructor(scope: Construct, id: string, props: ApiProps) {
super(scope, id);
// Implementation
}
}
```
## DynamoDB Patterns
### Table Design
- Design tables around access patterns, not entity relationships
- Use single-table design when appropriate
- Implement GSIs for additional access patterns
- Use on-demand capacity for variable workloads, provisioned for predictable
### Best Practices
- Always use strongly typed item definitions
- Implement optimistic locking with version attributes
- Use batch operations for multiple items
- Enable point-in-time recovery for production tables
## IAM Security Best Practices
### Principles
- Apply least privilege: grant only permissions needed
- Use IAM roles, not access keys, for AWS service access
- Implement resource-based policies where appropriate
- Regular audit and rotate credentials
### Policy Example
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:Query"
],
"Resource": "arn:aws:dynamodb:*:*:table/MyTable"
}
]
}
```
## SAM Template Configuration
### Template Structure
```yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Globals:
Function:
Timeout: 30
Runtime: nodejs20.x
Architectures:
- arm64
Tracing: Active
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: src/
Handler: index.handler
Events:
Api:
Type: Api
Properties:
Path: /items
Method: GET
```
## API Gateway Configuration
### Best Practices
- Use Cognito or IAM for authentication
- Implement request validation
- Enable CORS only when necessary
- Use usage plans and API keys for rate limiting
## Step Functions for Orchestration
- Use Step Functions for complex workflows
- Implement error handling with Catch and Retry
- Use Express workflows for high-volume, short-duration
- Use Standard workflows for long-running processes
## Security Standards
### Encryption
- Enable encryption at rest for all storage services
- Use AWS KMS for key management
- Enable encryption in transit (TLS)
- Use custom KMS keys for sensitive data
### Secrets Management
- Store secrets in AWS Secrets Manager or Parameter Store
- Never commit secrets to version control
- Rotate secrets automatically
- Use IAM roles to access secrets
## Observability
### Logging
- Use structured JSON logging
- Include correlation IDs across services
- Log at appropriate levels (INFO, WARN, ERROR)
- Enable CloudWatch Logs Insights for querying
### Monitoring
- Create CloudWatch alarms for critical metrics
- Use X-Ray for distributed tracing
- Implement custom metrics for business KPIs
- Set up dashboards for operational visibility
## Testing
### Unit Testing
- Mock AWS SDK calls in unit tests
- Use localstack or SAM local for integration testing
- Test IAM policies with policy simulator
- Validate CloudFormation/CDK with cfn-lint
### Integration Testing
```typescript
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
import { mockClient } from 'aws-sdk-client-mock';
const ddbMock = mockClient(DynamoDBClient);
beforeEach(() => {
ddbMock.reset();
});
test('handler returns items', async () => {
ddbMock.on(QueryCommand).resolves({ Items: [] });
const result = await handler(event);
expect(result.statusCode).toBe(200);
});
```
## CI/CD Integration
- Use AWS CodePipeline or GitHub Actions for CI/CD
- Run `cdk diff` or `sam validate` before deployment
- Implement staging environments (dev, staging, prod)
- Use parameter overrides for environment-specific config
## Common Pitfalls to Avoid
1. Hardcoding AWS credentials or secrets
2. Not setting appropriate Lambda timeouts
3. Ignoring cold start optimization
4. Over-provisioning resources
5. Not implementing proper error handling
6. Missing CloudWatch alarms
7. Inadequate IAM policies (too permissive)
8. Not using VPC when required for compliance
© Mindrally · Apache-2.0 · Mindrally/skills