Extracts HTTP/HTTPS request and response data from Charles Proxy session files (.chlsj format), including URLs, methods, status codes, headers, request bodies, and response bodies. Use when analyzing captured network traffic from Charles Proxy debug sessions, inspecting API calls, debugging HTTP requests, or examining proxy logs.
Parses and extracts structured data from Charles Proxy session files (.chlsj format).
Use this skill when the user:
When the user asks to extract, analyze, or inspect Charles Proxy session files, run the Python script using the Bash tool:
python3 ./extract_responses.py <file.chlsj> <pattern> [options]
<file.chlsj> - Path to the Charles Proxy session file (use exact path provided by user)<pattern> - URL path pattern to match (e.g., "/today", "/logs", "/" for all)-m, --method METHOD - Filter by HTTP method (GET, POST, PUT, PATCH, DELETE)-f, --first-only - Show only first matching request (for quick inspection)-s, --summary-only - Show statistics without response bodies-o, --output FILE - Save responses to JSON file--no-pretty - Disable JSON pretty-printingExtract all /today responses:
python3 ./extract_responses.py session.chlsj "/today"
Filter by POST method (automatically shows request bodies):
python3 ./extract_responses.py session.chlsj "/logs" --method POST
Quick peek (first result only):
python3 ./extract_responses.py session.chlsj "/users" --first-only
Summary without bodies:
python3 ./extract_responses.py session.chlsj "/" --summary-only
Export to file:
python3 ./extract_responses.py session.chlsj "/items" --output items_data.json
When users say things like:
--method flag (request bodies auto-shown)--first-only flag--summary-only flag--output flag"/" as pattern to match all requestsExtracts HTTP/HTTPS request and response data from Charles Proxy session files, allowing you to:
Required:
Optional:
Summary mode:
Full mode:
Export mode:
{
"pattern": "/api/endpoint",
"total_requests": 10,
"extracted_at": "ISO8601 timestamp",
"requests": [...]
}
"Extract all /today responses from session.chlsj" → Shows all requests matching /today pattern
"Show POST requests to /logs with request bodies" → Filters by POST method and displays request bodies
"Export all /items responses to items.json" → Saves filtered responses to JSON file
"Summarize requests in the Charles session" → Shows statistics without response bodies
The skill handles:
"File not found" error:
"Invalid JSON" error:
No results found:
Python not found:
python instead of python3 or vice versa