rest-graphql-debug

Diagnose REST and GraphQL API failures through layered connectivity, auth, and schema checks.

1|Updated Aug 6, 2026
One-click install
npx skills add https://github.com/agtktID/indagis-agent --skill rest-graphql-debug-agtktid
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: rest-graphql-debug
Source: https://github.com/agtktID/indagis-agent/tree/main/optional-skills/software-development/rest-graphql-debug
Command: npx skills add https://github.com/agtktID/indagis-agent --skill rest-graphql-debug-agtktid

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? API integrations fail in opaque ways — a 401 after token refresh, a GraphQL query returning HTTP 200 with hidden errors, or code that works in Postman but breaks in production. This Skill provides a systematic, layer-by-layer debugging methodology that isolates the failing layer (connectivity, TLS, auth, request format, response parsing, semantics) before guessing at fixes. ## Core Features & Use Cases - Layered Debug Flow: Walks six ordered layers from DNS/connectivity through semantic validation, with concrete curl and Python requests commands for each. - HTTP Status Playbook: Decision trees for 401, 403, 404, 409, 422, 429, and 5xx responses, including exponential backoff for rate limits. - GraphQL-Specific Handling: Inspects the errors field even on HTTP 200 responses, catching failures that status codes hide. - Use Case: Your payment API integration suddenly returns 422 errors after a vendor update. Use the layered flow to confirm auth works, then run contract validation to discover the vendor renamed a required field — capture the correlation ID and file a bug report with the provided template. ## Quick Start Ask the agent to debug why your API request to a specific endpoint is failing, providing the URL and the error or unexpected response you are seeing.

Frequently Asked Questions about rest-graphql-debug

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug a REST API that returns unexpected status codes?▼

Debug REST API errors by walking layers in order: connectivity, TLS, auth, request format, response parsing, then semantics. Use curl -v to inspect the full exchange and match the status code against a playbook covering 401, 403, 404, 422, 429, and 5xx.

Why does my GraphQL query return HTTP 200 but still fail?▼

GraphQL servers often return HTTP 200 even when the query fails, placing error details in the response body's errors field. Always parse the JSON response and check for an errors array regardless of the HTTP status code.

How do I handle 429 rate limit errors in Python requests?▼

Handle 429 responses with exponential backoff: read the Retry-After header when present, otherwise wait 2^attempt seconds between retries. Loop up to five attempts and return the first non-429 response.

Why does my API request work in Postman but fail in Python code?▼

This usually stems from Content-Type mismatches — using data= sends form-encoded bodies even when the header claims JSON. Use requests.post(url, json=payload) so the library serializes the body and sets the header correctly.

How do I check if a JWT token is expired?▼

Decode the JWT's middle payload segment using base64url decoding with padding correction, then inspect the exp claim. The skill provides a Python snippet that splits the token, fixes padding, and prints the claims as JSON.

When should I not use this API debugging approach?▼

Skip this layered API flow for UI rendering bugs, database query tuning, or DNS and firewall infrastructure problems — those belong to other specialties. It targets application-layer HTTP and GraphQL diagnosis only.