Agent skill

api-contract-change-end-to-end

Use this when changing REST endpoints so Rust DTOs, UI DTOs, OpenAPI, and docs stay in sync.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/api-contract-change-end-to-end

SKILL.md

Goal

Make API changes once, but keep all consumers consistent (CLI/server, UI, docs).

Checklist

  1. Locate the endpoint
  • Routing/handlers: src/routes.rs, src/api_server.rs, src/web_server.rs
  1. Update Rust contract types
  • DTOs: src/api_types.rs
  • If you adjust validation/errors, keep behavior consistent with existing API error shapes (src/errors.rs).
  1. Update UI types + API client
  • DTOs: view/api/types.ts (explicit note at top: aligned with src/api_types.rs)
  • Calls: view/api/client.ts
  1. Update OpenAPI + help docs
  • REST schema: docs/openapi.json
  • If it’s user-visible, update relevant guides under docs/help/* (often docs/help/api-quick-reference.md, plus the feature-specific page).
  1. Add/adjust tests
  • Rust behavior: tests/*.rs (integration-heavy, many use assert_cmd).
  • UI behavior: npm run test:ui (Vitest).
  • Cross-cutting behavior: consider adding/updating smoke coverage under smoke/tests/.
  1. Verify locally (CI parity)
  • npm run lint
  • npm test
  • npm run smoke

Notes

  • Treat this repo as “contract-synchronized”: changing just one of Rust/UI/OpenAPI will likely break users or tests.
  • Prefer incremental changes that preserve backwards compatibility for existing clients when practical.

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results