architect/tech-stack-evaluation/SKILL.md
--- name: tech-stack-evaluation description: Use this skill whenever the architect subagent is asked to compare technologies, evaluate a tech stack, recommend a framework, choose between tools, or assess whether a technology fits a project. Triggers on: "which technology should we use", "compare X vs Y", "evaluate our stack", "what framework should we pick", "is X a good fit", "help us choose between", "tech stack recommendation". Always use this skill before making any technology recommendation
npx skillsauth add achreftlili/deep-dev-skills architect/tech-stack-evaluationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produce objective, criteria-driven technology comparisons that teams can trust and defend to stakeholders.
Before scoring anything, state:
A technology that scores well in one context can be the wrong choice in another.
Always evaluate every candidate against these 8 criteria:
| Criteria | Weight | Description | |----------|--------|-------------| | Performance | High | Throughput, latency, resource efficiency at target scale | | Developer Experience | High | Learning curve, tooling, debugging, documentation quality | | Ecosystem Maturity | High | Community size, library availability, long-term viability | | Operational Complexity | Medium | Deployment, monitoring, maintenance burden | | Scalability | Medium | Horizontal scaling, sharding, clustering capabilities | | Security | Medium | Known vulnerabilities, security model, compliance support | | Cost | Medium | Licensing, infrastructure cost, operational overhead | | Team Fit | High | Existing expertise, hiring market, training cost |
Add domain-specific criteria if needed (e.g., mobile: battery usage; database: ACID compliance).
| Criteria | Weight | [Option A] | [Option B] | [Option C] | |----------|--------|------------|------------|------------| | Performance | High | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | | Dev Experience | High | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | | Ecosystem | High | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | | Ops Complexity | Medium | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | | Scalability | Medium | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | | Security | Medium | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | | Cost | Medium | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | | Team Fit | High | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | | Overall | | Strong | Moderate | Weak |
For each technology:
[Option Name]
State clearly:
Recommended: [Option X] for this context because [2–3 specific reasons tied to the project constraints].
If it's genuinely close, say so and explain the deciding factor.
Do not recommend a technology without stating what would change the recommendation.
testing
Set up Vitest 2.x with TypeScript for unit and component testing using test/describe/it, vi.fn/vi.mock/vi.spyOn, component testing with Testing Library, coverage (v8/istanbul), workspace config, and snapshot testing.
testing
Set up pytest 8.x with Python for unit and integration testing using fixtures (scope, autouse, parametrize), async tests (pytest-asyncio), mocking (unittest.mock, pytest-mock), coverage (pytest-cov), conftest.py patterns, and markers.
testing
Set up Playwright 1.49+ with TypeScript for E2E testing using page object model, fixtures, test.describe/test blocks, assertions, selectors, network mocking, CI configuration, and trace viewer.
testing
Set up Jest 30+ with TypeScript for unit tests, integration tests, mocking (jest.fn, jest.mock, jest.spyOn), coverage configuration, custom matchers, snapshot testing, and setup/teardown patterns.