Web Stack Analyzer
Analyze a website's likely technology stack using passive, low-impact fingerprinting. Always report concrete evidence and confidence for each finding.
When to use this skill
Use this skill when the user asks to:
- Identify technologies used by a website or URL.
- Detect frontend frameworks, SSR/meta-frameworks, CMS/e-commerce platforms, backend hints, web servers, CDNs, hosting providers, analytics, payments, auth, chat/support, monitoring, or security headers.
- Compare web technology detection approaches.
- Learn about passive web fingerprinting workflows.
Do not use this skill for vulnerability scanning, exploitation, credential attacks, intrusive crawling, or bypassing access controls.
Quick start
For most analyses, run the bundled site analyzer from this skill directory:
python scripts/analyze_site.py <URL> --markdown
For machine-readable output:
python scripts/analyze_site.py <URL> --json
Focused analyzers:
python scripts/analyze_headers.py <URL>
python scripts/analyze_html.py page.html --base-url <URL> --json
If browser rendering is required, use browser automation to inspect runtime globals and hydrated DOM markers, then combine that evidence with the script output.
LLM Agent Execution Protocol
When you are acting as an AI agent applying this skill:
- Tool Usage: Use the
run_in_terminal tool to run the Python scripts autonomously. Do not ask the user to run the commands manually.
- Handle Output: Process the JSON or Markdown output directly. If output is large, redirect it to a file.
- Dependencies: If
python scripts/analyze_site.py fails due to missing packages, suggest or run pip install to setup the environment.
Core workflow
- Normalize scope — normalize bare domains to HTTPS, record final URL, and stay within the supplied site unless the user asks otherwise.
- Analyze headers — inspect status, redirects, server/edge headers, powered-by headers, cookies, protocol hints, and security headers.
- Analyze HTML/resources — inspect scripts, links, meta tags, DOM markers, class tokens, CSS variables, iframes, and forms.
- Check runtime only if needed — for client-rendered apps, inspect browser globals such as
window.__NEXT_DATA__, window.__NUXT__, window.React, window.Vue, window.Shopify, window.dataLayer, and DOM properties like __reactFiber$.
- Merge evidence — deduplicate technologies, combine evidence, and upgrade confidence only when there are independent corroborating signals.
- Report caveats — mention spoofable headers, blocked requests, unavailable runtime checks, conflicts, and low-confidence findings.
For detailed operational steps, see reference/analysis-workflow.md.
Evidence and confidence requirements
Each reported technology should include:
Technology
Category
Confidence: High, Medium, or Low
Evidence: concrete header, cookie name, DOM marker, resource URL, global, path, class token, or security header
- Caveats when evidence is ambiguous or spoofable
Confidence rules:
- High — multiple strong independent signals, or one highly specific signal with corroboration.
- Medium — one strong signal or multiple weak signals.
- Low — a single weak/generic signal.
Never report a technology with no evidence.
False-positive controls
- A third-party script means the site uses that service; it does not necessarily identify the primary framework.
- Generic tokens such as
next, app, vendor, main, bundle, and static are insufficient by themselves.
- Headers can be spoofed or generated by reverse proxies/CDNs.
- Next.js, Gatsby, and Remix imply React; Nuxt implies Vue; SvelteKit implies Svelte. Report the meta-framework as primary when present.
- Analytics, chat, payment, and monitoring scripts may be injected through tag managers.
- Cookie values should not be reported; cookie names are enough for stack detection.
Output format
Prefer this report shape:
## Tech Stack Analysis: <URL>
### Frontend
| Technology | Confidence | Evidence |
|-----------|------------|----------|
### Backend / Server
| Technology | Confidence | Evidence |
|-----------|------------|----------|
### CMS / E-Commerce
| Technology | Confidence | Evidence |
|-----------|------------|----------|
### CDN / Hosting
| Technology | Confidence | Evidence |
|-----------|------------|----------|
### SaaS / Third-party
| Technology | Confidence | Evidence |
|-----------|------------|----------|
### Security
| Feature | Status | Evidence |
|---------|--------|----------|
### Uncertainty / Caveats
- Note conflicts, blocked requests, spoofable headers, unavailable runtime checks, or low-confidence findings.
### Summary
Brief narrative of the likely stack.
References
reference/analysis-workflow.md — detailed phase-by-phase workflow, evidence schema, runtime checks, and report outline.
reference/detection-signatures.md — common detection signatures for frontend frameworks, meta-frameworks, CMS/e-commerce, CDN/hosting, analytics, SaaS, payments, security indicators, and build tools.
scripts/ — executable analyzers and shared utilities.
Safety and privacy
- Keep requests minimal and bounded.
- Do not attempt login, form submission, access-control bypass, exploitation, or brute-force discovery.
- Avoid storing full HTML, headers, or cookies unless needed for reproducibility.
- Redact sensitive values; report cookie names, not cookie values.
- If browser automation is used, close the browser session after analysis.
1---2name: web-stack-analyzer3description: Analyze and detect the web technology stack of a URL or website. Use when the user asks what technologies a site uses, wants frontend/backend/CMS/CDN/SaaS/security fingerprinting, asks for evidence-based stack detection, or wants to learn practical passive web fingerprinting techniques.4---56# Web Stack Analyzer78Analyze a website's likely technology stack using passive, low-impact fingerprinting. Always report concrete evidence and confidence for each finding.910## When to use this skill1112Use this skill when the user asks to:1314- Identify technologies used by a website or URL.15- Detect frontend frameworks, SSR/meta-frameworks, CMS/e-commerce platforms, backend hints, web servers, CDNs, hosting providers, analytics, payments, auth, chat/support, monitoring, or security headers.16- Compare web technology detection approaches.17- Learn about passive web fingerprinting workflows.1819Do **not** use this skill for vulnerability scanning, exploitation, credential attacks, intrusive crawling, or bypassing access controls.2021## Quick start2223For most analyses, run the bundled site analyzer from this skill directory:2425```bash26python scripts/analyze_site.py <URL> --markdown27```2829For machine-readable output:3031```bash32python scripts/analyze_site.py <URL> --json33```3435Focused analyzers:3637```bash38python scripts/analyze_headers.py <URL>39python scripts/analyze_html.py page.html --base-url <URL> --json40```4142If browser rendering is required, use browser automation to inspect runtime globals and hydrated DOM markers, then combine that evidence with the script output.4344## LLM Agent Execution Protocol4546When you are acting as an AI agent applying this skill:471. **Tool Usage**: Use the `run_in_terminal` tool to run the Python scripts autonomously. Do not ask the user to run the commands manually.482. **Handle Output**: Process the JSON or Markdown output directly. If output is large, redirect it to a file.493. **Dependencies**: If `python scripts/analyze_site.py` fails due to missing packages, suggest or run `pip install` to setup the environment.5051## Core workflow52531. **Normalize scope** — normalize bare domains to HTTPS, record final URL, and stay within the supplied site unless the user asks otherwise.542. **Analyze headers** — inspect status, redirects, server/edge headers, powered-by headers, cookies, protocol hints, and security headers.553. **Analyze HTML/resources** — inspect scripts, links, meta tags, DOM markers, class tokens, CSS variables, iframes, and forms.564. **Check runtime only if needed** — for client-rendered apps, inspect browser globals such as `window.__NEXT_DATA__`, `window.__NUXT__`, `window.React`, `window.Vue`, `window.Shopify`, `window.dataLayer`, and DOM properties like `__reactFiber$`.575. **Merge evidence** — deduplicate technologies, combine evidence, and upgrade confidence only when there are independent corroborating signals.586. **Report caveats** — mention spoofable headers, blocked requests, unavailable runtime checks, conflicts, and low-confidence findings.5960For detailed operational steps, see `reference/analysis-workflow.md`.6162## Evidence and confidence requirements6364Each reported technology should include:6566- `Technology`67- `Category`68- `Confidence`: `High`, `Medium`, or `Low`69- `Evidence`: concrete header, cookie name, DOM marker, resource URL, global, path, class token, or security header70- Caveats when evidence is ambiguous or spoofable7172Confidence rules:7374- **High** — multiple strong independent signals, or one highly specific signal with corroboration.75- **Medium** — one strong signal or multiple weak signals.76- **Low** — a single weak/generic signal.7778Never report a technology with no evidence.7980## False-positive controls8182- A third-party script means the site uses that service; it does not necessarily identify the primary framework.83- Generic tokens such as `next`, `app`, `vendor`, `main`, `bundle`, and `static` are insufficient by themselves.84- Headers can be spoofed or generated by reverse proxies/CDNs.85- Next.js, Gatsby, and Remix imply React; Nuxt implies Vue; SvelteKit implies Svelte. Report the meta-framework as primary when present.86- Analytics, chat, payment, and monitoring scripts may be injected through tag managers.87- Cookie values should not be reported; cookie names are enough for stack detection.8889## Output format9091Prefer this report shape:9293```markdown94## Tech Stack Analysis: <URL>9596### Frontend97| Technology | Confidence | Evidence |98|-----------|------------|----------|99100### Backend / Server101| Technology | Confidence | Evidence |102|-----------|------------|----------|103104### CMS / E-Commerce105| Technology | Confidence | Evidence |106|-----------|------------|----------|107108### CDN / Hosting109| Technology | Confidence | Evidence |110|-----------|------------|----------|111112### SaaS / Third-party113| Technology | Confidence | Evidence |114|-----------|------------|----------|115116### Security117| Feature | Status | Evidence |118|---------|--------|----------|119120### Uncertainty / Caveats121- Note conflicts, blocked requests, spoofable headers, unavailable runtime checks, or low-confidence findings.122123### Summary124Brief narrative of the likely stack.125```126127## References128129- `reference/analysis-workflow.md` — detailed phase-by-phase workflow, evidence schema, runtime checks, and report outline.130- `reference/detection-signatures.md` — common detection signatures for frontend frameworks, meta-frameworks, CMS/e-commerce, CDN/hosting, analytics, SaaS, payments, security indicators, and build tools.131- `scripts/` — executable analyzers and shared utilities.132133## Safety and privacy134135- Keep requests minimal and bounded.136- Do not attempt login, form submission, access-control bypass, exploitation, or brute-force discovery.137- Avoid storing full HTML, headers, or cookies unless needed for reproducibility.138- Redact sensitive values; report cookie names, not cookie values.139- If browser automation is used, close the browser session after analysis.