Communitygithub.com

YepAPI/skills

Spécification OpenAPI 3.1 à partir de schémas Zod, documentation interactive avec Swagger/Scalar, versionnage et exemples de requêtes pour chaque point d'accès.

Qu'est-ce que skills ?

Cette compétence guide les développeurs et les agents IA (comme Claude Code, Cursor, ou Codex) dans la création et la maintenance d'une documentation d'API REST de haute qualité en utilisant OpenAPI 3.1 comme source unique de vérité. Elle automatise la génération de la spécification à partir de schémas Zod, garantissant que la documentation reste synchronisée avec le code de validation. La compétence préconise des outils interactifs comme Scalar ou Swagger UI pour servir la documentation à des points de terminaison standards comme `/docs`, et insiste sur l'importance d'inclure des résumés, des descriptions, des schémas de corps de requête, et des codes de réponse avec des exemples réalistes pour chaque point d'accès. Elle définit également des stratégies claires pour le versionnage (URL path), la gestion des erreurs (format cohérent), l'authentification, et le regroupement des endpoints par ressource, tout en déconseillant la rédaction manuelle de YAML, l'absence de documentation des erreurs, et l'utilisation d'exemples génériques ou non réalistes.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/api-documentation

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Documentation d'API

Règles

  • Spécification OpenAPI 3.1 comme source unique de vérité — générée à partir du code, pas écrite manuellement
  • Schémas Zod vers OpenAPI : utiliser zod-openapi ou @asteasolutions/zod-to-openapi — définir une fois, valider et documenter
  • Documentation interactive : Scalar (moderne, rapide) ou Swagger UI — servir sur /docs ou /api-docs
  • Chaque point d'accès doit avoir : un résumé, une description, un schéma du corps de la requête, tous les codes de réponse avec des exemples
  • Exemple de requête/réponse pour chaque point d'accès — utiliser des données réalistes, pas des espaces réservés "string"
  • Stratégie de versionnage : chemin d'URL (/api/v1/, /api/v2/) pour les changements cassants — plus simple que le versionnage par en-tête
  • Réponses d'erreur : documenter tous les formats d'erreur de manière cohérente — { error: string, code: string, details?: objet }
  • Authentification : documenter le schéma d'authentification (jeton Bearer, clé API) dans la section des schémas de sécurité
  • Grouper les points d'accès par ressource : /users, /products, /orders — utiliser des balises (tags) pour le regroupement dans l'interface de documentation

Exemples

// zod-to-openapi avec Hono/Express
import { z } from "zod";
import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
extendZodWithOpenApi(z);

const UserSchema = z.object({
  id: z.string().uuid().openapi({ example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }),
  name: z.string().openapi({ example: "Jane Smith" }),
  email: z.string().email().openapi({ example: "[email protected]" }),
}).openapi("User");

const CreateUserSchema = UserSchema.omit({ id: true }).openapi("CreateUser");

// Enregistrer le point d'accès
registry.registerPath({
  method: "post",
  path: "/api/v1/utilisateurs",
  summary: "Créer un utilisateur",
  request: { body: { content: { "application/json": { schema: CreateUserSchema } } } },
  responses: {
    201: { description: "Utilisateur créé", content: { "application/json": { schema: UserSchema } } },
    400: { description: "Erreur de validation" },
  },
});

À éviter

  • Écrire du YAML OpenAPI à la main — générer à partir de schémas Zod ou de définitions de routes
  • Omettre la documentation des réponses d'erreur — documenter les codes 400, 401, 403, 404, 500
  • Exemples génériques comme "string" ou 0 — utiliser des valeurs réalistes qui montrent la forme des données réelles
  • Documentation qui s'écarte de l'implémentation — générer la spécification à partir des mêmes schémas utilisés pour la validation

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

Skills associés