From claude-resources
HTTP/gRPC API design principles. Use when building APIs, designing handlers, planning middleware, or reviewing API surfaces. Pair with language-specific api-design skill.
npx claudepluginhub deandum/claude-resources --plugin go-skillsThis skill uses the workspace's default tool permissions.
Design clear, consistent APIs. Separate transport from domain logic.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides agent creation for Claude Code plugins with file templates, frontmatter specs (name, description, model), triggering examples, system prompts, and best practices.
Design clear, consistent APIs. Separate transport from domain logic.
Every handler follows: parse → validate → execute → respond.
Consistent error body format. Map domain errors at the boundary.
| Domain Error | HTTP Status | When |
|---|---|---|
| NotFound | 404 | Resource doesn't exist |
| Validation | 400/422 | Bad input |
| Conflict | 409 | Duplicate, version mismatch |
| Forbidden | 403 | Not allowed |
| Unauthorized | 401 | Not authenticated |
| Internal | 500 | Log error, return generic message |
Order matters. Typical stack (outermost first):
/api/v1/users (simplest, most explicit)Never use defaults in production:
/healthz — is the process alive? Always 200 if running./readyz — ready for traffic? Check dependencies (DB, cache).| Shortcut | Reality |
|---|---|
| "We'll version later" | Versioning retrofits break clients. Design v1 from the start. |
| "Just expose the domain model" | Leaks internals. Transport DTOs decouple API from implementation. |
| "Validation can happen in the service" | Reject bad input at the boundary. Don't propagate garbage inward. |