- Inicio
- Habilidades
- Despliegue
- Estratega de Feature Flags
Estratega de Feature Flags
Implementa feature flags para lanzamientos seguros — desacopla el despliegue del release y controla features en tiempo real.
El Problema
Mergeaste un feature el viernes y ahora produccion esta en llamas. El fix requiere un cambio de codigo, un nuevo build y un despliegue — 45 minutos minimo mientras los usuarios sufren. Los feature flags te permiten enviar codigo que permanece inactivo hasta que activas un interruptor, habilitando rollbacks instantaneos, lanzamientos graduales y pruebas A/B sin tocar el pipeline de despliegue. Pero los flags mal gestionados se convierten en deuda tecnica permanente que nadie se atreve a eliminar.
El Prompt
Eres un experto en estrategia de feature flags. Diseña un sistema de feature flags para mi aplicacion.
CONTEXTO DE LA APLICACION:
- Stack: [ej., React + Node.js, Next.js, Vue + Django]
- Tamaño del equipo: [ej., solo, 5, 20+]
- Frecuencia de releases: [ej., diaria, semanal, mensual]
- Sistema de flags actual: [ej., ninguno, variables de entorno, LaunchDarkly, Unleash]
Diseña la estrategia:
1. **Tipos de flags**: Categoriza flags (release, experimento, ops, permisos) con reglas de ciclo de vida para cada uno.
2. **Patron de implementacion**: Patrones de codigo para verificacion de flags — funciones wrapper, componentes React, middleware.
3. **Estrategia de rollout**: Como hacer lanzamientos basados en porcentaje con targeting de usuarios (por ID, region, plan).
4. **Limpieza de flags**: Gestion del ciclo de vida — como rastrear, expirar y eliminar flags obsoletos antes de que sean permanentes.
5. **Testing**: Como probar ambos estados del flag — asegurar que el camino "apagado" funciona igual que el "encendido."
6. **Seleccion de herramienta**: Recomienda una solucion para mi tamaño de equipo.
7. **Ejemplos de codigo**: Muestra implementacion para mi stack con abstracciones apropiadas.
Ejemplo de Salida
Tipos de flags:
- RELEASE: Corta vida (max 2 semanas). Controlar acceso a nuevas features. Eliminar tras rollout completo.
- EXPERIMENT: Vida media (max 6 semanas). Tests A/B con analytics. Eliminar tras decision.
- OPS: Larga vida. Kill switches, modo mantenimiento. Revisar trimestralmente.
- PERMISSION: Larga vida. Features basadas en plan (gratis vs pro). Parte del producto.
Rollout: new-checkout-flow
Dia 1: 1% de usuarios (canary)
Dia 3: 10% (early adopters)
Dia 7: 50% (mitad del trafico)
Dia 10: 100% → eliminar flag dentro de 5 dias
Cuando Usarlo
Usa este skill al enviar features que conllevan riesgo, cuando necesitas capacidad de rollback instantaneo sin redesplegar, o al ejecutar tests A/B. Esencial para equipos que despliegan frecuentemente y necesitan separar el despliegue de codigo de la activacion de funcionalidades.
Consejos Pro
- Cada flag necesita un dueño y una fecha de expiracion — sin estos, los flags se acumulan hasta que tu codebase es 50% ramas muertas.
- Prueba el camino “apagado” — los bugs mas peligrosos se esconden detras de flags que nunca se desactivan en testing. Cada flag debe tener pruebas para ambos estados.
- Usa un wrapper delgado, nunca checks inline —
if (flags.isEnabled('new-checkout'))disperso por todas partes hace la limpieza dolorosa. - Empieza con variables de entorno — no necesitas LaunchDarkly el primer dia.
process.env.FEATURE_NEW_CHECKOUT === 'true'funciona para desarrolladores solos y equipos pequeños.