01-package-scaffolding/stack-profile-detector/SKILL.md
Detect a project's language, framework, runtime, testing setup, and deployment target from repository contents and produce a structured STACK-PROFILE.md. Use when scaffolding a new project and need to determine stack from code evidence, onboarding to an existing repo with unknown stack, or generating stack-specific skills. Do not use when stack is already documented in STACK-PROFILE.md or for repos with no code (infer from specs instead).
npx skillsauth add chelch5/skilllibrary stack-profile-detectorInstall 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.
Detects a project's stack profile from repository contents and produces a structured document.
ls -la package.json Cargo.toml pyproject.toml setup.py go.mod pom.xml \
build.gradle *.csproj Gemfile composer.json 2>/dev/null
Priority (if multiple exist): package.json > Cargo.toml > pyproject.toml > go.mod > pom.xml
| Evidence | Language | Confidence | |----------|----------|------------| | package.json + tsconfig.json | TypeScript | High | | package.json (no tsconfig) | JavaScript | High | | Cargo.toml | Rust | High | | pyproject.toml / requirements.txt | Python | High | | go.mod | Go | High | | pom.xml / build.gradle | Java/Kotlin | High | | *.csproj / *.sln | C# | High | | Only source files, no manifest | (inferred) | Medium |
Node.js/TypeScript:
deps=$(cat package.json 2>/dev/null | jq -r '(.dependencies + .devDependencies) | keys[]')
# next → Next.js, react → React, express → Express, fastify → Fastify, etc.
Python: Check for fastapi, django, flask in requirements/pyproject.
Rust: Check for axum, actix, rocket in Cargo.toml.
| Category | Evidence | Result | |----------|----------|--------| | Test framework | vitest/jest/pytest/cargo test in config | Named framework | | Build tool | Next.js/Vite/Webpack/Cargo in config | Named tool | | Cloud target | vercel.json/serverless.yml/Dockerfile | Named platform | | Package manager | pnpm-lock/yarn.lock/Cargo.lock | Named manager |
# Stack Profile
Generated: [ISO date]
Confidence: [HIGH | MEDIUM | LOW]
## Primary Stack
- **Language:** [detected]
- **Runtime:** [detected]
- **Framework:** [detected]
- **Package Manager:** [detected]
## Testing
- **Framework:** [detected]
- **Command:** [detected]
## Build
- **Tool:** [detected]
- **Command:** [detected]
## Deployment
- **Target:** [detected or "unknown"]
## Evidence
Detection based on: [list of files examined]
If detection is uncertain (confidence LOW):
## Unresolved
- [Question 1]: [Options found]
- [Question 2]: [Options found]
## Action Required
Please confirm: [specific questions]
File: docs/STACK-PROFILE.md (or path specified by scaffolding flow)
Contains: language, runtime, framework, package manager, test setup, build config, deployment target, confidence level, and evidence list.
testing
Manages context window budgets, loading strategies, and compaction techniques for AI-assisted coding sessions. Trigger on 'context window', 'what to load', 'context management', 'context overflow', 'token budget'. DO NOT USE for loading specific project docs into agent context (use project-context) or prompt wording and optimization (use prompt-crafting).
development
Implements authentication, session, token, and authorization patterns for the current stack. Trigger on 'add auth', 'JWT', 'OAuth', 'login endpoint', 'session management', 'API key auth'. DO NOT USE for OWASP hardening checklists (use security-hardening), threat modeling (use security-threat-model), or secret rotation/storage (use security-best-practices).
tools
Defines request/response shapes, versioning, validation, and compatibility rules for API-first work. Trigger on 'design API', 'OpenAPI spec', 'REST schema', 'API versioning', 'generate client SDK'. DO NOT USE for GraphQL schemas, gRPC/protobuf definitions (use stack-standards), auth endpoint logic (use auth-patterns), or external API client wrappers (use external-api-client).
development
Create a repo-local ticket system with an index, machine-readable manifest, board, and individual ticket files. Use when a repo needs task decomposition that autonomous agents can follow without re-planning the whole project each session. Do not use for executing tickets (use ticket-execution) or quick fixes that don't warrant formal tickets.