From vmkteam-developer
Checks health of JSON-RPC (zenrpc) services using pcurl: POST requests, timings, SMD discovery, error codes. For verifying prod/staging API endpoints.
npx claudepluginhub vmkteam/claude-plugins --plugin vmkteam-developerThis skill uses the workspace's default tool permissions.
Проверка здоровья API и тестовые запросы к JSON-RPC (zenrpc) сервисам.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Проверка здоровья API и тестовые запросы к JSON-RPC (zenrpc) сервисам.
Profile: @{api_prod_profile} (production), @{api_dev_profile} (staging)
API type: JSON-RPC 2.0 (zenrpc)
RPC endpoint: определяется при онбординге (может быть /rpc/, /v1/rpc/, /v3/rpc/ и т.д.)
ВАЖНО:
/statusи/healthcheckобычно скрыты за firewall, недоступны снаружи- SMD (GET на RPC endpoint) может не работать через reverse proxy (фронтенд перехватывает GET)
- RPC endpoint может быть версионирован:
/v1/rpc/,/v3/rpc/— уточнять при онбординге
pcurl @{profile} https://{host}/{rpc_endpoint} -s -L -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"{namespace.method}","params":{params},"id":1}'
pcurl @{profile} https://{host}/{rpc_endpoint} -s -L -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"{namespace.method}","params":{params},"id":1}' \
-w '\n---\nHTTP %{http_code} | Time: %{time_total}s | TTFB: %{time_starttransfer}s | Size: %{size_download}b\n'
pcurl @{profile} https://{host}/{rpc_endpoint} -s -o /dev/null -X POST \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"{namespace.method}","params":{params},"id":1}' \
-w 'HTTP %{http_code} | Total: %{time_total}s | TTFB: %{time_starttransfer}s\n'
# SMD доступен через ?smd query parameter
pcurl @{profile} 'https://{host}/{rpc_endpoint}?smd' -s -L
# SMDBox UI (документация в браузере)
# https://{host}/{rpc_endpoint}doc/
Запрос:
{"jsonrpc": "2.0", "method": "namespace.method", "params": {"key": "value"}, "id": 1}
Успех:
{"jsonrpc": "2.0", "result": {...}, "id": 1}
Ошибка (HTTP 200, но error в body!):
{"jsonrpc": "2.0", "error": {"code": -32600, "message": "Invalid Request"}, "id": 1}
-32700 — Parse error-32600 — Invalid Request-32601 — Method not found-32602 — Invalid params-32603 — Internal error400 — Bad Request (валидация)401 — Unauthorized (Invalid token)403 — Forbidden404 — Not Found500 — Internal Error