choose-stack
Scannednpx machina-cli add skill 686f6c61/alfred-dev/choose-stack --openclawElegir stack tecnológico
Resumen
Este skill evalúa alternativas tecnológicas de forma estructurada mediante una matriz de decisión ponderada. El objetivo es eliminar el sesgo de "lo que ya conozco" o "lo que está de moda" y sustituirlo por una evaluación objetiva basada en criterios relevantes para el proyecto concreto.
La elección de stack es una de las decisiones más costosas de revertir, por lo que merece un análisis riguroso. Este skill produce un documento que justifica la decisión y sirve como referencia futura para el equipo.
Proceso
-
Recopilar requisitos del proyecto. Antes de evaluar tecnologías, entender qué se necesita: tipo de aplicación, escala esperada, equipo disponible, restricciones de tiempo, presupuesto y requisitos regulatorios.
-
Definir los criterios de evaluación y sus pesos. Los criterios dependen del contexto, pero considerar siempre:
Criterio Peso sugerido Descripción Rendimiento Variable Latencia, throughput, uso de memoria según las necesidades del proyecto. Ecosistema Alto Librerías, frameworks, herramientas disponibles. Curva de aprendizaje Variable Tiempo que necesita el equipo para ser productivo. Mantenimiento Alto Facilidad de actualizar, depurar y evolucionar. Seguridad Alto Historial de vulnerabilidades, prácticas del ecosistema. Comunidad Medio Tamaño, actividad, calidad de documentación. Coste operativo Variable Infraestructura, licencias, herramientas de pago. Madurez Medio Estabilidad de la API, versionado, backwards compatibility. El usuario asigna los pesos finales. Si no lo hace, usar los sugeridos justificando la elección.
-
Identificar al menos 3 alternativas. Para cada capa del stack (lenguaje, framework, base de datos, etc.), proponer un mínimo de 3 opciones viables. Incluir siempre al menos una opción "conservadora" (probada y estable) y una "emergente" (más moderna pero con menos recorrido).
-
Evaluar cada alternativa contra los criterios. Puntuar de 1 a 5 cada criterio para cada alternativa. Multiplicar por el peso. Documentar la justificación de cada puntuación, no solo el número.
-
Calcular la puntuación total ponderada. Sumar los valores ponderados y ordenar las alternativas de mayor a menor.
-
Analizar los resultados cualitativamente. La puntuación más alta no siempre es la mejor opción. Considerar factores difíciles de cuantificar: experiencia del equipo, alineación con el ecosistema existente, riesgos de vendor lock-in.
-
Emitir una recomendación con justificación. Indicar la opción recomendada, por qué se elige y qué riesgos se asumen. Si la decisión es ajustada, indicarlo explícitamente.
-
Documentar como ADR. Si la decisión es significativa, generar un ADR (Architecture Decision Record) con el skill
write-adrpara que quede constancia en el repositorio.
Criterios de éxito
- Se han evaluado al menos 3 alternativas por componente del stack.
- La matriz incluye criterios con pesos justificados.
- Cada puntuación tiene una explicación, no solo un número.
- La recomendación final está argumentada con datos.
- Se han identificado los riesgos de la opción elegida.
Source
git clone https://github.com/686f6c61/alfred-dev/blob/main/skills/arquitectura/choose-stack/SKILL.mdView on GitHub Overview
Este skill evalúa alternativas tecnológicas de forma estructurada mediante una matriz de decisión ponderada para evitar sesgos y basar la elección en criterios relevantes. Genera un documento de justificación y sirve como referencia para el equipo.
How This Skill Works
El proceso recoge requisitos, define criterios y pesos, identifica al menos 3 alternativas por capa del stack y evalúa cada opción puntuando 1-5 por criterio. Se documenta la justificación de cada puntuación y se calcula la puntuación total para ordenar las alternativas; la decisión puede generar un ADR si aplica.
When to Use It
- Antes de iniciar un nuevo proyecto para seleccionar un stack tecnológico (lenguaje, framework, base de datos, etc.).
- Cuando buscas evitar sesgos de experiencia previa o modas pasajeras y necesitas una decisión basada en criterios objetivos.
- Cuando requieres criterios con pesos justificables y una documentación de la decisión.
- Cuando trabajas por capas del stack y necesitas al menos 3 alternativas por capa, con una comparativa clara.
- Cuando la decisión es significativa y debe generar un ADR o documentación de arquitectura.
Quick Start
- Step 1: Recopila requisitos del proyecto.
- Step 2: Define criterios de evaluación y asigna pesos (usa los sugeridos si no los ajustas).
- Step 3: Identifica al menos 3+ alternativas por capa del stack, evalúalas y documenta las puntuaciones.
Best Practices
- Recopila requisitos claros y alineados con el negocio antes de evaluar.
- Define criterios de evaluación con pesos y justificación documentada.
- Propón al menos una opción conservadora y una emergente por capa.
- Documenta la puntuación y la justificación de cada decisión, no solo el número.
- Revisa riesgos, dependencias y fit con el ecosistema existente; considera ADR si aplica.
Example Use Cases
- Proyecto web con necesidad de alto rendimiento y amplio ecosistema, comparando Node.js, Python y Go.
- Aplicación con requisitos de seguridad y cumplimiento, evaluando frameworks y prácticas de seguridad.
- Migración de un sistema legado, analizando opciones conservadoras y emergentes en lenguajes y bases de datos.
- Proyecto con coste operativo variable, evaluando proveedores de nube y herramientas de pago.
- Equipo con diversidad de experiencia, documentando ADR y evolucionando la decisión con el tiempo.