# AWS Documentation Search Tool
This is your primary source for AWS information—always prefer this over general knowledge for AWS services, features, configurations, troubleshooting, and best practices.
## When to Use This Tool
**Always search when the query involves:**
- Any AWS service or feature (Lambda, S3, EC2, RDS, etc.)
- AWS architecture, patterns, or best practices
- AWS CLI, SDK, or API usage
- AWS CDK or CloudFormation
- AWS Amplify development
- AWS errors or troubleshooting
- AWS pricing, limits, or quotas
- Strands Agents development
- "How do I..." questions about AWS
- Recent AWS updates or announcements
**Only skip this tool when:**
- Query is about non-AWS technologies
- Question is purely conceptual (e.g., "What is a database?")
- General programming questions unrelated to AWS
## Skill Suggestions for Actionable Queries
When your search query matches tasks that benefit from domain-specific expertise, this tool will suggest relevant **Agent Skills**. Skills package domain knowledge, workflows, best practices, decision frameworks, and reference materials that make you a specialist in a particular AWS domain.
**How it works:**
- Your search query is scored against the skills registry using semantic search over skill descriptions and metadata tags
- If your query matches a skill's domain, relevant skills are returned alongside documentation results
- Skills cover a wide range of domains: deployment, troubleshooting, security, optimization, architecture, and more
- To load a suggested skill, use the `retrieve_skill` tool with the `skill_name`
- Once loaded, follow the skill's workflows and retrieve any referenced files as needed
**Example queries that may return skills:**
- "deploy a web application to AWS" — may return a deployment skill with architecture guidance and step-by-step deployment instructions
- "debug Lambda cold start issues" — may return a troubleshooting skill with diagnostic workflows
- "secure S3 buckets" — may return a security skill with best practices and compliance checklists
- "optimize API Gateway latency" — may return a performance skill with decision frameworks
- "set up VPC peering" — may return a networking skill with step-by-step procedures
## Quick Topic Selection
| Query Type | Use Topic | Example |
|------------|-----------|---------|
| API/SDK/CLI code | `reference_documentation` | "S3 PutObject boto3", "Lambda invoke API" |
| New features, releases | `current_awareness` | "Lambda new features 2024", "what's new in ECS" |
| Errors, debugging | `troubleshooting` | "AccessDenied S3", "Lambda timeout error" |
| Amplify apps | `amplify_docs` | "Amplify Auth React", "Amplify Storage Flutter" |
| CDK concepts, APIs, CLI | `cdk_docs` | "CDK stack props Python", "cdk deploy command" |
| CDK code samples, patterns | `cdk_constructs` | "serverless API CDK", "Lambda function example TypeScript" |
| CloudFormation templates | `cloudformation` | "DynamoDB CloudFormation", "StackSets template" |
| Architecture, blogs, guides | `general` | "Lambda best practices", "S3 architecture patterns" |
| Strands Agents | `strands_docs` | "Strands Agents Python structured output", "Strands Agents AWS CDK EC2 Deployment Example" |
| Domain expertise, workflows, guided procedures | `agent_skills` | "deploy serverless app", "debug Lambda cold starts", "secure IAM policies" |
## Documentation Topics
### reference_documentation
**For: API methods, SDK code, CLI commands, technical specifications**
Use for:
- SDK method signatures: "boto3 S3 upload_file parameters"
- CLI commands: "aws ec2 describe-instances syntax"
- API references: "Lambda InvokeFunction API"
- Service configuration: "RDS parameter groups"
Don't confuse with general—use this for specific technical implementation.
### current_awareness
**For: New features, announcements, "what's new", release dates**
Use for:
- "New Lambda features"
- "When was EventBridge Scheduler released"
- "Latest S3 updates"
- "Is feature X available yet"
Keywords: new, recent, latest, announced, released, launch, available
### troubleshooting
**For: Error messages, debugging, problems, "not working"**
Use for:
- Error codes: "InvalidParameterValue", "AccessDenied"
- Problems: "Lambda function timing out"
- Debug scenarios: "S3 bucket policy not working"
- "How to fix..." queries
Keywords: error, failed, issue, problem, not working, how to fix, how to resolve
### amplify_docs
**For: Frontend/mobile apps with Amplify framework**
Always include framework: React, Next.js, Angular, Vue, JavaScript, React Native, Flutter, Android, Swift
Examples:
- "Amplify authentication React"
- "Amplify GraphQL API Next.js"
- "Amplify Storage Flutter setup"
### cdk_docs
**For: CDK concepts, API references, CLI commands, getting started**
Use for CDK questions like:
- "How to get started with CDK"
- "CDK stack construct TypeScript"
- "cdk deploy command options"
- "CDK best practices Python"
- "What are CDK constructs"
Include language: Python, TypeScript, Java, C#, Go
**Common mistake**: Using general knowledge instead of searching for CDK concepts and guides. Always search for CDK questions!
### cdk_constructs
**For: CDK code examples, patterns, L3 constructs, sample implementations**
Use for:
- Working code: "Lambda function CDK Python example"
- Patterns: "API Gateway Lambda CDK pattern"
- Sample apps: "Serverless application CDK TypeScript"
- L3 constructs: "ECS service construct"
Include language: Python, TypeScript, Java, C#, Go
### cloudformation
**For: CloudFormation templates, concepts, SAM patterns**
Use for:
- "CloudFormation StackSets"
- "DynamoDB table template"
- "SAM API Gateway Lambda"
- "CloudFormation template examples"
### strands_docs
**For: Strands Agents API reference, integrations, model providers, session managers, tools, examples, user-guide**
Use for:
- "Strands Agents Python SDK example"
- "Strands Agents AWS integration"
- "Strands Agents community contributions"
- "Strands Agents usage examples"
- "Strands Agents usage guide"
### general
**For: Architecture, best practices, tutorials, blog posts, design patterns**
Use for:
- Architecture patterns: "Serverless architecture AWS"
- Best practices: "S3 security best practices"
- Design guidance: "Multi-region architecture"
- Getting started: "Building data lakes on AWS"
- Tutorials and blog posts
**Common mistake**: Not using this for AWS conceptual and architectural questions. Always search for AWS best practices and patterns!
**Don't use general knowledge for AWS topics—search instead!**
### agent_skills
**For: Discovering agent skills — domain-specific expertise packages for AWS workflows**
Use for:
- Complex tasks that benefit from guided workflows: "deploy a serverless application"
- Troubleshooting scenarios: "debug Lambda cold starts", "resolve ECS task failures"
- Security and compliance: "secure S3 buckets", "review IAM policies for least privilege"
- Architecture and optimization: "optimize API Gateway latency", "design multi-region architecture"
- When you need domain expertise beyond what documentation provides
Skills go beyond documentation — they provide workflows, decision frameworks, best practices, and may include embedded procedures for critical sub-tasks.
**Important**: This topic is meant for discovery. Once you identify the skill you need, use `retrieve_skill` tool with the `skill_name` to load the full skill and its reference materials.
**Note**: If combined with other topics, skills will be mixed into the documentation results. Use `agent_skills` alone for a clean skill-only listing.
## Search Best Practices
**Be specific with service names:**
Good examples:
```
"S3 bucket versioning configuration"
"Lambda environment variables Python SDK"
"DynamoDB GSI query patterns"
```
Bad examples:
```
"versioning" (too vague)
"environment variables" (missing context)
```
**Include framework/language:**
```
"Amplify authentication React"
"CDK Lambda function TypeScript"
"boto3 S3 client Python"
```
**Use exact error messages:**
```
"AccessDenied error S3 GetObject"
"InvalidParameterValue Lambda environment"
```
**Add temporal context for new features:**
```
"Lambda new features 2024"
"recent S3 announcements"
```
## Multiple Topic Selection
You can search multiple topics simultaneously for comprehensive results:
```
# For a query about Lambda errors and new features:
topics=["troubleshooting", "current_awareness"]
# For CDK examples and API reference:
topics=["cdk_constructs", "cdk_docs"]
# For Amplify and general AWS architecture:
topics=["amplify_docs", "general"]
# For actionable tasks:
topics=["agent_skills"]
```
## Response Format
Results include:
- `rank_order`: Relevance score (lower = more relevant)
- `url`: Direct documentation link
- `title`: Page title
- `context`: Excerpt or summary
## Parameters
```
search_phrase: str # Required - your search query
topics: List[str] # Optional - up to 3 topics. Defaults to ["general"]
limit: int = 5 # Optional - max results per topic
```
---
**Remember: When in doubt about AWS, always search. This tool provides the most current, accurate AWS information.**