
stack-advisor
by chaitanyame
SKILL.md
name: stack-advisor description: 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.
Stack 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
tech-stack-detectionskill instead to auto-detect installed technologies.
When to Activate
This skill activates when:
- User runs
/speckit.planwithout providing tech stack details - 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.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon