GenesisTools gt:analyze-har
install
source · Clone the upstream repo
git clone https://github.com/genesiscz/GenesisTools
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/genesiscz/GenesisTools "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/genesis-tools/skills/analyze-har" ~/.claude/skills/genesiscz-genesistools-gt-analyze-har && rm -rf "$T"
manifest:
plugins/genesis-tools/skills/analyze-har/SKILL.mdsource content
HAR Analyzer
Token-efficient HAR analysis. Uses a reference system - large data shown once gets a ref ID, subsequent views show
[ref:ID] + preview instead of repeating.
Critical Rule
NEVER
, cat
, or directly read a HAR file. Always use jq
tools har-analyzer commands. Raw HAR reading wastes 10-100x more tokens.
Optimal Workflow
1. tools har-analyzer load <file.har> # Parse + dashboard (always start here) 2. tools har-analyzer list --status 4xx # Filter to what matters 3. tools har-analyzer domain <domain> # Drill into specific API 4. tools har-analyzer show e14 # Detail for one entry 5. tools har-analyzer show e14 --raw # Full body/headers if needed 6. tools har-analyzer expand e14.rs.body # Re-show a referenced value
Command Reference
| Command | Purpose | Key Options |
|---|---|---|
| Parse HAR, show dashboard | |
| Re-show overview stats | |
| Compact entry table | |
| Entry detail (L2) | |
| Show full referenced data | |
| List domains with stats | |
| Drill-down: paths + body previews | |
| Grep across entries | |
| 4xx/5xx focus with body previews | |
| ASCII timing chart | |
| Find JWT, API keys, insecure cookies | |
| Bandwidth breakdown by type | |
| Deduplicated header analysis | |
| Redirect chain tracking | |
| Cookie flow (set/sent tracking) | |
| Compare two entries | |
| Export filtered HAR subset | |
Global Options
| Flag | Purpose |
|---|---|
| Output format (default: md) |
| Bypass ref system, show everything |
| Show CSS/JS/image/font bodies (skipped by default) |
Reference System
- Data >200 chars gets a ref ID on first show:
[ref:e14.rs.body] {"users":[...]} - Same data in later commands shows:
[ref:e14.rs.body] {"users":[{"id":1,... (1.8KB) - Use
to see full content againexpand <refId> - Ref format:
e{N}.{rq|rs}.{body|headers|cookies}
flag bypasses refs entirely--full
Content Skipping
By default, bodies of static assets are skipped (CSS, JS, images, fonts, WASM). Only JSON, HTML, XML, and plain text bodies are shown. Use
--include-all to override.
Common Patterns
Understand API shape before expanding full body (token-efficient!):
tools har-analyzer expand e14.rs.body --schema # compact skeleton tools har-analyzer expand e14.rs.body --schema typescript # TS interfaces tools har-analyzer expand e14.rs.body # full content only if needed
Debug API errors:
tools har-analyzer load capture.har tools har-analyzer errors # See all 4xx/5xx tools har-analyzer show e14 --raw # Full error response
Analyze specific API:
tools har-analyzer domain api.example.com # All requests to that domain tools har-analyzer domain api.example.com --status 4xx
Find sensitive data:
tools har-analyzer security # JWT, API keys, insecure cookies
Compare working vs failing request:
tools har-analyzer diff e5 e14 # Side-by-side comparison
MCP Server
If configured as MCP server (
tools har-analyzer mcp), use MCP tools directly:
har_load, har_overview, har_list, har_detail, har_expand, har_search, har_analyze, har_flow, har_diff, har_export