Automated solution for extracting, researching, and documenting new AWS services and features announced at AWS re:Invent 2025.
This automation tool performs the complete workflow from blog scraping through presentation generation:
- Extract Announcements - Scrapes AWS re:Invent 2025 blog for new services/features
- Research Services - Gathers detailed information using AWS Documentation tools
- Capture Screenshots - Takes AWS Console screenshots for visual reference
- Generate Presentation - Creates comprehensive PowerPoint presentation
- Organize Data - Structures all information for easy engineer access
- ✅ Automated blog scraping and announcement extraction
- ✅ AWS documentation integration for detailed service information
- ✅ AWS Console screenshot capture with authentication
- ✅ Comprehensive service research including:
- Service overview and description
- Problems solved
- Benefits and advantages
- Cost information and pricing details
- Practical usage examples
- ✅ PowerPoint presentation generation
- ✅ Organized file structure for all artifacts
- ✅ Detailed logging and error handling
Trial-kiro-autonomous/
├── src/
│ ├── reinvent_research_automation.py # Main automation script
│ └── aws_documentation_integration.py # AWS docs/pricing integration
├── outputs/
│ ├── screenshots/ # Console screenshots
│ ├── presentations/ # Generated PPTX files
│ ├── data/ # JSON data and reports
│ └── automation.log # Execution logs
├── requirements.txt # Python dependencies
├── run_automation.py # CLI wrapper script
└── README.md # This file
- Python 3.8 or higher
- Chrome/Chromium browser (for screenshots)
- ChromeDriver (automatically managed by webdriver-manager)
- Clone the repository:
cd /projects/sandbox/Trial-kiro-autonomous- Install dependencies:
pip install -r requirements.txt- (Optional) Configure AWS credentials for console access:
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_SESSION_TOKEN="your-session-token" # If using temporary credentialsRun the automation with default settings:
python run_automation.py# Limit number of services researched
python run_automation.py --max-services 5
# Skip screenshot capture
python run_automation.py --skip-screenshots
# Use custom blog URL
python run_automation.py --blog-url "https://custom-blog-url.com"
# Specify custom output directory
python run_automation.py --output-dir /path/to/output
# Enable verbose logging
python run_automation.py --verboseYou can also run the main automation script directly:
python src/reinvent_research_automation.pyAfter successful execution, you'll find:
outputs/presentations/AWS_reInvent_2025_Services.pptx- Comprehensive PowerPoint presentation
- Includes service overviews, benefits, pricing, examples
- Contains console screenshots for visual reference
outputs/data/announcements.json- Raw extracted announcementsoutputs/data/research_results.json- Detailed research dataoutputs/data/summary_report.txt- Text summary report
outputs/screenshots/- All captured console screenshots- Named by service (e.g.,
amazon_bedrock_main.png) - Includes main console and pricing pages
- Named by service (e.g.,
outputs/automation.log- Detailed execution logs
The tool integrates with AWS Documentation MCP tools to gather information:
- Search Documentation: Find relevant AWS documentation pages
- Read Documentation: Extract detailed content from docs
- Get Recommendations: Discover related documentation topics
- Get Service Codes: Find AWS service codes for pricing lookup
- Get Pricing: Retrieve pricing information and cost details
- Get Pricing Attributes: Understand pricing dimensions
The tool can capture screenshots from AWS Console with authentication:
- Environment Variables: Set
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY - AWS Credentials File: Uses
~/.aws/credentials - Public Pages: Falls back to public AWS marketing pages
- Main service console view
- Pricing page
- Getting started page (when available)
# AWS Credentials (optional, for console access)
AWS_ACCESS_KEY_ID=<your-access-key>
AWS_SECRET_ACCESS_KEY=<your-secret-key>
AWS_SESSION_TOKEN=<your-session-token>
# Logging (optional)
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROREdit src/reinvent_research_automation.py in the BlogScraper class:
- Adjust HTML parsing patterns
- Change filtering criteria
- Modify announcement extraction logic
Edit src/aws_documentation_integration.py:
- Add new documentation sources
- Modify information extraction logic
- Enhance pricing analysis
Edit presentation generation in PresentationGenerator class:
- Modify slide layouts
- Change colors and fonts
- Add custom branding
Solution: The blog structure may have changed. The tool falls back to sample data for testing.
- Check
outputs/automation.logfor details - Verify the blog URL is accessible
- Update HTML parsing patterns if needed
Solution: Install Chrome and let webdriver-manager handle ChromeDriver:
# On Ubuntu/Debian
sudo apt-get install chromium-browser
# On macOS
brew install --cask google-chromeSolution:
- Verify AWS credentials are correct
- Check if MFA is required (may need manual intervention)
- Use public pages as fallback (screenshots still captured)
Solution:
- Verify service name mapping to service code
- Check if service has published pricing
- Review
outputs/automation.logfor details
# Test documentation integration
python src/aws_documentation_integration.py
# Test with verbose logging
python run_automation.py --verbose --max-services 1- Create feature branch
- Implement changes in appropriate module
- Test thoroughly
- Update documentation
- BlogScraper: Extracts announcements from re:Invent blog
- AWSDocumentationResearcher: Researches services using AWS docs
- AWSConsoleScreenshotter: Captures console screenshots
- PresentationGenerator: Creates PowerPoint presentations
- ReInventResearchAutomation: Orchestrates the entire workflow
Blog URL → BlogScraper → Announcements
↓
AWSDocumentationResearcher
↓
Research Data
↓
AWSConsoleScreenshotter
↓
Screenshots
↓
PresentationGenerator
↓
PPTX Presentation
The tool is designed to integrate with AWS MCP (Model Context Protocol) tools:
awslabs_-_aws-documentation-mcp-server_search_documentationawslabs_-_aws-documentation-mcp-server_read_documentationawslabs_-_aws-documentation-mcp-server_recommend
awslabs_-_aws-pricing-mcp-server_get_pricing_service_codesawslabs_-_aws-pricing-mcp-server_get_pricingawslabs_-_aws-pricing-mcp-server_get_pricing_service_attributes
The current implementation includes placeholder code that can be easily replaced with actual MCP tool calls.
- Rate Limiting: Built-in delays between requests (1-2 seconds)
- Caching: Documentation and pricing results are cached
- Parallel Processing: Can be enabled for faster execution
- Resource Limits: Configurable max services and screenshots
- Credentials: Never hardcode credentials in source code
- Secrets Management: Use AWS Secrets Manager or environment variables
- Screenshot Data: Console screenshots may contain sensitive information
- Logging: Credentials are never logged
This is an internal automation tool for AWS service research.
For issues or questions:
- Check
outputs/automation.logfor detailed error messages - Review the troubleshooting section above
- Verify all dependencies are installed correctly
Future enhancements:
- Parallel processing for faster execution
- Interactive web dashboard for results
- Integration with additional AWS tools
- Custom presentation templates
- Email notification on completion
- Scheduled execution support
- Multi-region pricing comparison
- Cost calculator integration
- Follow existing code structure and patterns
- Add comprehensive error handling
- Update documentation for new features
- Test with various service types
- Maintain backward compatibility
- Blog scraping and announcement extraction
- AWS documentation integration
- Console screenshot capture
- PowerPoint presentation generation
- Comprehensive service research
- Data organization and storage