sw-tech-stack-planner
Use when user wants a tech stack recommendation, technology choices, docker-compose setup, or architecture decisions for a software project – reads vision.md, user-stories.md, use-cases.md and generates requirements/tech-stack.yaml silently.
Best use case
sw-tech-stack-planner is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when user wants a tech stack recommendation, technology choices, docker-compose setup, or architecture decisions for a software project – reads vision.md, user-stories.md, use-cases.md and generates requirements/tech-stack.yaml silently.
Teams using sw-tech-stack-planner should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/sw-tech-stack-planner/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How sw-tech-stack-planner Compares
| Feature / Agent | sw-tech-stack-planner | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when user wants a tech stack recommendation, technology choices, docker-compose setup, or architecture decisions for a software project – reads vision.md, user-stories.md, use-cases.md and generates requirements/tech-stack.yaml silently.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# SW Tech Stack Planner ## Overview Reads all available requirements files and recommends the best modern, production-ready tech stack for the project. Outputs a clean YAML file at `requirements/tech-stack.yaml`. Operates silently – no file content shown in the chat. **Language detection:** Read the user's input language and respond in that language. Default to German if undetectable. --- ## Required Input – Check in Order Read all files that exist and combine the information: 1. `requirements/vision.md` – project type, complexity, target audience 2. `requirements/user-stories.md` – feature scope, integrations needed 3. `requirements/use-cases.md` – flows, actor interactions, edge cases If none exist and no input is given, stop and respond: > No requirements files found. > Run `/sw-idea-analyzer` first, or describe your project directly: > `/sw-tech-stack-planner <your description>` --- ## Stack Selection Rules ### Always Docker-First Every recommendation must include: - Full `docker-compose.yml` ready to run with `docker compose up` - All services (database, cache, backend, frontend) in containers - Named volumes for data persistence - Environment variables via `.env` file (never hardcoded) - Health checks on database services ### Database | Project type | Default choice | |-------------|----------------| | Relational data, complex queries | PostgreSQL | | Simple relational, small project | MySQL / MariaDB | | Cache, sessions, queues | Redis (always add if backend has async work) | | Document / flexible schema | MongoDB | | Multi-model / graph | Neo4j or ArangoDB | Always include **Testcontainers** when the language/framework supports it (Java, Kotlin, Go, .NET, Node.js). ### Frontend | Signal from requirements | Recommendation | |--------------------------|----------------| | Complex UI, dashboard, SPA | Next.js 15 (App Router) + TypeScript | | Static / content site | Astro or Next.js static export | | Mobile app | React Native + Expo | | Admin panel only | shadcn/ui + Next.js | | Simple form / landing page | Next.js or plain HTML | ### Backend | Signal from requirements | Recommendation | |--------------------------|----------------| | REST API, moderate complexity | NestJS (Node.js) or FastAPI (Python) | | High performance, concurrency | Go (Gin / Fiber) or Rust (Axum) | | Enterprise / Java shop | Spring Boot 3 | | Full-stack in one repo | Next.js API routes or tRPC | | Real-time / websockets | NestJS + Socket.io | | Data-heavy / ML pipeline | FastAPI + Celery | ### Auth | Requirement | Choice | |------------|--------| | SaaS, social login, managed | Clerk or Auth.js | | Self-hosted, full control | Keycloak (Docker) | | Simple JWT, own users | NestJS JWT + Passport or Spring Security | ### Testing Always recommend a layered testing strategy: - **Unit:** Jest / Vitest (TS), pytest (Python), JUnit 5 (Java) - **Integration:** Testcontainers (real DB in Docker per test run) - **E2E:** Playwright - **API:** Supertest (NestJS) or httpx (FastAPI) ### Deployment | Scale | Choice | |-------|--------| | Small / hobby | Coolify (self-hosted) or Railway | | Production / team | Docker Compose on VPS + Traefik reverse proxy | | Kubernetes scale | Helm chart on k3s or managed K8s | | Serverless preference | Vercel (frontend) + Supabase (backend) | --- ## Output Format Write `requirements/tech-stack.yaml` with these exact sections: ```yaml project: name: "" type: "" # web-app | api | mobile | cli | fullstack complexity: "" # simple | medium | complex frontend: framework: "" language: "" ui_library: "" state_management: "" notes: "" backend: framework: "" language: "" runtime: "" notes: "" database: primary: "" cache: "" orm: "" migrations: "" auth: solution: "" strategy: "" # jwt | session | oauth notes: "" testing: unit: "" integration: "" e2e: "" api: "" testcontainers: true | false deployment: strategy: "" reverse_proxy: "" ci_cd: "" registry: "" docker: compose_version: "3.9" services: [] # list all service names volumes: [] networks: [] rationale: frontend: "" # 1-2 sentences why this choice backend: "" database: "" auth: "" deployment: "" ``` --- ## Output Rules - **Never output the YAML or any file content in the chat.** - Do not show tech stack details, code blocks, or configuration in the chat response. - The only chat output allowed is the confirmation lines. - Use the user's language in the `rationale` field values. --- ## File Output **Steps:** 1. If `requirements/` does not exist: `mkdir -p requirements` 2. Analyze all available inputs and select the best stack 3. Write the complete YAML to `requirements/tech-stack.yaml` 4. Print **only** these lines to the chat: > ✅ File created: `requirements/tech-stack.yaml` > This is now the official tech stack for all following coding skills. One optional summary sentence max (e.g. "Recommended Next.js 15 + NestJS + PostgreSQL + Docker stack with Testcontainers."). No YAML, no code blocks, no full output. --- ## Next Skill > ▶ **Next steps:** > - Run `/sw-use-case-coder UC-001` to generate production-ready code for a specific use case > - Run `/sw-use-case-coder all MVP` to scaffold all MVP use cases at once
Related Skills
stacktape
Build and deploy full-stack apps to AWS. Use when user wants to deploy an app, build a SaaS, create an API, set up a database, or ship any web application to production.
stack
Load technology stack configurations with project templates, dependencies, and best practices. Supports dotnet, node, python, java, go.
stack-selection
Tech stack selection with decision trees, user preferences, and blueprint defaults. Use when choosing frameworks, libraries, or tools for new projects or features.
sojustack-best-practices
Best-practice guidance for the SojuStack monorepo (NestJS + Drizzle + Better Auth + TanStack Start). Use when editing files in apps/api or apps/web, designing routes, query/form patterns, auth/transaction flows, or implementing cross-stack features.
setup-tanstack-start
Bootstrap a new web project with TanStack Start, React, Tailwind CSS v4, and shadcn/ui on top of the base tooling stack. Consult this skill whenever creating a web app, setting up a frontend project, starting a React application, or initializing anything involving TanStack Start, TanStack Router, TanStack Query, Tailwind, shadcn, or Vite.
senior-fullstack
Fullstack development toolkit with project scaffolding for Next.js/FastAPI/MERN/Django stacks and code quality analysis. Use when scaffolding new projects, analyzing codebase quality, or implementing fullstack architecture patterns.
senior-fullstack-ai-engineer
Senior full-stack developer with 10+ years of experience and AI engineering expertise. Builds production-ready applications using modern frameworks (Flask, FastAPI, React), AI/ML technologies (LLMs, RAG, model deployment), and cloud infrastructure. Use for all development tasks requiring full-stack and AI/ML implementation.
rails-inertia-stack
Generate production-ready Rails applications with Inertia.js, React, TypeScript, Server-Side Rendering (SSR), and ShadcnUI components, configured for deployment with Kamal. Use when creating new Rails projects that need modern SPA-like frontend with SEO-friendly SSR, or when helping users set up Inertia.js with Rails. Supports PostgreSQL, MySQL, and SQLite databases.
preferences-react-tanstack-ui-development
React and TanStack UI development patterns including component design, routing, and state management. Load when working with React components or TanStack libraries.
prd-v06-technical-specification
Define implementation contracts (APIs and data models) that developers will build against during PRD v0.6 Architecture. Triggers on requests to define APIs, design database schema, create data models, or when user asks "define APIs", "data model", "database schema", "API contracts", "technical spec", "endpoint design", "schema design". Consumes ARC- (architecture), TECH- (Build items), UJ- (flows), SCR- (screens). Outputs API- entries for endpoints and DBT- entries for data models. Feeds v0.7 Build Execution.
prd-planner
Analyzes PRDs and creates beads task breakdown for multi-agent implementation
plaid-fintech
Expert patterns for Plaid API integration including Link token flows, transactions sync, identity verification, Auth for ACH, balance checks, webhook handling, and fintech compliance best practices...