ASD

Api Design Principles

Domina los principios de diseño REST y GraphQL para construir APIs intuitivas, escalables y mantenibles que encanten a los desarrolladores.

Estrellas
38.8k

en todo el repo

Actividad
47

0–100, la ruta de este skill

Actualizado
hace 2 meses

último commit aquí

Commits
1

últimos 90 días

Contexto
901 tok

55 tok en reposo

Paquete
6 archivos

38 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill api-design-principles --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Aplica principios de diseño REST y GraphQL para construir APIs intuitivas, escalables y mantenibles
  • Define convenciones de nombres, semántica HTTP y estrategias de versionado
  • Cubre buenas prácticas como paginación, rate limiting, manejo de errores y documentación OpenAPI

Úsalo cuando

  • Diseñar nuevas APIs REST o GraphQL
  • Refactorizar APIs existentes para mejorar su usabilidad
  • Establecer estándares de diseño de API para un equipo
  • Revisar especificaciones de API antes de implementarlas

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Ayúdame a diseñar una API REST para gestionar pedidos
    • Revisa esta especificación GraphQL antes de implementarla
    • ¿Cómo debería versionar mi API pública?
    • Necesito establecer estándares de diseño de API para mi equipo

    SKILL.md

    En inglés

    API Design Principles

    Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers and stand the test of time.

    When to Use This Skill

    • Designing new REST or GraphQL APIs
    • Refactoring existing APIs for better usability
    • Establishing API design standards for your team
    • Reviewing API specifications before implementation
    • Migrating between API paradigms (REST to GraphQL, etc.)
    • Creating developer-friendly API documentation
    • Optimizing APIs for specific use cases (mobile, third-party integrations)

    Core Concepts

    1. RESTful Design Principles

    Resource-Oriented Architecture

    • Resources are nouns (users, orders, products), not verbs
    • Use HTTP methods for actions (GET, POST, PUT, PATCH, DELETE)
    • URLs represent resource hierarchies
    • Consistent naming conventions

    HTTP Methods Semantics:

    • GET: Retrieve resources (idempotent, safe)
    • POST: Create new resources
    • PUT: Replace entire resource (idempotent)
    • PATCH: Partial resource updates
    • DELETE: Remove resources (idempotent)

    2. GraphQL Design Principles

    Schema-First Development

    • Types define your domain model
    • Queries for reading data
    • Mutations for modifying data
    • Subscriptions for real-time updates

    Query Structure:

    • Clients request exactly what they need
    • Single endpoint, multiple operations
    • Strongly typed schema
    • Introspection built-in

    3. API Versioning Strategies

    URL Versioning:

    /api/v1/users
    /api/v2/users
    

    Header Versioning:

    Accept: application/vnd.api+json; version=1
    

    Query Parameter Versioning:

    /api/users?version=1
    

    Detailed patterns and worked examples

    Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

    Best Practices

    REST APIs

    1. Consistent Naming: Use plural nouns for collections (/users, not /user)
    2. Stateless: Each request contains all necessary information
    3. Use HTTP Status Codes Correctly: 2xx success, 4xx client errors, 5xx server errors
    4. Version Your API: Plan for breaking changes from day one
    5. Pagination: Always paginate large collections
    6. Rate Limiting: Protect your API with rate limits
    7. Documentation: Use OpenAPI/Swagger for interactive docs

    GraphQL APIs

    1. Schema First: Design schema before writing resolvers
    2. Avoid N+1: Use DataLoaders for efficient data fetching
    3. Input Validation: Validate at schema and resolver levels
    4. Error Handling: Return structured errors in mutation payloads
    5. Pagination: Use cursor-based pagination (Relay spec)
    6. Deprecation: Use @deprecated directive for gradual migration
    7. Monitoring: Track query complexity and execution time

    Common Pitfalls

    • Over-fetching/Under-fetching (REST): Fixed in GraphQL but requires DataLoaders
    • Breaking Changes: Version APIs or use deprecation strategies
    • Inconsistent Error Formats: Standardize error responses
    • Missing Rate Limits: APIs without limits are vulnerable to abuse
    • Poor Documentation: Undocumented APIs frustrate developers
    • Ignoring HTTP Semantics: POST for idempotent operations breaks expectations
    • Tight Coupling: API structure shouldn't mirror database schema

    Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

    Archivos

    6 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Incluye un archivo references/details.md con patrones y ejemplos detallados para consultar cuando haga falta.

    Detalles

    Creador
    wshobson
    Licencia
    MIT
    Recursos incluidos
    referencias
    Repositorio
    wshobson/agents
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de wshobson/agents

    Este repo incluye 180 skills. Si instalas uno, normalmente ya tienes los demás.

    Úsalo al seleccionar y colocar iconos, imágenes, SVGs, diagramas o infografías de apoyo aprobados en un PPTX editable.

    Costo de contexto al activarse
    344 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

    Costo de contexto al activarse
    1.3k tok
    Tamaño del paquete
    10 archivos
    Última actualización
    el mes pasado
    herramientas desarrollo

    Úsalo al redactar o reparar una especificación JSON con coordenadas explícitas para un PPTX editable.

    Costo de contexto al activarse
    489 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para validar o reparar un PPTX editable en cuanto a geometría, accesibilidad, editabilidad nativa, linaje de fuente e integridad del paquete OOXML.

    Costo de contexto al activarse
    409 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo para analizar un PPTX de referencia en modo solo lectura: estructura, tema, tipografía, ritmo de layout, diagnósticos, catálogos de plantillas derivados o inspección segura del paquete OOXML.

    Costo de contexto al activarse
    689 tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 26 días
    documentos

    Úsalo al preparar la narrativa, las fuentes y el contexto de diseño para un nuevo deck PPTX editable.

    Costo de contexto al activarse
    415 tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 26 días
    documentos

    Skills relacionados

    Integra el procesamiento de pagos de PayPal, con soporte para express checkout, suscripciones y gestión de reembolsos en flujos de comercio electrónico.

    Costo de contexto al activarse
    1k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    desarrollo apis

    Construye sistemas RAG (Retrieval-Augmented Generation) para aplicaciones LLM con bases de datos vectoriales y búsqueda semántica, integrando conocimiento externo.

    Costo de contexto al activarse
    1.1k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    el mes pasado
    desarrollo apis

    Construye servicios backend de Node.js listos para producción con Express/Fastify, cubriendo middleware, manejo de errores, autenticación, bases de datos y diseño de APIs.

    Costo de contexto al activarse
    499 tok
    Tamaño del paquete
    3 archivos
    Última actualización
    hace 2 meses
    desarrollo apis