Detect stack
Coding principles for Claude Code and AI agents. KISS, DRY, SOLID, YAGNI, separation of concerns, and more. Language-agnostic skills that help agents ship production-quality code.
npx -y skills add JordanCoin/codingskills --skill detect-stackAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Analyze a codebase to detect its language, framework, conventions, and CI gates. Run this on first use in a project to generate stack context that all coding principle skills reference. Use when the user says "detect stack," "analyze this project," or "what's this codebase using."
SKILL.md
2.9 KB, as published. Nobody here has run it
Detect Stack
Analyze the current codebase and generate .agents/stack-context.md. Run this on first use in a project, or when the stack context is missing or stale.
What to Detect
Scan the project root for these signals:
Language — Count file extensions (.rs, .py, .ts, .go, .swift, .java, .rb, .cs, .ex, etc.). Primary = most files. Note secondary languages.
Framework — Read the package manifest:
Cargo.toml→ check[dependencies]for axum, actix, rocket, sqlx, diesel, tokiopackage.json→ check for react, next, svelte, express, fastify, prismago.mod→ check for gin, echo, fiber, chi, sqlcpyproject.toml/requirements.txt→ check for django, flask, fastapi, sqlalchemyGemfile→ check for rails, sinatraPackage.swift→ check for Vapor; scan for SwiftUI importsmix.exs→ check for phoenix, ecto
Tests — Look for test directories, test file naming patterns, test config files.
CI gates — Scan .github/workflows/, .gitlab-ci.yml, etc. for blocking checks (format, lint, type check, test).
Conventions — Check for CLAUDE.md, AGENTS.md, CONTRIBUTING.md. Note directory structure and naming patterns.
Output
Write .agents/stack-context.md — keep it short (under 40 lines):
# Stack Context
Generated: YYYY-MM-DD
## Stack
- **Language**: [primary] [version if pinned]
- **Framework**: [web framework], [db layer]
- **Build**: [build tool]
- **Test**: [test command + framework]
- **Lint**: [linter] [CI gate: yes/no]
- **Format**: [formatter] [CI gate: yes/no]
## Secondary Languages
- [language] ([what it's used for])
## Conventions
- Error handling: [pattern]
- Module structure: [pattern]
- Naming: [pattern]
- Tests: [where they live, how they're organized]
## CI Gates
- [list of blocking checks]
Stack-Specific Principle Application
After writing the stack context, do not generate static reference files. Instead:
- Use your built-in knowledge of the detected language/framework to apply each coding principle idiomatically
- If you need specific framework API details, use context7 MCP (
resolve-library-idthenquery-docs) to pull live documentation - If context7 doesn't cover it, use web search as fallback
The coding principle skills are language-agnostic by design. You are the bridge between the principles and the stack.
When to Re-Run
.agents/stack-context.mddoesn't exist- Major dependency changes (new framework, language version bump)
- Project structure significantly changes
- Context file is older than 30 days