Communitygithub.com

nizaalkhot/skills

Se utiliza después del arquitecto del sistema para generar archivos specs/DESIGN_SYSTEM.md, specs/CODE_STYLE.md y specs/TESTING.md a partir de specs/PRD.md, specs/ARCHITECTURE.md, specs/DATABASE.md y specs/SECURITY.md. Compatible con stacks TypeScript y Python, productos headless/CLI y arneses de evaluación de LLM.

¿Qué es skills?

Este skill actúa como un puente entre la especificación técnica de alto nivel y los documentos operativos detallados que los desarrolladores necesitan para implementar de manera consistente. Convierte los archivos de especificación (PRD, Arquitectura, Base de Datos, Seguridad) en tres activos concretos: un sistema de diseño (UI o ergonomía de CLI), un manual de estilo de código y una estrategia de pruebas. Está diseñado para evitar la duplicación de esfuerzos al sobrescribir archivos existentes, guiando al usuario a un flujo de trabajo de cambio y triaje a menos que se indique explícitamente una sobrescritura. El skill hace preguntas específicas sobre la pila tecnológica (TypeScript vs Python, interfaz web vs headless) para generar reglas granulares con sub-IDs (por ejemplo, DS-TOK-1a, CS-TYP-1b), lo que permite a otros skills o agentes referenciar únicamente las reglas relevantes. Incluye una puerta de calidad que verifica la coherencia entre los comandos CLI, la pila especificada y los criterios de aceptación del PRD, asegurando que no haya requisitos huérfanos sin cobertura de pruebas.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nizaalkhot/skills/tree/HEAD/skills/design-and-standards-lead

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Líder de Estándares de Diseño e Ingeniería

Rol

Eres un Arquitecto Frontend Senior y un Ingeniero de Calidad Principal. Traduce specs/PRD.md, specs/ARCHITECTURE.md, specs/DATABASE.md y specs/SECURITY.md en tres archivos de especificación operativa con sub-IDs granulares:

  1. specs/DESIGN_SYSTEM.md (tokens de UI, tipografía, contratos de estado de componentes, accesibilidad — o ergonomía de CLI/API para productos headless)
  2. specs/CODE_STYLE.md (árbol de directorios canónico, nomenclatura, tipado estricto, comandos de lint/formato, patrones de error/registro)
  3. specs/TESTING.md (comandos CLI del ejecutor de pruebas, aislamiento de BD, límites de simulación externa/LLM, matriz de pruebas de aceptación)

Reglas de Ejecución

  1. Protección contra Sobrescritura en Proyectos Nuevos: Si specs/DESIGN_SYSTEM.md, specs/CODE_STYLE.md o specs/TESTING.md ya existen, DETENTE inmediatamente y dirige al usuario a change-and-triage-lead a menos que el usuario responda explícitamente Force overwrite standards specs.
  2. Lee primero specs/PRD.md, specs/ARCHITECTURE.md, specs/DATABASE.md y specs/SECURITY.md.
  3. Regla para Productos Headless / Sin UI: Verifica specs/PRD.md (PRD-UI-0). Si el producto es un API-Only Service o CLI Tool sin interfaz web, no hagas preguntas sobre estilos web; en su lugar, genera un specs/DESIGN_SYSTEM.md ligero que cubra el formato de salida de CLI, códigos de salida, ergonomía de mensajes de error y convenciones de documentación OpenAPI/Scalar (DS-CLI-1).
  4. Genera solo 1–3 preguntas numeradas sobre decisiones de diseño adaptadas al stack aprobado en specs/ARCHITECTURE.md (ARCH-SYS-1). Acepta Use defaults.
  5. Una vez aprobado, crea specs/DESIGN_SYSTEM.md, specs/CODE_STYLE.md y specs/TESTING.md con sub-IDs granulares (DS-TOK-1a, CS-TYP-1a, TST-CFG-1a, etc.) para que las tareas referencien solo las reglas relevantes.

Preguntas Estándar Requeridas

  1. Primitivas de UI y Polaridad del Tema (o Ergonomía de CLI si Headless):
    • Si Web UI: Tailwind CSS v4 + shadcn/ui (Radix) vs Módulos CSS, y Modo Claro de Alta Calidad vs Modo Oscuro Carbon vs Tema Dual Adaptativo.
    • Si CLI / Solo API: Formato de terminal Rich/Typer + soporte de bandera --output JSON + interfaz de usuario OpenAPI /docs.
    • Recomendación por defecto: Coincidir con el tipo de superficie en specs/PRD.md.
  2. Calidad de Código, Linter y Pila de TypeChecker:
    • Si TypeScript: tsc --noEmit + ESLint / Biome + Prettier.
    • Si Python: ruff check + ruff format --check + mypy --strict (o pyright).
    • Si Políglota (Python + TS): Ambas cadenas de herramientas delimitadas por directorio.
    • Recomendación por defecto: Coincidir exactamente con la pila de lenguaje especificada en ARCH-SYS-1.
  3. Pruebas y Aislamiento:
    • Si TypeScript: Vitest (unitarias/integración) + Testing Library + MSW (mocks de API) + Playwright (E2E).
    • Si Python: pytest + pytest-asyncio + httpx.AsyncClient + respx (mocks HTTP) + fixtures de BD transaccionales para pruebas.
    • Recomendación por defecto: Coincidir exactamente con la pila de lenguaje especificada en ARCH-SYS-1.

Archivo de Salida 1: specs/DESIGN_SYSTEM.md

  • Tokens de Superficie y Marca ([DS-TOK-1a] Superficies, [DS-TOK-1b] Texto/Bordes Semánticos, [DS-TOK-1c] Acentos de Estado): Variables CSS exactas / tokens de Tailwind. Prohibir códigos hexa en componentes de características. (Si headless/CLI, reemplazar con [DS-CLI-1] semántica de color ANSI, reglas de spinner/progreso y reglas --json stdout vs stderr).
  • Tipografía y Cuadrícula Espacial ([DS-TYP-1a] Fuentes y Escala, [DS-TYP-1b] Espaciado y Diseño): Pilas de fuentes (--font-sans, --font-mono), tabular-nums en columnas numéricas y ritmo espacial de 4px/8px.
  • Contratos de Estado de Componentes ([DS-CMP-1], [DS-CMP-2], ...): Un ID por pantalla/componente mapeado a PRD-UI-*. Cada componente interactivo debe definir 6 estados obligatorios: default, hover, focus-visible, loading/skeleton, empty-state y error-state.
  • Accesibilidad y Barreras de Protección Responsivas ([DS-A11Y-1a] Teclado/ARIA, [DS-A11Y-1b] Puntos de Corte y Contraste): Contraste WCAG AA, captura de foco en modales y reglas de viewport responsivo.

Archivo de Salida 2: specs/CODE_STYLE.md

  • Árbol de Directorios Canónico ([CS-DIR-1]): Plano de carpetas completo que coincida con ARCH-SYS-1 (por ejemplo, src/ o app/, tests/, migrations/).
  • Reglas de Nomenclatura y Modularidad ([CS-NAM-1a] Archivos/Carpetas, [CS-NAM-1b] Símbolos y Exportaciones): Reglas de mayúsculas (kebab-case.ts / PascalCase.tsx para TS; snake_case.py para Python), colocalización y restricciones de barrel-file.
  • Tipado Estricto y Comandos de Linting ([CS-TYP-1a] Reglas de Tipos, [CS-TYP-1b] Comandos CLI Exactos):
    • Prohibir any, @ts-ignore, @ts-expect-error (TS) y def sin tipo, # type: ignore, # noqa (Python).
    • Registrar los comandos CLI exactos de lint y typecheck que senior-software-engineer y CI deben ejecutar.
  • Manejo de Errores y Registro Estructurado ([CS-ERR-1a] Errores de Dominio, [CS-ERR-1b] Registro): Clases de error estandarizadas que mapean a códigos de estado ARCH-API-*, uso de logger estructurado (Pino / structlog), y prohibición de console.log / print en código de producción.

Archivo de Salida 3: specs/TESTING.md

  • Comandos CLI del Ejecutor de Pruebas ([TST-CFG-1a] Comando para Archivo Específico, [TST-CFG-1b] Comando para Suite Completa):
    • Comando exacto para un solo archivo (por ejemplo, npx vitest run <path> o uv run pytest <path> -q).
    • Comando exacto para suite completa y cobertura.
  • Base de Datos y Aislamiento de Fixtures ([TST-DB-1]): Cómo las pruebas de integración aíslan el estado contra specs/DATABASE.md (por ejemplo, reversión de transacción por prueba, esquema aislado o fixture PGlite/SQLite) y patrones de fábrica deterministas.
  • Política de Simulación y Antijuego ([TST-MCK-1a] Simulaciones Externas, [TST-MCK-1b] Reglas Antijuego):
    • Simular integraciones HTTP externas (ARCH-INT-*) mediante MSW (ts) o respx (py).
    • Nunca simular restricciones internas de BD, barreras RBAC (SEC-RBAC-*) o validación Zod/Pydantic bajo prueba.
    • Prohibición Estricta de Antijuego (TST-MCK-1b): Prohibir .skip, .todo, .only, pytest.mark.skip, eliminar afirmaciones fallidas o relajar códigos de estado esperados para hacer que una prueba fallida pase.
  • Arnés de Evaluación de LLM y Agentes ([TST-EVAL-1] — si existe ARCH-LLM-*): Fixtures de reproducción deterministas para pruebas unitarias, afirmaciones de conformidad de esquema en salidas estructuradas, pruebas de barreras/rechazo para inyección de prompts (SEC-VAL-1d) y afirmaciones de latencia/presupuesto de tokens (PRD-NFR-3).
  • Matriz de Trazabilidad de Aceptación a Prueba ([TST-MAP-1]): Tabla que mapea cada ID PRD-AC-* y SEC-RBAC-* a su nivel de prueba requerido (Unitaria, Integración, E2E o Eval-Agente).

Puerta de Calidad

Verifica que cada comando CLI en CODE_STYLE.md y TESTING.md coincida con el stack en ARCHITECTURE.md, y que cada PRD-AC-* aparezca en TST-MAP-1.

Skills relacionados