stack-detector skill
Scans project files like package.json and config files to identify the technology stack and recommend relevant skills and rules.
- GitHub stars
- 48
- Files
- 1
- Last commit
- Nov 11, 2026
- License
- MIT
- Allowed tools
- —
What does the stack-detector skill do?
stack-detector scans project files like package.json and config files to identify the technology stack and recommend relevant skills and rules.
Summary generated from the skill's SKILL.md.
About the stack-detector skill
Identifying the specific technologies used in a new codebase is what stack-detector enables for developers and contributors. By inspecting project files such as package.json, lockfiles, and various configuration files, it determines the runtime, package manager, frameworks, and libraries present in a repository. This process helps an agent understand the environment before starting work or onboarding a new team member.
An agent should load this skill when beginning a session on an unfamiliar codebase or when performing a project audit. It produces a list of recommended skills and rule file paths from the everything-copilot-cli collection that are relevant to the detected stack. Unlike general file-scanning tools, this skill provides a curated mapping to specific rules for technologies like Next.js, React, Prisma, and Python. It relies on reading existing files and does not make any changes to the project files it inspects.
What an agent can do with it
- 1Onboard new contributorsRecommend specific skills and rules for a new developer to study based on the current project stack.
- 2Initialize a new sessionIdentify the technology stack at the start of a session to prepare the agent for the codebase.
- 3Audit project toolingAnalyze a repository to suggest where specific tooling or practices might be missing.
- 4Targeted skill recommendationsFind the exact rules and skills from the collection that apply to the detected frameworks.
Written from the skill's SKILL.md. Every use case is checked against a quote from it.
How to install the stack-detector skill
Each command copies the skill folder into the client's skills directory. Restart the client or start a new session to load it.Install the stack-detector skill in Claude Code
~/.claude/skills/stack-detector/SKILL.md
$ npx degit drvoss/everything-copilot-cli/skills/copilot-exclusive/stack-detector ~/.claude/skills/stack-detectorInstall the stack-detector skill in Claude Code (project)
.claude/skills/stack-detector/SKILL.md
$ npx degit drvoss/everything-copilot-cli/skills/copilot-exclusive/stack-detector .claude/skills/stack-detectorInstall the stack-detector skill in Codex
~/.agents/skills/stack-detector/SKILL.md
$ npx degit drvoss/everything-copilot-cli/skills/copilot-exclusive/stack-detector ~/.agents/skills/stack-detectorInstall the stack-detector skill in Gemini CLI
~/.gemini/skills/stack-detector/SKILL.md
$ npx degit drvoss/everything-copilot-cli/skills/copilot-exclusive/stack-detector ~/.gemini/skills/stack-detectorInstall the stack-detector skill in Claude.ai
npx degit drvoss/everything-copilot-cli/skills/copilot-exclusive/stack-detector stack-detector && zip -r stack-detector.zip stack-detector # claude.ai → Customize → Skills → + → Create skill → Upload a skill → stack-detector.zip
SKILL.md
View on GitHubStack Detector
Why This is Copilot-Exclusive
This skill is specific to the everything-copilot-cli collection: the recommendation table maps detected technologies to skill and rule file paths that only exist in this repository. Other AI agents can also inspect file systems, but this skill's value is the curated mapping to this specific collection's skills and rules — not the file-scanning mechanics itself.
When to Use
- At the start of a session on an unfamiliar codebase, before or alongside
context-prime - When you want focused recommendations for which skills and rules apply to this project
(
context-primeloads broad context;stack-detectortargets specific recommendations) - When onboarding a new contributor and recommending which skills to study
- When auditing a project to suggest missing tooling or practices
Workflow
No shell access? In tools that deny shell commands by default (for example headless
agy -por Cursor--mode=ask), skip the PowerShell snippets below. List the project root with your file-listing tool and readpackage.json, lockfiles, and config files directly; the detection rules and the recommendation table apply unchanged.
1. Detect Runtime & Package Manager
# Check for Node.js project
if (Test-Path "package.json") {
$pkg = Get-Content "package.json" | ConvertFrom-Json
Write-Host "Node.js project detected"
Write-Host "Name: $($pkg.name)"
}
# Detect package manager from lockfile
$lockfiles = @{
"pnpm-lock.yaml" = "pnpm"
"yarn.lock" = "yarn"
"package-lock.json" = "npm"
"bun.lockb" = "bun"
}
foreach ($file in $lockfiles.Keys) {
if (Test-Path $file) { Write-Host "Package manager: $($lockfiles[$file])"; break }
}
# Python
if ((Test-Path "pyproject.toml") -or (Test-Path "requirements.txt")) {
Write-Host "Python project detected"
}
# Go
if (Test-Path "go.mod") { Write-Host "Go project detected" }
# Java / Kotlin
if ((Test-Path "build.gradle") -or (Test-Path "pom.xml")) {
Write-Host "JVM project detected"
}
2. Detect Frameworks & Libraries
if (Test-Path "package.json") {
$pkg = Get-Content "package.json" | ConvertFrom-Json
$deps = @()
if ($pkg.dependencies) { $deps += $pkg.dependencies.PSObject.Properties.Name }
if ($pkg.devDependencies) { $deps += $pkg.devDependencies.PSObject.Properties.Name }
$frontendMap = @{
"next" = "Next.js"
"react" = "React"
"vue" = "Vue"
"nuxt" = "Nuxt"
"@angular" = "Angular"
"svelte" = "Svelte"
"astro" = "Astro"
}
foreach ($key in $frontendMap.Keys) {
if ($deps -match $key) { Write-Host "Framework: $($frontendMap[$key])" }
}
$backendMap = @{
"express" = "Express"
"@nestjs" = "NestJS"
"hono" = "Hono"
"fastify" = "Fastify"
}
foreach ($key in $backendMap.Keys) {
if ($deps -match $key) { Write-Host "Backend: $($backendMap[$key])" }
}
$dbMap = @{
"prisma" = "Prisma"
"drizzle" = "Drizzle ORM"
"@supabase" = "Supabase"
"typeorm" = "TypeORM"
}
foreach ($key in $dbMap.Keys) {
if ($deps -match $key) { Write-Host "Database/ORM: $($dbMap[$key])" }
}
$testingMap = @{
"vitest" = "Vitest"
"playwright" = "Playwright"
"jest" = "Jest"
"cypress" = "Cypress"
}
foreach ($key in $testingMap.Keys) {
if ($deps -match $key) { Write-Host "Testing: $($testingMap[$key])" }
}
$cloudMap = @{
"wrangler" = "Cloudflare Workers"
"vercel" = "Vercel"
"@aws-sdk" = "AWS SDK"
}
foreach ($key in $cloudMap.Keys) {
if ($deps -match $key) { Write-Host "Cloud: $($cloudMap[$key])" }
}
}
3. Detect Config Files
$configMap = @{
"next.config.*" = "Next.js"
"vite.config.*" = "Vite"
"tailwind.config.*" = "Tailwind CSS"
"vitest.config.*" = "Vitest"
"playwright.config.*" = "Playwright"
"wrangler.toml" = "Cloudflare Workers"
"vercel.json" = "Vercel"
"astro.config.*" = "Astro"
"drizzle.config.*" = "Drizzle ORM"
"tsconfig.json" = "TypeScript"
}
foreach ($pattern in $configMap.Keys) {
if (Get-ChildItem -Filter $pattern -ErrorAction SilentlyContinue) {
Write-Host "Config detected: $($configMap[$pattern])"
}
}
4. Recommend Skills & Rules
Based on the detected stack, recommend the following from this repository:
| Detected Technology | Recommended Skills | Recommended Rules |
|---|---|---|
| TypeScript | tdd-workflow, code-review |
rules/languages/typescript.md |
| Next.js | commit-workflow, release |
rules/frameworks/nextjs.md |
| React | code-review, refactor-clean |
rules/frameworks/react.md |
| Prisma / Drizzle | evaluate-repository |
rules/frameworks/prisma.md |
| Playwright | test-coverage, e2e-testing |
rules/frameworks/playwright.md |
| Vitest | tdd-workflow, eval-harness |
rules/frameworks/vitest.md |
| NestJS / Express | security-scan |
rules/frameworks/nestjs.md |
| Cloudflare Workers | cost-audit |
rules/frameworks/cloudflare-workers.md |
| Python | security-scan, evaluate-repository |
rules/languages/python.md |
| Go | security-scan |
rules/languages/golang.md |
| Java / JVM | security-scan, evaluate-repository |
rules/languages/java.md |
| Any project | security-scan |
rules/common/supply-chain-security.md |
| Next.js + Prisma | nextjs-prisma |
rules/frameworks/nextjs.md, rules/frameworks/prisma.md |
| React + Vitest | react-vitest |
rules/frameworks/react.md, rules/frameworks/vitest.md |
| NestJS + Prisma | nestjs-prisma |
rules/frameworks/nestjs.md, rules/frameworks/prisma.md |
Note: See
README.mdfor the current full list of available skills and rules.
5. Output Summary
Write-Host ""
Write-Host "=== Stack Detection Complete ==="
Write-Host "Recommended skills for this project:"
Write-Host " /context-prime -- load live project context"
Write-Host " /commit-workflow -- if Git workflow needed"
Write-Host " /security-scan -- if security audit needed"
Write-Host "(Add detected framework-specific skills as available)"
Notes
- This skill reads files only — it makes no changes to the project
- Combine with
context-primefor a complete session initialization - The recommendation table above is updated as new framework-specific rules and combo skills are added in later phases of this repository's roadmap
Files in this skill
1stack-detector skill questions
How do I install the stack-detector skill in Claude Code?
Run npx degit drvoss/everything-copilot-cli/skills/copilot-exclusive/stack-detector ~/.claude/skills/stack-detector. Claude Code loads skills from ~/.claude/skills (all projects) or .claude/skills (one project) and uses a skill when its description matches the task.
Which clients can use the stack-detector skill?
Any client that reads the Agent Skills format: Claude Code, Codex, Gemini CLI and claude.ai (upload as a ZIP). Scripts in the skill run only where the client allows code execution.
What does stack-detector do?
It scans a project's tech stack using files like package.json, config files, and lockfiles to recommend specific skills and rules from a collection.
Does this skill modify my project files?
No, the skill only reads files and does not make any changes to your project.