视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
api-docs-writer【文档与办公】Escribe documentación clara y orientada a desarrolladores. Úsalo cuando se te pida documentar un endpoint de API, escribir docs de referencia de API, crear una guía de desarrollador, o convertir una especificación cruda o colección Postman en documentación. Produce documentación de endpoint con descripciones, parámetros, ejemplos de request/response …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Esta skill transforma especificaciones de API crudas, descripciones de endpoint o colecciones Postman en documentación limpia y orientada a desarrolladores, siguiendo convenciones adyacentes a OpenAPI. El resultado está listo para un portal de desarrolladores, README o página en Notion/Confluence.
Trabaja con lo que se proporciona. Si falta alguno de estos, aun así produce el output completo: llena cada brecha con una suposición razonable marcada como (assumed, confirm) y lista esas suposiciones al final. Haz una pregunta solo cuando el tema central en sí falte (no hay nada sobre qué escribir).
Para cada endpoint, produce lo siguiente:
[METHOD] /path/to/endpointSummary: [Una línea — qué hace este endpoint]
Description: [2–4 oraciones. Cuándo usar este endpoint. Qué devuelve. Cualquier comportamiento importante a conocer (paginación, rate limits, procesamiento asincrónico, etc.)]
Authentication: [Requerida / Opcional — método]
Headers:
| Header | Requerido | Descripción |
|---|---|---|
Authorization | Sí | Bearer <token> |
Content-Type | Sí | application/json |
Path Parameters:
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | string | Sí | Identificador único para el recurso |
Query Parameters:
| Parámetro | Tipo | Requerido | Default | Descripción |
|---|---|---|---|---|
limit | integer | No | 20 | Máximo de resultados por página (1–100) |
cursor | string | No | — | Cursor de paginación de response anterior |
Request Body:
{
"field_name": "value",
"another_field": 42
}
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
field_name | string | Sí | [Descripción clara de qué hace este campo] |
another_field | integer | No | [Descripción. Incluye rango válido o valores enum si aplica] |
Success Response: 200 OK
{
"id": "abc123",
"status": "active",
"created_at": "2025-04-01T10:00:00Z"
}
| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador único para el recurso creado/recuperado |
status | string | Estado actual. Enum: active, inactive, pending |
created_at | ISO 8601 string | Timestamp de creación en UTC |
| Status Code | Error Code | Descripción | Cómo Resolver |
|---|---|---|---|
400 | INVALID_REQUEST | El request body está mal formado o faltan campos requeridos | Verifica el request body contra el schema arriba |
401 | UNAUTHORIZED | Token de autenticación faltante o inválido | Verifica tu API key o refresca tu token |
404 | NOT_FOUND | El recurso solicitado no existe | Verifica el ID en el parámetro de path |
429 | RATE_LIMITED | Demasiadas requests | Espera y reintentas después del valor del header Retry-After |
500 | INTERNAL_ERROR | Error inesperado del servidor | Reintentas con exponential backoff; contacta soporte si persiste |
Produce ejemplos en al menos 2 lenguajes relevantes para la audiencia (default: cURL + Python):
cURL:
curl -X POST https://api.example.com/v1/endpoint \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"field_name": "value"}'
Python:
import requests
response = requests.post(
"https://api.example.com/v1/endpoint",
headers={"Authorization": "Bearer YOUR_TOKEN"},
json={"field_name": "value"}
)
data = response.json()
Esta skill incluye archivos de soporte — úsalos cuando estén disponibles:
references/example-first-docs.md — Example-First API Docs: las Reglas Que Hacen la Documentación Usable. Aplícalas mientras produces el output; contiene la calibración y decisiones de juicio que el resumen de método arriba comprime.templates/endpoint-entry.md — una versión para rellenar del entregable con los quality gates inline. Ofrécela cuando el usuario quiera trabajar el documento por sí mismo en lugar de tenerlo generado.Puntúa cualquier output de esta skill antes de entregarlo; 32+ es de calidad para producción.
| Dimensión | 0 | 5 | 10 |
|---|---|---|---|
| Completitud de parámetros | Campos listados sin tipos o flags requerido/opcional | Tablas completas, pero descripciones dicen qué es un campo, no qué hace; faltan enums y rangos | Cada campo tipado y restringido (enums, rangos, formatos), descrito por comportamiento y consecuencia |
| Cobertura de error-path | Solo happy path — sin tabla de errores | Rows estándar 400/401/404/429/500 presentes pero sin guía de resolución | Conjunto estándar completo más códigos específicos del endpoint, cada uno con qué debe hacer el desarrollador, incluyendo casos no-seguros para retry |
| Runnability de ejemplos | Pseudo-código, variables indefinidas, o placeholders "YOUR_ENDPOINT" | Los ejemplos existen pero no son copy-paste-runnable o usan solo un lenguaje | ≥2 lenguajes, URL base real, credenciales placeholder obviamente falsas, runnable tal como está pegado |
| Candor conductual | Comportamiento asincrónico, paginación, idempotencia, y quirks heredados omitidos | Quirks mencionados en prosa pero ausentes de ejemplos y rows de error | Gotchas documentadas con los exact requests/responses que producen, incluyendo comportamiento heredado incómodo |