skills/coding/tech-stack-detection/SKILL.md
Systematically scans project config files to identify tech stack composition, version info, and engineering tooling. Should be used when the user needs to understand what technologies a project uses — onboarding, evaluating upgrade feasibility, or troubleshooting build issues. Distinguished from explore which investigates project structure and problems, this skill focuses on identifying technology stacks.
npx skillsauth add ImaginerLabs/skill-manager tech-stack-detectionInstall 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.
Given a project path, systematically scan config files in a predefined order, identify tech stack composition, and output a clear tech stack report.
Read files in this priority order. Skip files that don't exist.
| Order | File | Extract |
| ----- | ---------------------------------------------------- | ------------------------------------- |
| 1 | package.json | Framework, core dependencies, scripts |
| 2 | package-lock.json / yarn.lock / pnpm-lock.yaml | Package manager type |
| Order | File | Extract |
| ----- | ----------------------------------------- | -------------------------- |
| 3 | vite.config.ts / vite.config.js | Vite plugins, alias, proxy |
| 4 | webpack.config.js / webpack.config.ts | Webpack loader, plugin |
| 5 | next.config.js / next.config.ts | Next.js SSR/SSG mode |
| 6 | craco.config.js / react-scripts | CRA project identifier |
| 7 | rollup.config.js | Rollup config |
| Order | File | Extract |
| ----- | -------------------------------------- | ---------------------------------------- |
| 8 | tsconfig.json / tsconfig.base.json | TypeScript, compile target, path aliases |
| 9 | babel.config.js / .babelrc | Babel presets, plugins |
| Order | File | Extract |
| ----- | ------------------------------------ | ---------------------- |
| 10 | .eslintrc* / eslint.config.js | ESLint rule set |
| 11 | .prettierrc / prettier.config.js | Code formatting config |
| 12 | stylelint.config.js | CSS lint rules |
| Order | File | Extract |
| ----- | ---------------------- | -------------------- |
| 13 | .husky/ directory | Git Hooks config |
| 14 | commitlint.config.js | Commit message rules |
| Order | File | Extract |
| ----- | ----------------------------------- | ------------------------------------ |
| 15 | .env* files | Environment variables, API addresses |
| 16 | Dockerfile / docker-compose.yml | Containerized deployment |
| 17 | nginx.conf | Deployment server config |
| Key package | Conclusion |
| --------------- | ------------------------------------------- |
| react | React project |
| vue | Vue project (check version for Vue2 / Vue3) |
| next | Next.js (React SSR/SSG) |
| nuxt | Nuxt.js (Vue SSR/SSG) |
| @angular/core | Angular project |
| @tarojs/taro | Taro mini-program project |
| remix | Remix (React full-stack) |
| Key package/file | Conclusion |
| ----------------------- | ------------------------ |
| vite in devDeps | Vite |
| webpack in devDeps | Webpack |
| react-scripts in deps | CRA |
| @vue/cli-service | Vue CLI |
| turbo | Turborepo (Monorepo) |
| rsbuild | Rspack (Rust build tool) |
| Key package | Conclusion |
| ---------------------------- | ----------------------- |
| redux / @reduxjs/toolkit | Redux |
| zustand | Zustand |
| mobx | MobX |
| pinia | Pinia (Vue) |
| jotai / recoil | Atomic state management |
| Key package | Conclusion |
| ----------------------------------------- | -------------------- |
| tailwindcss | Tailwind CSS |
| styled-components / @emotion/react | CSS-in-JS |
| sass / less | Preprocessor |
| @mui/material / antd / @arco-design | UI component library |
| Key package | Conclusion |
| ------------------------ | ---------------------- |
| jest / vitest | Unit testing framework |
| @testing-library/react | React testing utility |
| cypress / playwright | E2E testing framework |
## Tech Stack Detection Report: `[project name/path]`
### Overview
- **Project type**: Web app / Mini-program / SSR app / Monorepo
- **Main framework**: [framework name] [version]
- **Build tool**: [tool name] [version]
- **Language**: TypeScript / JavaScript
### Core Tech Stack
| Category | Choice | Version | Notes |
| ----------------- | -------------------------- | ------- | ------ |
| Framework | React / Vue / ... | x.x.x | |
| Build tool | Vite / Webpack / ... | x.x.x | |
| Language | TypeScript / JavaScript | x.x | |
| Package manager | pnpm / yarn / npm | x.x.x | |
| State management | Zustand / Redux / ... | x.x.x | If any |
| CSS solution | Tailwind / CSS-in-JS / ... | — | |
| UI library | Ant Design / MUI / ... | x.x.x | If any |
| Testing framework | Jest / Vitest / ... | x.x.x | If any |
### Engineering Config
| Tool | Status | Notes |
| ---------- | --------------------------------- | ------------------ |
| ESLint | ✅ Configured / ❌ Not configured | Using xxx rule set |
| Prettier | ✅ Configured / ❌ Not configured | — |
| Husky | ✅ Configured / ❌ Not configured | — |
| TypeScript | ✅ Configured / ❌ Not configured | target: ESNext |
### Key Scripts
| Command | Description |
| --------------- | ---------------- |
| `npm run dev` | Start dev server |
| `npm run build` | Production build |
### Detection Basis
**Read**: package.json ✅, vite.config.ts ✅, tsconfig.json ✅
**Not found**: webpack.config.js ⚠️, .eslintrc ⚠️
### Next Steps
1. [Improvement suggestions based on detection results]
2. [Tech stack upgrade or optimization directions]
development
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
devops
Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.
tools
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
documentation
Generates standardized porting documentation from completed feature changes. Analyzes commit diffs or file contents, extracts change intent, and outputs Markdown documentation for cross-team understanding. Should be used when the user needs to document a change for cross-team or cross-project consumption. Distinguished from cross-branch-fix-porter which actively re-implements fixes, this skill documents changes.