> sst
Assists with building and deploying full-stack serverless applications on AWS using SST. Use when defining Lambda functions, API Gateway routes, DynamoDB tables, S3 buckets, or deploying Next.js/Remix/Astro with SSR on AWS. Trigger words: sst, serverless stack, sst dev, sst deploy, aws lambda, sst ion, resource linking.
curl "https://skillshub.wtf/TerminalSkills/skills/sst?format=md"SST
Overview
SST (Serverless Stack) is a framework for building and deploying full-stack applications on AWS with high-level constructs for Lambda, API Gateway, DynamoDB, S3, and frontend frameworks. It features live local development connected to real AWS services, type-safe resource linking, and zero-config TypeScript support.
Instructions
- When defining infrastructure, use
sst.config.tswith typed components likesst.aws.Function,sst.aws.Api,sst.aws.Bucket, andsst.aws.Dynamo. - When connecting resources, use the
linkproperty on Functions to automatically grant IAM permissions and inject environment variables, and access linked resources viaResource.Namein handlers. - When developing locally, use
sst devwhich runs Lambda locally with hot reload while connected to real AWS services (DynamoDB, S3, SQS), with support for VS Code breakpoint debugging. - When deploying, use
sst deploy --stage prodfor named stages,sst deploy --stage pr-${PR_NUMBER}for preview environments, andsst remove --stage devfor teardown. - When deploying frontends, use
sst.aws.Nextjs,sst.aws.Remix, orsst.aws.Astrocomponents for SSR on Lambda with static assets on S3 + CloudFront. - When managing secrets, use
sst secret set KEY valuefor encrypted, stage-specific secret storage. - When organizing code, keep handlers thin in
packages/functions/as orchestrators, and place business logic inpackages/core/.
Examples
Example 1: Build a serverless API with DynamoDB
User request: "Create a REST API on AWS with DynamoDB using SST"
Actions:
- Define DynamoDB table and API Gateway in
sst.config.ts - Link the table to API handler functions for automatic permissions
- Implement CRUD handlers accessing
Resource.MyTable.name - Run
sst devfor live local development against real AWS services
Output: A serverless REST API with type-safe resource access and live debugging.
Example 2: Deploy a Next.js app with preview environments
User request: "Deploy my Next.js app on AWS with per-PR preview environments"
Actions:
- Configure
sst.aws.Nextjscomponent with custom domain and linked resources - Set up CI to run
sst deploy --stage pr-${PR_NUMBER}for each pull request - Link backend resources (API, database) to the Next.js deployment
- Add cleanup step with
sst removewhen PR is closed
Output: A production Next.js deployment on AWS with isolated preview environments for each PR.
Guidelines
- Use
linkinstead of manual IAM policies; SST generates least-privilege permissions automatically. - Access linked resources via
Resource.Namein handlers; never hardcode table names or bucket ARNs. - Use
sst devfor daily development; it is faster than deploying to AWS on every change. - Create per-developer stages (
sst dev --stage alice) so each developer gets isolated AWS resources. - Keep handlers thin: business logic in
packages/core/, handlers inpackages/functions/. - Use
sst secretfor API keys and credentials; they are encrypted and stage-specific. - Set up
sst deploy --stage pr-${PR_NUMBER}in CI for preview environments on every pull request.
> related_skills --same-repo
> zustand
You are an expert in Zustand, the small, fast, and scalable state management library for React. You help developers manage global state without boilerplate using Zustand's hook-based stores, selectors for performance, middleware (persist, devtools, immer), computed values, and async actions — replacing Redux complexity with a simple, un-opinionated API in under 1KB.
> zod
You are an expert in Zod, the TypeScript-first schema declaration and validation library. You help developers define schemas that validate data at runtime AND infer TypeScript types at compile time — eliminating the need to write types and validators separately. Used for API input validation, form validation, environment variables, config files, and any data boundary.
> xero-accounting
Integrate with the Xero accounting API to sync invoices, expenses, bank transactions, and contacts — and generate financial reports like P&L and balance sheet. Use when: connecting apps to Xero, automating bookkeeping workflows, syncing accounting data, or pulling financial reports programmatically.
> windsurf-rules
Configure Windsurf AI coding assistant with .windsurfrules and workspace rules. Use when: customizing Windsurf for a project, setting AI coding standards, creating team-shared Windsurf configurations, or tuning Cascade AI behavior.