Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add localstack/skills --skill "localstack-extensions"
Install specific skill from multi-skill repository
# Description
Manage LocalStack Extensions. Use when users want to install, uninstall, list, or configure LocalStack extensions, or develop custom extensions to extend LocalStack functionality.
# SKILL.md
name: localstack-extensions
description: Manage LocalStack Extensions. Use when users want to install, uninstall, list, or configure LocalStack extensions, or develop custom extensions to extend LocalStack functionality.
LocalStack Extensions
Manage LocalStack Extensions to add custom functionality, integrate third-party tools, and extend LocalStack capabilities.
Capabilities
- Install and manage LocalStack Extensions
- Discover available extensions
- Configure extension settings
- Develop custom extensions
Extension Management
List Installed Extensions
localstack extensions list
Install Extensions
# Install from PyPI
localstack extensions install localstack-extension-name
# Install specific version
localstack extensions install localstack-extension-name==1.0.0
# Install from Git repository
localstack extensions install "git+https://github.com/org/extension-repo.git"
Uninstall Extensions
localstack extensions uninstall localstack-extension-name
Enable/Disable Extensions
# Extensions are enabled by default after installation
# Disable via environment variable
EXTENSION_NAME_ENABLED=0 localstack start -d
Available Extensions
Community Extensions
Check the LocalStack Extensions Registry for community-contributed extensions.
Using Extensions
MailHog Extension
# Install
localstack extensions install localstack-extension-mailhog
# Start LocalStack
localstack start -d
# Access MailHog UI
open http://localhost:8025
# SES emails will be captured by MailHog
awslocal ses send-email \
--from [email protected] \
--to [email protected] \
--subject "Test" \
--text "Hello"
Developing Custom Extensions
Extension Structure
my-extension/
βββ setup.py
βββ my_extension/
β βββ __init__.py
β βββ extension.py
Basic Extension
# extension.py
from localstack.extensions.api import Extension, http
class MyExtension(Extension):
name = "my-extension"
def on_extension_load(self):
print("Extension loaded!")
def on_platform_start(self):
print("LocalStack is starting!")
@http.route("/my-endpoint")
def my_endpoint(self, request):
return {"message": "Hello from extension!"}
Install Local Extension
# Install in development mode
localstack extensions install -e ./my-extension
Configuration
Extensions can be configured via environment variables:
# General pattern
EXTENSION_<NAME>_<SETTING>=value localstack start -d
# Example
EXTENSION_MAILHOG_PORT=8025 localstack start -d
Troubleshooting
- Extension not loading: Check
localstack logsfor errors - Conflicts: Disable conflicting extensions
- Version issues: Ensure extension is compatible with your LocalStack version
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.