From cli-power-skills
Use when testing HTTP endpoints, probing URLs for status and headers, or running declarative API test suites from plain text files
How this skill is triggered — by the user, by Claude, or both
Slash command
/cli-power-skills:api-testingThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Testing REST API endpoints for correct responses
| Tool | Purpose | Structured output |
|---|---|---|
| Hurl | Declarative HTTP testing from plain text .hurl files | --json for JSON report |
| httpx | Fast HTTP probing toolkit (ProjectDiscovery) | -json for JSON output |
Create a .hurl file:
GET http://localhost:3000/api/health
HTTP 200
[Asserts]
jsonpath "$.status" == "ok"
Run it:
hurl health.hurl
POST http://localhost:3000/api/users
Content-Type: application/json
{
"name": "Alice",
"email": "[email protected]"
}
HTTP 201
[Asserts]
jsonpath "$.id" isInteger
jsonpath "$.name" == "Alice"
# Step 1: Login
POST http://localhost:3000/api/auth/login
Content-Type: application/json
{
"email": "[email protected]",
"password": "secret"
}
HTTP 200
[Captures]
token: jsonpath "$.token"
# Step 2: Create resource with token
POST http://localhost:3000/api/items
Authorization: Bearer {{token}}
Content-Type: application/json
{
"title": "New Item"
}
HTTP 201
[Captures]
item_id: jsonpath "$.id"
# Step 3: Verify resource exists
GET http://localhost:3000/api/items/{{item_id}}
Authorization: Bearer {{token}}
HTTP 200
[Asserts]
jsonpath "$.title" == "New Item"
hurl --test --report-json report/ tests/*.hurl
hurl --variable host=https://staging.example.com --variable token=abc123 tests/api.hurl
echo -e "https://example.com\nhttps://httpbin.org\nhttps://nonexistent.invalid" | httpx -silent -status-code
echo "https://example.com" | httpx -json -title -tech-detect -status-code
echo -e "192.168.1.1\n192.168.1.2" | httpx -ports 80,443,8080 -status-code
echo "http://github.com" | httpx -follow-redirects -location -status-code
hurl --test --report-json report/ tests/*.hurl 2>&1; jq '[.[] | select(.success == false) | {file: .filename, errors: [.entries[] | select(.errors | length > 0) | .errors]}]' report/*.json
Each stage: Hurl runs all tests and writes JSON reports, jq filters to failures and extracts error details.
katana -u https://example.com -silent -d 2 | httpx -silent -status-code -json
Each stage: Katana crawls and discovers URLs, httpx probes each for status and metadata.
curl directlynpx claudepluginhub ykotik/cli-power-skills --plugin cli-power-skillsTests REST API endpoints: validates requests/responses/auth, generates curl/Postman/scripts, load tests concurrency/response times, security scans injections/XSS/CORS.
Sends HTTP requests using the Postman CLI. Supports methods, headers, body, form data, auth, environments, retries, and response saving.
Drives a running HTTP/JSON service with curl + jq, asserts on status, shape, headers, and timing, and captures full request-response transcripts to distinguish spec violations from flake.