Voltar ao índice
Design e UI

Criação e manutenção de especificações OpenAPI 3.1

Projete, gere e valide contratos OpenAPI 3.1 para documentar APIs REST, apoiar SDKs e alinhar implementação e especificação.

Ver código no GitHub Instala diretamente do repositório-fonte.

O que esta skill faz

Esta skill reúne padrões para criar e manter especificações OpenAPI 3.1 em fluxos design-first, code-first ou híbridos. Ela aborda paths, schemas, segurança, exemplos, respostas de erro, referências reutilizáveis e versionamento.

Quando usar

  • Criar documentação de uma API REST
  • Gerar uma especificação a partir do código
  • Definir um contrato antes da implementação
  • Validar uma API contra sua especificação
  • Preparar uma spec para geração de SDK

Como usar

  1. Revise o repositório e escolha design-first, code-first ou híbrido
  2. Defina metadados, servidores, paths e operações
  3. Modele schemas, segurança, parâmetros e erros reutilizáveis
  4. Adicione exemplos representativos
  5. Valide a especificação e sua correspondência com a implementação

O que revisar antes de instalar

  • A skill não garante conformidade sem validação da implementação
  • Geração de SDK depende de ferramentas externas não especificadas
  • Mudanças incompatíveis exigem estratégia explícita de versionamento

SKILL.md

---
name: openapi-spec-generation
description: Generate and maintain OpenAPI 3.1 specifications from code, design-first specs, and validation patterns. Use when creating API documentation, generating SDKs, or ensuring API contract compliance.
---

# OpenAPI Spec Generation

Comprehensive patterns for creating, maintaining, and validating OpenAPI 3.1 specifications for RESTful APIs.

## When to Use This Skill

- Creating API documentation from scratch
- Generating OpenAPI specs from existing code
- Designing API contracts (design-first approach)
- Validating API implementations against specs
- Generating client SDKs from specs
- Setting up API documentation portals

## Core Concepts

### 1. OpenAPI 3.1 Structure

```yaml
openapi: 3.1.0
info:
  title: API Title
  version: 1.0.0
servers:
  - url: https://api.example.com/v1
paths:
  /resources:
    get: ...
components:
  schemas: ...
  securitySchemes: ...
```

### 2. Design Approaches

| Approach         | Description                  | Best For            |
| ---------------- | ---------------------------- | ------------------- |
| **Design-First** | Write spec before code       | New APIs, contracts |
| **Code-First**   | Generate spec from code      | Existing APIs       |
| **Hybrid**       | Annotate code, generate spec | Evolving APIs       |

## Templates and detailed worked examples

Full template library and detailed worked examples live in `references/details.md`. Read that file when you need the concrete templates.

## Best Practices

### Do's

- **Use $ref** - Reuse schemas, parameters, responses
- **Add examples** - Real-world values help consumers
- **Document errors** - All possible error codes
- **Version your API** - In URL or header
- **Use semantic versioning** - For spec changes

### Don'ts

- **Don't use generic descriptions** - Be specific
- **Don't skip security** - Define all schemes
- **Don't forget nullable** - Be explicit about null
- **Don't mix styles** - Consistent naming throughout
- **Don't hardcode URLs** - Use server variables