Detects project tech stack, languages, frameworks, and features. Use when you need to understand the project structure for development workflows, architecture decisions, or tooling selection.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Detects and provides context about the current project's technology stack, features, and structure.
.devloop/context.json is freshThe skill produces or reads .devloop/context.json:
{
"name": "project-name",
"type": "web-api | web-app | cli | library | mobile | other",
"languages": ["typescript", "python", "go", ...],
"frameworks": ["express", "django", "react", ...],
"features": {
"authentication": true | false,
"oauth": true | false,
"file-upload": true | false,
"websockets": true | false,
"database": true | false,
"api": true | false,
"graphql": true | false,
"payments": true | false,
"email": true | false,
"logging": true | false
},
"directories": {
"source": "src/",
"tests": "tests/",
"config": "config/"
},
"detected_at": "2025-12-15T10:30:00Z",
"security_notes": []
}
| Indicator | Language |
|---|---|
*.ts, *.tsx, tsconfig.json | TypeScript |
*.js, *.jsx, *.mjs | JavaScript |
*.py, requirements.txt, pyproject.toml | Python |
*.go, go.mod | Go |
*.rs, Cargo.toml | Rust |
*.java, pom.xml, build.gradle | Java |
*.rb, Gemfile | Ruby |
*.php, composer.json | PHP |
*.cs, *.csproj | C# |
| Indicator | Framework |
|---|---|
express in package.json | Express.js |
fastify in package.json | Fastify |
next in package.json | Next.js |
react in package.json | React |
vue in package.json | Vue.js |
angular in package.json | Angular |
django in requirements | Django |
flask in requirements | Flask |
fastapi in requirements | FastAPI |
gin-gonic in go.mod | Gin |
fiber in go.mod | Fiber |
spring in pom.xml | Spring |
rails in Gemfile | Rails |
laravel in composer.json | Laravel |
| Feature | Detection Method |
|---|---|
| authentication | Auth middleware, passport, JWT imports, login routes |
| oauth | OAuth libraries, social auth configs, OIDC |
| file-upload | Multer, file upload handlers, S3 clients |
| websockets | Socket.io, WS library, WebSocket handlers |
| database | ORM imports, database clients, migration files |
| api | REST routes, API directories, OpenAPI specs |
| graphql | GraphQL libraries, schema files, resolvers |
| payments | Stripe, PayPal, payment webhooks |
| Nodemailer, SendGrid, email templates | |
| logging | Winston, Bunyan, logging middleware |
| Type | Indicators |
|---|---|
| web-api | API routes, no frontend build, REST/GraphQL |
| web-app | Frontend framework + backend routes |
| cli | Bin entry, commander/yargs, no web server |
| library | npm publish config, no app entry point |
| mobile | React Native, Flutter, mobile SDKs |
When context is detected, map to relevant security concerns:
| Feature | Security Domains |
|---|---|
| authentication | V6 (Authentication), V7 (Session) |
| oauth | V10 (OAuth/OIDC) |
| file-upload | V5 (File Handling) |
| api | V4 (API Security), V1 (Encoding) |
| database | V2 (Validation), V14 (Data Protection) |
| graphql | V4 (API Security), introspection |
| payments | PCI DSS, V12 (Communications) |
| websockets | V17 (WebRTC/WS), V6 (Auth) |
Run the build script to generate/update context:
${CLAUDE_PLUGIN_ROOT}/scripts/build-project-context.sh
Create or edit .devloop/context.json directly for:
When context exists and is fresh (<24h old):
.devloop/context.json# Check if context is stale (>24h)
if [ -f .devloop/context.json ]; then
detected_at=$(jq -r '.detected_at' .devloop/context.json)
# Compare with current time
fi
The devloop agents use project context to:
The code-architect agent uses project context to:
This skill is designed to be identical to the security plugin's project-context skill, allowing both plugins to share the same detection logic and generated context.
{
"name": "ecommerce-api",
"type": "web-api",
"languages": ["typescript", "sql"],
"frameworks": ["express", "prisma", "jest"],
"features": {
"authentication": true,
"oauth": true,
"file-upload": true,
"websockets": false,
"database": true,
"api": true,
"graphql": false,
"payments": true,
"email": true,
"logging": true
},
"directories": {
"source": "src/",
"tests": "tests/",
"config": "config/"
},
"detected_at": "2025-12-15T10:30:00Z",
"security_notes": [
"Payment processing detected - PCI DSS considerations apply",
"File uploads detected - validate types and scan for malware"
]
}
scripts/build-project-context.sh - Detection scriptSkill: workflow-selection - Choosing development workflowsSkill: go-patterns - Go-specific patternsSkill: react-patterns - React-specific patternsSkill: java-patterns - Java-specific patternsSkill: python-patterns - Python-specific patterns