Use when debugging API calls, checking network requests, inspecting HTTP traffic, finding failed requests, analyzing response data, or investigating API errors. Provides detailed request/response analysis.
Scanned 5/27/2026
Install via CLI
openskills install jpoutrin/product-forge---
name: network-inspection
description: Use when debugging API calls, checking network requests, inspecting HTTP traffic, finding failed requests, analyzing response data, or investigating API errors. Provides detailed request/response analysis.
---
# Network Inspection Skill
Systematic approach to analyzing network requests using Chrome DevTools MCP.
## HTTP Status Code Reference
### Success (2xx)
| Code | Meaning | Notes |
|------|---------|-------|
| 200 | OK | Standard success response |
| 201 | Created | Resource successfully created |
| 204 | No Content | Success, no body returned |
### Redirect (3xx)
| Code | Meaning | Debugging Action |
|------|---------|------------------|
| 301 | Moved Permanently | Update hardcoded URLs |
| 302 | Found (Temporary) | Check redirect logic |
| 304 | Not Modified | Cache is working correctly |
### Client Error (4xx)
| Code | Meaning | Debugging Action |
|------|---------|------------------|
| 400 | Bad Request | Check request payload/parameters |
| 401 | Unauthorized | Check auth token/session |
| 403 | Forbidden | Check permissions/roles |
| 404 | Not Found | Check URL/endpoint spelling |
| 405 | Method Not Allowed | Check HTTP method (GET/POST/etc) |
| 409 | Conflict | Check for duplicate data |
| 422 | Unprocessable Entity | Check validation errors in response |
| 429 | Too Many Requests | Implement rate limiting/retry |
### Server Error (5xx)
| Code | Meaning | Debugging Action |
|------|---------|------------------|
| 500 | Internal Server Error | Check backend logs |
| 502 | Bad Gateway | Check proxy/load balancer |
| 503 | Service Unavailable | Check server health |
| 504 | Gateway Timeout | Check backend performance |
## Network Request Analysis Workflow
### 1. List All Requests
Use Chrome DevTools MCP to list network requests:
```
Tool: mcp__chrome-devtools__list_network_requests
```
### 2. Filter by Status
Focus on failures first:
1. **5xx errors** - Server issues (highest priority)
2. **4xx errors** - Client issues (request problems)
3. **Slow requests** - Performance issues
4. **Successful requests** - Verify data is correct
### 3. Inspect Specific Request
Get detailed information:
```
Tool: mcp__chrome-devtools__get_network_request
Parameters: { "requestId": "request-id-here" }
```
### 4. Analyze Request Components
For each problematic request, examine:
- **URL** - Is the endpoint correct?
- **Method** - GET, POST, PUT, DELETE?
- **Headers** - Authorization, Content-Type?
- **Body** - Request payload format?
- **Response** - What did server return?
## Request Headers to Check
### Outgoing Request Headers
| Header | Purpose | Debug Value |
|--------|---------|-------------|
| Authorization | Auth token | Verify token format, expiry |
| Content-Type | Payload format | Match API expectation |
| Accept | Response format | `application/json` typically |
| Origin | CORS source | Check against allowed origins |
| Cookie | Session data | Verify session exists |
### Response Headers to Check
| Header | Purpose | Debug Value |
|--------|---------|-------------|
| Set-Cookie | Session management | Check cookie attributes |
| X-Request-Id | Request tracking | Use for backend log correlation |
| Content-Type | Response format | Verify expected format |
| Cache-Control | Caching policy | Check if stale data issue |
| WWW-Authenticate | Auth challenge | Details on auth failure |
## Common API Issues
### Authentication Problems
| Symptom | Possible Cause | Solution |
|---------|----------------|----------|
| 401 on all requests | Token expired | Refresh token |
| 401 on some requests | Missing token header | Check auth interceptor |
| 403 after login | Insufficient permissions | Check user roles |
| Redirect to login | Session expired | Re-authenticate |
### Data Issues
| Symptom | Possible Cause | Solution |
|---------|----------------|----------|
| Empty response | No data found | Check query parameters |
| Partial data | Pagination | Check for next page |
| Stale data | Caching | Clear cache, check headers |
| Wrong data format | API version mismatch | Check API version |
### CORS Issues
| Error | Cause | Solution |
|-------|-------|----------|
| No 'Access-Control-Allow-Origin' | Server not configured | Add CORS headers on backend |
| Preflight failed | OPTIONS request blocked | Allow OPTIONS method |
| Credentials not supported | withCredentials mismatch | Configure credentials mode |
## Performance Analysis
### Timing Breakdown
| Phase | Description | Concern Threshold |
|-------|-------------|-------------------|
| DNS Lookup | Domain resolution | > 100ms |
| Connection | TCP handshake | > 100ms |
| TLS | SSL negotiation | > 100ms |
| Request | Sending data | > 500ms |
| Waiting (TTFB) | Server processing | > 500ms |
| Response | Receiving data | Depends on payload |
### Slow Request Causes
| Phase Slow | Likely Cause | Solution |
|------------|--------------|----------|
| DNS | DNS server issues | Use faster DNS |
| Connection | Server overloaded | Scale infrastructure |
| TLS | Certificate chain | Optimize SSL config |
| Waiting | Slow backend | Optimize API/database |
| Response | Large payload | Paginate, compress |
## Debugging Report Template
```markdown
## Network Debugging Report
**URL**: [page URL]
**Date**: [timestamp]
**Total Requests**: [count]
### Summary
- Failed Requests: X (Y% failure rate)
- Slow Requests (>1s): Z
- Total Data Transferred: N MB
### Failed Requests
| Endpoint | Method | Status | Error |
|----------|--------|--------|-------|
| [URL] | [GET/POST] | [code] | [message] |
### Request Analysis
#### Request 1: [endpoint]
**Status**: [code] [status text]
**Request**:
- Method: [method]
- URL: [full URL]
- Headers:
```
[relevant headers]
```
- Body:
```json
[request body]
```
**Response**:
- Status: [code]
- Headers:
```
[relevant headers]
```
- Body:
```json
[response body or error]
```
**Analysis**: [what went wrong]
**Suggested Fix**: [recommendation]
### Performance Issues
| Endpoint | TTFB | Total Time | Issue |
|----------|------|------------|-------|
| [URL] | [ms] | [ms] | [analysis] |
### Recommendations
1. [prioritized action 1]
2. [prioritized action 2]
```
## Integration with Console Debugging
Network failures often cause console errors:
| Network Issue | Console Manifestation |
|---------------|----------------------|
| 401 Unauthorized | `Error: User not authenticated` |
| 404 Not Found | `Error: Resource not found` |
| 500 Server Error | `Error: Request failed` |
| Network offline | `TypeError: Failed to fetch` |
| CORS blocked | CORS error message |
Use `console-debugging` skill alongside for comprehensive debugging.
## Best Practices
1. **Check the obvious first** - Is the URL correct? Is the server running?
2. **Compare working vs broken** - What's different about failing requests?
3. **Test in isolation** - Use curl/Postman to eliminate frontend issues
4. **Check request order** - Are dependent requests happening in right order?
5. **Verify authentication flow** - Token refresh, session expiry?
6. **Look at full response** - Error details often in response body
No comments yet. Be the first to comment!