Awesome-omni-skill stack-advisor
Interactive Q&A skill that guides users through tech stack selection for new projects. Use when user runs /speckit.plan without providing tech stack details, or when user is unsure what technologies to use. Asks 3-5 targeted questions about project type, scale, and requirements, then suggests an appropriate tech stack.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/stack-advisor" ~/.claude/skills/diegosouzapw-awesome-omni-skill-stack-advisor && rm -rf "$T"
skills/development/stack-advisor/SKILL.mdStack Advisor Skill
Guides users through tech stack selection via interactive Q&A for new projects where the tech stack hasn't been decided yet.
Note: For existing projects with established code, use
skill instead to auto-detect installed technologies.tech-stack-detection
When to Activate
This skill activates when:
- User runs
without providing tech stack details/speckit.plan - User explicitly asks for help choosing a tech stack
- User says they "don't know" what technologies to use
Q&A Flow (3-5 Questions)
Ask these questions in order. Each answer narrows down the recommendation.
Question 1: Project Type (Required)
What type of project are you building?
- Web Application - Interactive frontend with user interface
- API / Backend - Server-side services, REST/GraphQL APIs
- CLI Tool - Command-line application
- Library / Package - Reusable code for other projects
- Full Stack - Both frontend and backend together
- Mobile App - iOS, Android, or cross-platform
Question 2: Project Scale (Required)
What's the expected scale of this project?
- Prototype / Small - Quick proof of concept, personal project, learning
- Medium - Production app, small team, moderate complexity
- Large / Enterprise - Multiple teams, complex requirements, long-term maintenance
Question 3: Key Requirements (Required)
What are the key technical requirements? (Select all that apply)
- Real-time updates - WebSockets, live data, collaboration
- SEO / SSR - Search engine optimization, server-side rendering
- Offline-first - PWA, works without internet
- High performance - Sub-second loads, large data sets
- Simple / Minimal - Least dependencies, vanilla approach
- Mobile-responsive - Must work well on all devices
- None specific - Standard requirements
Question 4: Team Preference (Optional)
What's your team's technology preference?
- Beginner-friendly - Well-documented, large community, stable
- Modern standards - Current best practices, good balance
- Cutting-edge - Latest technologies, willing to accept some risk
Question 5: Constraints (Optional)
Any specific constraints or requirements?
Examples:
- "Must use Python for ML integration"
- "Company standard is .NET"
- "Avoid frameworks, keep it vanilla"
- "No constraints"
Tech Stack Decision Matrix
Web Applications
| Scale + Requirements | Recommended Stack |
|---|---|
| Prototype + Simple | Vanilla HTML/CSS/JS, or Vite + vanilla |
| Prototype + Modern | Vite + React + TailwindCSS |
| Medium + SEO | Next.js + React + TailwindCSS |
| Medium + Real-time | Vite + React + Socket.io + TailwindCSS |
| Medium + Simple | Astro (static) or SvelteKit |
| Large + Enterprise | Next.js + TypeScript + TailwindCSS + Prisma |
| Large + Performance | Remix or SolidStart |
API / Backend
| Scale + Requirements | Recommended Stack |
|---|---|
| Prototype | Express.js or FastAPI (Python) |
| Medium + Node.js | Express + TypeScript + Prisma |
| Medium + Python | FastAPI + SQLAlchemy + Pydantic |
| Large + Enterprise | NestJS (Node) or Django (Python) |
| High Performance | Go + Gin, or Rust + Axum |
Full Stack
| Scale + Requirements | Recommended Stack |
|---|---|
| Prototype | Next.js (full stack) or SvelteKit |
| Medium | Next.js + Prisma + PostgreSQL |
| Medium + Real-time | T3 Stack (Next.js + tRPC + Prisma) |
| Large | Separate frontend/backend with shared types |
CLI Tools
| Language Preference | Recommended |
|---|---|
| JavaScript/TypeScript | Commander.js + TypeScript |
| Python | Click or Typer |
| Go | Cobra |
| Rust | Clap |
Libraries
| Ecosystem | Recommended Setup |
|---|---|
| npm (JS/TS) | TypeScript + tsup + Vitest |
| PyPI (Python) | Poetry + pytest |
| Crates (Rust) | Cargo (built-in) |
Standard Additions (Always Recommend)
| Category | Recommendation |
|---|---|
| Testing | Playwright (E2E), Vitest/Jest (unit) |
| Linting | ESLint + Prettier (JS/TS), Ruff (Python) |
| Type Safety | TypeScript (JS), Pydantic (Python) |
| Styling | TailwindCSS (unless vanilla requested) |
| Version Control | Git + Conventional Commits |
Output Format
After Q&A, present the recommendation:
## Recommended Tech Stack Based on your answers: - **Project Type**: Web Application - **Scale**: Medium - **Requirements**: SEO, Mobile-responsive - **Preference**: Modern standards ### Suggested Stack | Category | Technology | Why | |----------|------------|-----| | Framework | Next.js 14 | SSR for SEO, React ecosystem | | Language | TypeScript | Type safety, better DX | | Styling | TailwindCSS | Rapid development, responsive utilities | | Testing | Playwright | E2E testing, cross-browser | | Database | PostgreSQL + Prisma | Type-safe ORM, scalable | ### Project Structure
src/ ├── app/ # Next.js App Router ├── components/ # React components ├── lib/ # Utility functions └── styles/ # Global styles
**Proceed with this stack?** (Y/n/modify)
Confirmation Flow
- If user confirms → Proceed to plan generation with this stack
- If user wants modifications → Ask what to change, update recommendation
- If user says no → Ask what they'd prefer instead
Integration with /speckit.plan
When stack is confirmed, pass it to plan generation:
User confirmed stack: - Framework: Next.js 14 - Language: TypeScript - Styling: TailwindCSS - Testing: Playwright Proceeding with plan generation...
The plan template will use these values in the Tech Stack section.