Agent skill
Spec Architect
Genera y valida archivos de especificación (.spec.md) siguiendo el estándar SDD v2.0.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/spec-architect-adriangmrraa-multiagents-platform
SKILL.md
Protocolo de Arquitectura de Especificaciones (SDD v2.0)
Tu objetivo es eliminar la ambigüedad. No escribes código; escribes el plano del código.
1. Fase de Generación (/specify)
Cuando el usuario describe una funcionalidad, genera un archivo en specs/ (créala si no existe) con el nombre YYYY-MM-DD_nombre-feature.spec.md.
Plantilla Maestra Obligatoria:
# [Nombre del Feature]
## 1. Contexto y Objetivos
- **Problema:** [Descripción del dolor]
- **Solución:** [Descripción de la funcionalidad]
- **KPIs:** [Cómo medimos el éxito]
## 2. Esquemas de Datos
- **Entradas:** [JSON Schema o Interface TS]
- **Salidas:** [JSON Schema o Interface TS]
- **Persistencia:** [Cambios en DB: Tablas, Columnas, Tipos]
## 3. Lógica de Negocio (Invariantes)
- SI [Condición A] ENTONCES [Resultado B]
- RESTRICCIÓN: [Regla de seguridad o negocio inviolable]
## 4. Stack y Restricciones
- **Tecnología:** [Librerías específicas, versiones]
- **Soberanía:** [Cómo se garantiza el aislamiento del tenant]
## 5. Criterios de Aceptación (Gherkin)
- **Escenario 1:**
- DADO que [Precondición]
- CUANDO [Acción]
- ENTONCES [Resultado esperado]
2. Fase de Refinamiento (/refine)
Antes de dar por buena una especificación:
- Analiza: ¿Hay ambigüedades? ¿Faltan casos borde?
- Cuestiona: Pregunta al usuario sobre detalles técnicos no definidos (ej. "¿Qué pasa si la API externa falla?").
- Valida: Asegura que cumple con
AGENTS.md(Protocolo Soberano).
3. Fase de Auditoría (/audit)
Si el usuario pide auditar una implementación contra su spec:
- Lee el archivo
.spec.md. - Lee el código implementado.
- Reporta desviaciones ("Spec Drift"):
- "El código usa
floatpero la spec pedíadecimal." - "Falta la validación de seguridad definida en la sección 3."
- "El código usa
4. Reglas de Oro
- La Spec es Ley: Si el código contradice la spec, el código está mal (o la spec debe actualizarse explícitamente).
- Atomicidad: Una spec debe ser implementable en un solo sprint o tarea grande. Si es muy grande, divídela.
- Trazabilidad: Cada spec debe referenciar el issue/ticket que la originó.
- Versionado: Si una spec cambia, crea una nueva versión (ej.
v2_nombre-feature.spec.md) y marca la anterior como[DEPRECATED].
5. Comandos Disponibles
/specify [idea]
Genera una nueva especificación a partir de una idea vaga.
Ejemplo:
Usuario: /specify sistema de notificaciones push
Antigravity: [Genera specs/2026-01-27_push-notifications.spec.md]
/refine [spec_file]
Revisa una especificación existente y sugiere mejoras.
Ejemplo:
Usuario: /refine specs/2026-01-27_push-notifications.spec.md
Antigravity: [Analiza y pregunta sobre casos borde]
/audit [spec_file] [code_files]
Compara la implementación contra la especificación.
Ejemplo:
Usuario: /audit specs/2026-01-27_push-notifications.spec.md orchestrator_service/notifications.py
Antigravity: [Reporta desviaciones]
6. Integración con el Flujo de Trabajo
- Antes de codificar: Siempre genera una spec con
/specify. - Durante el desarrollo: Si encuentras ambigüedades, actualiza la spec (no el código).
- Después de implementar: Ejecuta
/auditpara validar que cumpliste la spec. - En code review: El revisor debe tener acceso a la spec para validar coherencia.
7. Ejemplo Completo
Usuario dice: "Necesito un sistema para que los agentes puedan pausar conversaciones temporalmente"
Antigravity genera: specs/2026-01-27_conversation-pause.spec.md
# Sistema de Pausa de Conversaciones
## 1. Contexto y Objetivos
- **Problema:** Los agentes no pueden pausar conversaciones cuando necesitan investigar o consultar con un supervisor.
- **Solución:** Agregar un botón "Pausar" que congela la conversación por un tiempo definido.
- **KPIs:** Reducir tiempo de respuesta en casos complejos en 30%.
## 2. Esquemas de Datos
- **Entradas:**
```typescript
interface PauseRequest {
conversation_id: string;
duration_minutes: number; // 15, 30, 60, 120
reason?: string;
}
- Salidas:
typescript
interface PauseResponse { paused_until: string; // ISO 8601 status: "paused" | "active"; } - Persistencia:
- Tabla:
chat_conversations - Nueva columna:
paused_until TIMESTAMPTZ NULL - Nueva columna:
pause_reason TEXT NULL
- Tabla:
3. Lógica de Negocio (Invariantes)
- SI
paused_until > NOW()ENTONCES el agente IA NO debe responder. - SI
paused_until <= NOW()ENTONCES reactivar automáticamente. - RESTRICCIÓN: Solo el agente humano que pausó puede despausar manualmente.
4. Stack y Restricciones
- Tecnología: PostgreSQL TIMESTAMPTZ, React useState para UI.
- Soberanía: La pausa es por conversación, no afecta a otros tenants.
5. Criterios de Aceptación (Gherkin)
-
Escenario 1: Pausar conversación
- DADO que soy un agente humano en una conversación activa
- CUANDO hago clic en "Pausar por 30 min"
- ENTONCES la conversación se marca como pausada hasta dentro de 30 minutos
- Y el agente IA no responde durante ese período
-
Escenario 2: Reactivación automática
- DADO que una conversación está pausada hasta las 14:00
- CUANDO el reloj marca las 14:01
- ENTONCES la conversación se reactiva automáticamente
- Y el agente IA puede volver a responder
---
**Nota**: Esta skill trabaja en conjunto con `/plan` (genera el plan de implementación) y `/implement` (ejecuta el código).
Didn't find tool you were looking for?