Skip to content

aws-samples/sample-spec-driven-presentation-maker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

191 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ“ ζ—₯本θͺžη‰ˆ README はこけら

Spec-Driven Presentation Maker

License: MIT-0

An open-source toolkit for creating presentations using a spec-driven approach. Design "what to communicate" first, then let AI build "how to present it."


What is Spec-Driven Presentation?

Traditional slide creation follows a "open a blank slide and figure it out as you go" approach. Without a clear structure, time is spent tweaking visuals while the core message gets diluted.

Spec-driven presentation applies the concept of Spec-Driven Development from software engineering to presentation creation.

Traditional Spec-Driven
Starting point Blank slide Source materials and requirements
Design Think while building Define logical structure as a spec first
Build Manual layout AI builds automatically following the template
Quality Ad hoc Reviewable process based on the spec

Workflow

workflow


Quick Start

Choose your environment and follow the setup guide:

Environment Setup
Agent skill (Claude Code, Codex CLI, Cursor, Kiro, Copilot) Getting Started β€” Layer 1
Local MCP client (Claude Desktop, Claude Cowork) Getting Started β€” Layer 2
Remote MCP / Web UI (AWS deployment) Recommended Deploy Guide

AWS deployment runs from CloudShell or any local shell β€” no CDK/Docker install required.


Architecture

Built on a 4-layer architecture. Each layer is a thin wrapper around the previous one. Use only the layers you need.

Use Case Layer AWS
Personal use with Kiro CLI Layer 1: skill/ Not required
Local MCP (Claude Desktop, VS Code, Kiro) Layer 2: skill/ + mcp-local/ Not required
Team deployment Layer 3: + mcp-server/ + infra/ Required
Full stack Layer 4: + agent/ + api/ + web-ui/ Required

See Architecture for details.


Documentation

Document Description
Architecture 4-layer design, data flow, auth model, MCP tool reference
Getting Started Setup and deployment for Layer 1–4
Recommended Deploy Recommended path for AWS deployments (CloudShell or any local Linux/macOS/WSL, no CDK/Docker required)
Connecting Agents MCP client connection guide
Teams & Slack Integration Chat platform integration
Custom Templates & Assets Adding custom templates and icons
Cost Estimates Monthly cost breakdown and optimisation tips
Uninstall Clean up deployed AWS resources
Web UI (Local Mode β€” experimental) Run the Web UI locally against a Kiro CLI ACP backend (no AWS)

Directory Structure

spec-driven-presentation-maker/
β”œβ”€β”€ skill/            Layer 1 β€” Engine, references, templates
β”œβ”€β”€ mcp-local/        Layer 2 β€” Local stdio MCP server
β”œβ”€β”€ mcp-server/       Layer 3 β€” Streamable HTTP MCP server (LibreOffice built-in)
β”œβ”€β”€ infra/            Layer 3-4 β€” CDK stacks
β”œβ”€β”€ agent/            Layer 4 β€” Strands Agent
β”œβ”€β”€ api/              Layer 4 β€” Unified REST API Lambda
β”œβ”€β”€ web-ui/           Layer 4 β€” React Web UI
β”œβ”€β”€ shared/           Shared modules (authorization, schema)
β”œβ”€β”€ scripts/          Deployment and operations helpers
β”œβ”€β”€ tests/            Unit tests
└── docs/             Documentation

Testing

make all    # Lint + unit tests
make test   # Unit tests only
make lint   # ruff lint only

Contributing

Contributions are welcome.

See CONTRIBUTING.md for details.

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct.

Security

This is sample code for demonstration and educational purposes only, not for production use. You should work with your security and legal teams to meet your organizational security, regulatory and compliance requirements before deployment.

Security Measures Implemented

  • S3 Buckets: Public access blocked, server-side encryption (SSE-S3), versioning enabled
  • DynamoDB: Encryption at rest enabled, point-in-time recovery enabled
  • Data in transit: All traffic encrypted via TLS
  • IAM: Least-privilege roles scoped per service; no wildcard resource permissions
  • API Gateway: Cognito JWT authorizer on all endpoints
  • CloudFront: Origin Access Identity (OAI), HTTPS-only, security headers
  • Secrets: No hardcoded credentials; all secrets via environment variables or IAM roles
  • AI/GenAI: Model outputs labeled as AI-generated; dataset compliance documented
  • Logging: CloudWatch Logs with configurable retention; Bedrock invocation logging optional

Environment-Dependent Settings (Not Applied by Default)

The following controls depend on your organization's environment, network topology, or security policy β€” they cannot be safely defaulted in a sample stack. Evaluate each before production use.

  1. AWS CloudTrail β€” account-level setting; enable separately to avoid disrupting existing CloudTrail configurations
  2. VPC endpoints for S3 and DynamoDB β€” only relevant if you deploy inside a VPC (this stack does not)
  3. AWS WAF IP restrictions β€” built-in support, but IP ranges are environment-specific: set waf.allowedIpV4AddressRanges / waf.allowedIpV6AddressRanges in config.yaml, or pass --waf-ipv4 / --waf-ipv6 to deploy.sh
  4. CORS tightening β€” depends on your domain
  5. S3 access logging β€” log destination bucket and retention are your choice
  6. Cognito advanced security (MFA, compromised-credentials detection) β€” omitted by default to keep the demo frictionless
  7. Bedrock model / region selection β€” avoid cross-region inference profiles if data sovereignty is a concern

Reporting Security Issues

Found a potential vulnerability? Please do not file a public GitHub issue β€” follow the process in CONTRIBUTING.md.

License

This project is licensed under the MIT-0 License.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors