stack-detector

Scan the current project's tech stack (package.json, config files, lockfiles) and recommend the most relevant skills and rules from this collection for the detected technologies.

8 stars

Best use case

stack-detector is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Scan the current project's tech stack (package.json, config files, lockfiles) and recommend the most relevant skills and rules from this collection for the detected technologies.

Teams using stack-detector should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/stack-detector/SKILL.md --create-dirs "https://raw.githubusercontent.com/drvoss/everything-copilot-cli/main/skills/copilot-exclusive/stack-detector/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/stack-detector/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How stack-detector Compares

Feature / Agentstack-detectorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Scan the current project's tech stack (package.json, config files, lockfiles) and recommend the most relevant skills and rules from this collection for the detected technologies.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Stack 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-prime` loads broad context; `stack-detector` targets specific recommendations)
- When onboarding a new contributor and recommending which skills to study
- When auditing a project to suggest missing tooling or practices

## Workflow

### 1. Detect Runtime & Package Manager

```powershell
# 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

```powershell
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

```powershell
$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.md` for the current full list of available skills and rules.

### 5. Output Summary

```powershell
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-prime` for 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

Related Skills

verification-before-completion

8
from drvoss/everything-copilot-cli

Use before claiming any task is done — run the exact command that proves the fix works, read the output, and only then report success.

using-git-worktrees

8
from drvoss/everything-copilot-cli

Use when you need multiple branches checked out at once — create isolated working directories for parallel development without cloning the repository repeatedly

triage

8
from drvoss/everything-copilot-cli

Use when a single issue needs structured triage — classify it, reproduce if needed, request missing information, and leave a durable brief or close-out note in the tracker.

to-issues

8
from drvoss/everything-copilot-cli

Use when a plan, spec, or PRD must become an actionable backlog — break it into thin dependency-aware issues that each deliver a verifiable vertical slice

sprint-workflow

8
from drvoss/everything-copilot-cli

Use when starting a new feature, refactor, or multi-step dev task — runs the full sprint cycle (Think → Plan → Build → Review → Test → Ship → Monitor) using Copilot CLI's plan/autopilot modes.

sprint-retro

8
from drvoss/everything-copilot-cli

Use at the end of a sprint to run a data-driven retrospective — analyzes session history and git metrics to surface what shipped, what slowed you down, and concrete improvements.

security-audit

8
from drvoss/everything-copilot-cli

Use when a codebase needs a formal security audit beyond a quick scan — applies OWASP Top 10 and STRIDE threat modeling from a CSO perspective to surface systemic vulnerabilities.

release

8
from drvoss/everything-copilot-cli

Use when a sprint or feature is complete and ready to ship — tags the version, generates GitHub Release notes, runs rollout or smoke verification, and publishes to npm/PyPI/Docker registries.

prompt-optimizer

8
from drvoss/everything-copilot-cli

Use when a rough prompt, vague idea, or task description needs to become a finished copy-pasteable prompt for a chat-based LLM - rewrite it into one ready-to-send prompt with no blanks, no placeholders, and a clear output shape.

outside-voice

8
from drvoss/everything-copilot-cli

Use when you need an independent second opinion before, during, or after implementation — run challenge, consult, or review mode in a direct builder-to-builder voice

llm-wiki

8
from drvoss/everything-copilot-cli

Use when research or domain knowledge keeps getting rediscovered across sessions — build a supplementary markdown wiki that compounds synthesized knowledge without replacing GitHub or committed project guidance

interview-me

8
from drvoss/everything-copilot-cli

Use when a request is underspecified and you need to discover what the user actually wants before writing a plan, spec, or code - ask one question at a time, attach your current hypothesis, and stop only after the intent is explicitly confirmed.