Api endpoint probe
Recursively Self-Improving Module — persistent memory + structured improvement loop for Claude Code
npx -y skills add the-hugin/RSIm --skill api-endpoint-probeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.7 KB, as published. Nobody here has run it
Skill: API Endpoint Probe
Purpose: Quick reconnaissance of API endpoint parameters before implementation — find what actually works (filters, pagination, limits, auth) via minimal test requests. When: Integrating with a new endpoint where unknown: which params it accepts, pagination type, whether it works without mandatory filters, actual response limit. Output: Table of "works / doesn't work" + recommended call pattern for implementation.
PROCESS
Step 1 — Collect initial data
Ask user (if not in request):
- URL or endpoint template (e.g.
GET /v1/trades?market={id}) - Is there auth — API key, Bearer token, cookie?
- Goal: paginate all records / filter / one-time fetch?
- Known params from docs? (even partial)
Step 2 — Build probe plan
Form minimal set of 3–5 test requests:
| # | Goal | Params | Expected result |
|---|---|---|---|
| 1 | Base call, no filters | — | Does it work at all, response format |
| 2 | Page limit | limit=1 / size=1 | Whether param exists, what it's called |
| 3 | Cursor pagination | cursor= / next= / after= | Pagination type |
| 4 | Time-based filter | startTs= / after= / since= | Whether timestamp filter works |
| 5 | Entity filter | market=X / user=Y | Is filter required or optional |
Show plan to user — wait for "да" before executing.
Step 3 — Execute probe requests
For each request in plan:
- Show exact request before executing
- Execute via
requests(Python) orcurl— depending on environment - Record: status, response size, key fields
# Python probe template
import requests, json
BASE = "https://api.example.com"
HEADERS = {"Authorization": "Bearer TOKEN"} # if auth needed
def probe(path, params=None):
r = requests.get(BASE + path, headers=HEADERS, params=params)
print(f"{r.status_code} | {len(r.content)}b | {path}?{r.request.path_url.split('?',1)[-1]}")
try:
data = r.json()
if isinstance(data, list) and data:
print(json.dumps(data[0], indent=2)[:300])
elif isinstance(data, dict):
print(json.dumps({k: type(v).__name__ for k, v in data.items()}))
except:
print(r.text[:200])
return r
Step 4 — Record results
After all requests, output summary table:
── Probe results: [endpoint] ────────────────────────
| Parameter | Works? | How to use |
|-----------------|--------|-----------------------------|
| no filters | ✅/❌ | [observation] |
| limit/size | ✅/❌ | limit=N or size=N |
| cursor paging | ✅/❌ | next_cursor field in response|
| startTs filter | ✅/❌ | startTs=unix_ms |
| user filter | ✅/❌ | required / optional |
Recommended call for implementation:
GET [path]?[param1=val]&[param2=val]
Pagination: [cursor / offset / timestamp / none]
Limit: [actual page limit]
Notes: [what doesn't work or is unexpected]
Step 5 — Update documentation
If project has CLAUDE.md:
- Add findings to "Known Issues" or a separate "API Notes" section
- Note confirmed pagination type — to avoid re-checking
RULES
- No more than 10 requests without explicit user consent
- Don't use mutating methods (POST/DELETE) without explicit instruction
- If endpoint returns 401/403 — report immediately, don't guess auth
- If param is undocumented but works — mark as "undocumented, verify in next API version"