본문으로 건너뛰기
cccskills
무료GitHub에 공개

endpoint-validator

Deterministic API endpoint validation with pass/fail reporting.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(4)

  • SKILL.md4.2 KB
  • references/auth-endpoint-patterns.md7.6 KB
  • references/endpoint-config-preferred-patterns.md6.7 KB
  • references/security-headers.md6.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Endpoint Validator Skill

Deterministic HTTP endpoint validation: discover config, test each endpoint against expectations, report pass/fail with CI-compatible exit codes.

Deep References

Load on demand when the signal matches.

SignalReferenceContent
Security header WARNs, HSTS/CSP/X-Framereferences/security-headers.mdHeader checks, required values, remediation
Config errors, hardcoded IPs, timeoutsreferences/endpoint-config-preferred-patterns.mdConfiguration failure modes and fixes
401/403 failures, auth patternsreferences/auth-endpoint-patterns.mdBearer, API-key, cookie auth validation

Instructions

Phase 1: DISCOVER

Read repository CLAUDE.md for base URL conventions or env var names.

Search for endpoint config in order: endpoints.json in project root, tests/endpoints.json, inline specification from user. Prefer version-controlled config over ad-hoc lists.

Config shape:

{
  "base_url": "http://localhost:8000",
  "endpoints": [
    {"path": "/health", "expect_status": 200},
    {"path": "/api/v1/users", "expect_key": "data", "timeout": 10},
    {"path": "/api/v1/search?q=test", "max_time": 2.0}
  ]
}

Endpoint fields: path (required), expect_status (default 200), expect_key (top-level JSON key), timeout (default 5s), max_time (SLOW threshold), method (default GET), headers (per-endpoint).

Rules:

  • Warn before POST/PUT/DELETE against production base URLs.
  • Use hostnames or ${ENV_VAR} in base_url, not hardcoded IPs.
  • Confirm base URL reachable before the full suite.

Gate: config parsed, base URL reachable, at least one endpoint defined.

Phase 2: VALIDATE

Execute, do not reason. Run the request. Paste the exit code and output.

Test endpoints sequentially. For each:

  1. Send request with configured method and timeout.
  2. Check status code against expect_status. Mismatch -> FAIL.
  3. If expect_key set, parse JSON and check key exists. Missing/invalid -> FAIL.
  4. If max_time set and elapsed exceeds it -> SLOW.
  5. On non-localhost URLs, check security headers (HSTS, CSP, X-Content-Type-Options, X-Frame-Options). Missing -> WARN (not FAIL). Skip HSTS on HTTP-only base URLs. Skip X-Frame-Options if CSP has frame-ancestors.

Failure handling: connection refused -> FAIL "Connection refused"; timeout -> FAIL "Timeout after Ns"; invalid JSON on expect_key -> FAIL "Invalid JSON response".

Gate: all endpoints tested, each has PASS/FAIL/SLOW verdict.

Phase 3: REPORT

Format:

ENDPOINT VALIDATION REPORT
==========================
Base URL: http://localhost:8000
  /api/health                    200 OK      45ms
  /api/products                  500 FAIL   "Internal Server Error"
  /api/slow                      200 SLOW   3.2s > 2.0s threshold

SUMMARY: Passed 13/15 (86.7%), Failed 1, Slow 1

Exit 0 if all passed. Exit 1 if any failed.

Error Handling

ErrorCauseFix
Base URL unreachableWrong port or service downss -tlnp to confirm port
All endpoints timeoutWrong host or proxy issuecurl -v a single endpoint
JSON parse failure on expect_keyNon-JSON response (HTML/XML)Remove expect_key or check Content-Type
FAIL on intentional 404Default expect_status is 200Set "expect_status": 404
401 on auth endpointMissing/expired credentialsAdd auth header; see references/auth-endpoint-patterns.md

CI Integration

# Pre-deployment gate with curl
jq -r '.endpoints[].path' endpoints.json | while read path; do
  curl -sf "http://localhost:8000$path" > /dev/null || { echo "FAIL: $path"; exit 1; }
done

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

accounts

무료

Manage multiple Claude Code accounts: add, list, check, launch, and install shell aliases for 10+ isolated CLAUDE_CONFIG_DIR profiles.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

notque/vexjoy-agent4422026년 10월 17일 업데이트

Improve architecture across modules by deepening interfaces.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

notque/vexjoy-agent4422026년 10월 17일 업데이트

Assessment: read-only inspection, codebase overview, value analysis, health checks, ADR consultation, decision analysis, multi-perspective critique.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

notque/vexjoy-agent4422026년 10월 17일 업데이트

Background memory consolidation — overnight review, merge, and injection payload for memory files.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

notque/vexjoy-agent4422026년 10월 17일 업데이트

Jev-driven browser automation: Jev picks operations, programs execute, a text model writes field values only when Jev cannot pick one from the goal.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

notque/vexjoy-agent4422026년 10월 17일 업데이트

Write, compose, integrate, and improve programs that call Jev, TypeSafe's System One judgment model.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

notque/vexjoy-agent4422026년 10월 17일 업데이트

notque의 스킬 모두 보기

이 스킬의 문제 신고