AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Api Design

skill-crewforth-crewforth-api-design · by crewforth

|

— No reviews yet
0 installs
0 views
— view→install

Install

$ agentstack add skill-crewforth-crewforth-api-design

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-crewforth-crewforth-api-design)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● today

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Api Design? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

API Design

Trigger phrases: "api design", "api contract", "api versioning", "openapi", "swagger", "rest contract", "breaking api change", "response shape", "response format", "endpoint returns", "error format"

Goal: a contract the consumer can predict and that can evolve without breaking. Once published, a public API is a commitment; a breaking change is expensive. Stack-agnostic (REST as the baseline; GraphQL/gRPC follow similar principles).

Checklist

  • [ ] Resource names are consistent (plural nouns, a single kebab/camel style), resources not verbs
  • [ ] Correct HTTP semantics: GET (side-effect free) · POST · PUT/PATCH · DELETE; correct status code
  • [ ] A uniform error model: machine-readable code + human message + (if any) field details
  • [ ] A clear versioning strategy (URL /v1 or header); a breaking change means a new version
  • [ ] Pagination/filtering/sorting defined and consistent on large collections
  • [ ] Backward compatibility: adding a field is additive; removing a field or changing its meaning is breaking → version
  • [ ] Idempotency (for POST/payment-like cases) supported via a key when needed
  • [ ] The contract is documented in OpenAPI; example request/response present (coordinate with docs-writer)

How

  1. Model the resource — a noun not a verb: POST /orders (✓), POST /createOrder (✗).
  2. Status codes: 200/201/204 · 400 validation · 401/403 authorization · 404 · 409 conflict · 422 · 429 · 5xx. Use them meaningfully.
  3. Error contract — every error has the same shape:

``json { "code": "ORDER_NOT_FOUND", "message": "Order not found", "details": [] } ` No stack trace / internal detail leakage (overlaps with security-scan`).

  1. Versioning: additive changes in the same version; breaking (remove/rename a field / add a required field) → /v2.
  2. Collection: pagination (cursor or offset), filter/sort parameters; a consistent envelope.
  3. Write the contract — OpenAPI/schema; with examples. Wire the change to docs-writer, and if breaking to release/CHANGELOG.

Breaking vs additive

| Additive (safe) | Breaking (needs a version) | |---|---| | Add an optional field/endpoint | Remove / rename a field | | A new optional parameter | Add a required parameter | | A new enum value (if the consumer is tolerant) | Change a type/meaning, change a status code |

Invariant rules

  1. A public API is a commitment — a breaking change is not made silently; version + announcement.
  2. Consistency > local cleverness — a single naming/error/pagination pattern across the whole API.
  3. The error model is uniform and machine-readable.
  4. No internal detail leakage — a stack trace / DB error does not go to the consumer.
  5. The contract is documented — OpenAPI + example; at design time, not after the code.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.