Type /generate-tech-stack in any supported tool to get a visual tech stack for your project.
The skill lives at: ~/.claude/skills/generate-tech-stack/
~/.claude/skills/generate-tech-stack/
├── SKILL.md ← Claude Code skill definition
├── INSTALL.md ← this file
├── scripts/
│ └── analyze.py ← core scanner + HTML renderer
├── mcp/
│ ├── server.py ← MCP stdio server
│ └── requirements.txt
└── copilot/
├── index.js ← GitHub Copilot Extension (Express)
├── package.json
└── openai_function.json ← Antigravity / OpenAI function def
The skill is already installed. Just use:
/generate-tech-stack
To reinstall or update:
# Clone or copy the skill files
mkdir -p ~/.claude/skills/generate-tech-stack/{scripts,mcp,copilot}
# Core analyzer
curl -L https://raw.githubusercontent.com/yourorg/generate-tech-stack/main/scripts/analyze.py \
-o ~/.claude/skills/generate-tech-stack/scripts/analyze.py
# Skill definition
curl -L https://raw.githubusercontent.com/yourorg/generate-tech-stack/main/SKILL.md \
-o ~/.claude/skills/generate-tech-stack/SKILL.mdAny host that supports the Model Context Protocol can use the MCP server.
Install the dependency:
pip install mcpConfigure your MCP host — replace /home/<you> with your actual home directory:
~/Library/Application Support/Claude/claude_desktop_config.json (Mac)
%APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"generate-tech-stack": {
"command": "python3",
"args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
}
}
}{
"servers": {
"generate-tech-stack": {
"type": "stdio",
"command": "python3",
"args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
}
}
}{
"mcpServers": {
"generate-tech-stack": {
"command": "python3",
"args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
}
}
}{
"context_servers": {
"generate-tech-stack": {
"command": {
"path": "python3",
"args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
}
}
}
}Restart your tool, then use:
/generate-tech-stack
# or:
"generate my tech stack"
"scan this project and show all tools visually"
MCP tools exposed:
generate_tech_stack— scans project, writesTECH_STACK.html, opens in browserlist_tech_stack— returns JSON summary, no file written
Register the function definition from copilot/openai_function.json in your assistant config.
When the model calls generate_tech_stack, execute:
python3 ~/.claude/skills/generate-tech-stack/scripts/analyze.py <project_dir> <output_file>The Copilot Extension is a GitHub App that you deploy as a small Express server.
Prerequisites:
- GitHub account with Copilot access
- A public HTTPS endpoint (use ngrok for local dev)
Start the server:
cd ~/.claude/skills/generate-tech-stack/copilot
npm install
npm start # listens on port 3000For local dev, expose it:
ngrok http 3000
# copy the https://xxxx.ngrok.io URLRegister the GitHub App:
- GitHub → Settings → Developer settings → GitHub Apps → New GitHub App
- Set Homepage URL and Callback URL to your ngrok/deployment URL
- Enable Copilot Extension and set Agent URL:
https://your-url/agent - Permissions:
Copilot chat→ Read & Write - Install the app on your account or organisation
Usage (in GitHub Copilot Chat):
@generate-tech-stack /generate-tech-stack
@generate-tech-stack /generate-tech-stack /path/to/project
Run the analyzer directly to verify it works:
python3 ~/.claude/skills/generate-tech-stack/scripts/analyze.py . ~/TECH_STACK.html
# then open ~/TECH_STACK.html in your browser| Source file | Detected tools |
|---|---|
requirements.txt / pyproject.toml |
Python packages |
package.json |
Node.js / npm packages |
go.mod |
Go language |
Cargo.toml |
Rust language |
pom.xml / build.gradle |
Java / Kotlin |
Gemfile |
Ruby language |
composer.json |
PHP language |
Dockerfile |
Docker |
docker-compose.yml |
Docker Compose |
.github/workflows/ |
GitHub Actions |
.gitlab-ci.yml |
GitLab CI |
alembic.ini |
Alembic migrations |
nginx.conf / Caddyfile |
Reverse proxy |
tsconfig.json / src/**/*.ts |
TypeScript |
Every generated TECH_STACK.html includes:
- Stat row — Total Tools · Categories · AI Backends · Data Stores
- Architecture diagram — layered flow adapted to what's detected
- Bar chart — horizontal bars per category, colour-matched
- Tool cards — one card per category, each tool with dot · name · desc · badge