From argos
REST/OpenAPI/GraphQL/WS contract review — versioning, idempotency, error model, breaking change, auth scope, pagination.
How this skill is triggered — by the user, by Claude, or both
Slash command
/argos:api-contract-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`agents/shared/severity-rubric.md` ve `agents/shared/escalation-matrix.md` default-load
agents/shared/severity-rubric.md ve agents/shared/escalation-matrix.md default-load
sayılır (agents/coordination.md §11). Bu skill'in çıktısı Critical / High / Medium /
Low + kanıt formatında olmak zorunda — spekülatif Critical yasak. Sahiplik dışı bulgu
ilgili agent'a delege; karar yetkisi eşiği aşılırsa kullanıcı onayı zorunlu.
openapi.yaml, openapi.json, *.openapi.**.graphql, *.graphqls, schema.jsonroutes/, controllers/, @app.get, @router.post, r.HandleFunc, app.get(...)/orders değil /order_list)./orders/{id}/items)./getUser ❌ → GET /users/{id} ✅).Idempotency-Key header zorunlu.200 body var, 204 body yok.201 Created + Location header POST'ta.202 Accepted async iş için + status URL.400 validation, 401 unauthenticated, 403 unauthorized, 404 not found,
409 conflict, 422 semantic validation, 429 rate limit, 5xx server.{type, title, status, detail, instance}./v1/...) veya Accept: application/vnd.example.v1+json./v2/...); eski major en az 6 ay veya next-major release'e kadar yaşamalı (Sunset header).Idempotency-Key zorunlu, server hash'i 24-72 saat saklasın.Link: <...>; rel="next" veya body: { data, next_cursor, has_more }.security:).403 + RFC 7807 type: ".../insufficient-scope".RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (RFC draft).429 + Retry-After header.{ "error": "..." } ve { "detail": "..." } karışık → tek standart.oasdiff veya graphql-inspector diff koştur.@deprecated(reason: "...") + sunset tarihi.{ type, version, payload, ts, correlation_id }.agents/websocket-protocol-auditor ile birlikte review./createOrder, /getUser) — REST resource modeline aykırı.200 OK { error: "..." } — status hep 200, error body'de — client retry mantığı bozulur.string field üstüne ek constraint (max length) eklemek breaking sayılabilir, dökumented olmalı.?offset=...&limit=... 1M satırlık tabloda — DB tarafı ölür.Idempotency-Key yokken POST /payments — duplicate charge riski.Query.users(limit: Int) limit opsiyonel + cap yok → DoS vektörü.Accept: application/json her sürümde aynı) → versioning fiilen yok.User: /api-contract-review openapi.yaml
Agent (api-contract-guardian):
1. spec parse + önceki sürümle oasdiff.
2. Tespit: POST /payments Idempotency-Key yok (Critical — duplicate charge).
3. Tespit: GET /v1/users snake_case, GET /v1/orders camelCase (High — client confusion).
4. Tespit: 201 yerine 200 POST /orders (Medium).
5. Tespit: Error body 3 farklı şekilde (High — RFC 7807 standardize et).
6. Delege: security-reviewer auth scope kontrolüne; test-engineer contract test eksiğine.
7. Output: rapor + diff + breaking change tablosu + sunset planı.
# API Contract Review: <spec/route>
## Critical
- [ ] ... — kanıt: line/diff
## High
## Medium
## Low
## Breaking Changes (vs prev)
- field/type değişiklik tablosu
## Diff (özet)
```yaml
# fixed openapi snippet
npx claudepluginhub resultakak/argos --plugin argosGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.