CommunityProgramación y desarrollogithub.com

Generador de Presentaciones de Impacto Técnico (TIP)

Genera una presentación de impacto técnico para clientes (TIP / POV / resumen de POV) a partir de una plantilla PowerPoint de Dynatrace, una tabla de criterios de éxito y datos en vivo del tenant obtenidos mediante dtctl, con enlaces profundos a las vistas exactas que deben capturarse. Incluye validación previa obligatoria con dtctl y Dynatrace MCP, detección automática de fondos oscuros o claros y revisión final de calidad.

¿Qué es Generador de Presentaciones de Impacto Técnico (TIP)?

Esta habilidad del agente construye presentaciones de impacto técnico (TIP) profesionales y con marca para clientes de Dynatrace. El agente obtiene métricas reales del tenant del cliente mediante consultas dtctl (nunca inventa números) y las complementa con enlaces profundos a las aplicaciones de Dynatrace para que el usuario sepa exactamente qué capturar de pantalla. La habilidad está diseñada para Claude Code (u otros agentes compatibles) y requiere autenticación dtctl en el tenant Gen3 del cliente, así como el servidor MCP de Dynatrace (recomendado). Ejecuta una estricta tubería: validación previa, recopilación de datos del tenant, construcción de un archivo de configuración, generación de la presentación usando python-pptx (con detección automática de fondos claros/oscuros para evitar texto invisible), control de calidad y entrega. Las reglas incluyen no fabricar métricas, usar solo identificadores de aplicaciones reales (obtenidos de dtctl), reemplazar términos de marca de forma sensible a mayúsculas y mantener la honestidad en los estados (Completado/En Proceso). El resultado es un archivo .pptx listo para compartir con el cliente, con diapositivas que mapean directamente los criterios de éxito a las capacidades demostradas de Dynatrace.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/srijithsunil/technical-impact-presentation-skill/tree/main

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Generador de Presentaciones de Impacto Técnico (TIP)?

Construye una Presentación de Impacto Técnico con la marca de la empresa, orientada al cliente, que mapea los criterios de éxito del cliente con lo que Dynatrace ha aportado, respaldada por números en vivo del tenant y enlaces profundos a las vistas exactas que deben capturarse como imagen. Obtiene las reglas de marca de dynatrace-pptx-skill; léelo primero para conocer colores y fuentes.

Regla de oro: nunca inventes métricas. Cada número en una diapositiva debe provenir de una consulta dtctl ejecutada en esta sesión. Si un criterio está "En Proceso", dilo — la honestidad supera al estilo.

Entradas que necesitas del usuario

EntradaObligatoriaNotas
Plantilla PowerPoint de DT (.pptx)síLa base de la presentación; se heredan sus diseños/tema.
Ejemplo de presentación rellenada (.pptx)opcionalRefleja su flujo de diapositivas (por ejemplo, el POV de un cliente anterior).
Criterios de éxito (imagen/tabla/texto)síLa columna vertebral del contenido — caso de uso · propósito · cómo se hace hoy · estado.
Tenant / contexto dtctlsíp.ej., <tenant-id> → dtctl --context <ctx>.
Nombre del presentador / fechaopcionalPor defecto, el usuario autenticado + el mes actual.

Proceso (ejecutar en orden)

1 — VALIDACIÓN PREVIA (obligatoria, no omitir)

Ambas comprobaciones deben pasar antes de construir. Ejecuta primero la comprobación de dtctl, luego la de MCP.

1a. Validación dtctl — ejecuta scripts/preflight.sh <contexto>:

bash scripts/preflight.sh <contexto-dtctl>

Verifica: contexto actual, auth whoami (token no caducado), acceso de lectura (una DQL trivial), acceso de escritura (necesario si se van a subir dashboards), y lista los IDs de aplicaciones instaladas (necesarios para enlaces profundos). Si el token ha caducado, imprime el comando de reautenticación — dile al usuario que ejecute !dtctl auth login --context <ctx> en la sesión (OAuth es interactivo; no puedes hacerlo tú).

1b. Validación Dynatrace MCP — tú (el agente) debes confirmar que el servidor MCP de Dynatrace es accesible, porque los scripts no pueden llamar a MCP. Invoca una herramienta MCP de lectura ligera, p.ej., get_dql_knowledgebase o list_strato_components (los nombres suelen ser como mcp__<servidor>__<herramienta>).

  • Correcto → anota "MCP: conectado" y úsalo para validar/autorizar DQL y dashboards.
  • Fallo/ausencia → anota "MCP: no disponible — continuando solo con dtctl" y continúa (MCP es recomendado, no obligatorio). No asumas silenciosamente que funciona.

Registra ambos resultados en una línea corta de validación previa antes de continuar, p.ej., Validación previa ✓ dtctl(lectura+escritura, 47 apps) · MCP(conectado).

2 — RECOPILAR DATOS EN VIVO DEL TENANT

Ejecuta scripts/gather_tenant_data.sh <contexto> para obtener las estadísticas principales (hosts, servicios, grupos/instancias de procesos, clústeres K8s/namespaces/cargas de trabajo, spans/2h, logs/2h, problemas distintos/7d), los IDs de aplicaciones instaladas (para enlaces profundos) y los IDs de entidades candidatos (servicios principales, grupos de hosts, sistemas de BD) para enlaces premium. Captura la salida; pegarás estos números en la configuración. Añade las consultas específicas de criterios que necesites (p.ej., db.system, servicios Oracle/MSSQL, regiones de Azure, spans gen_ai).

3 — CONSTRUIR LA CONFIGURACIÓN

Copia references/example_config.json y edítalo para este cliente: portada, resumen ejecutivo, POV del cliente (4 tarjetas), cronología, las filas de criterios de éxito, una entrada de funcionalidad por criterio (+ valor añadido), resumen de valor, cierre. Cada funcionalidad = {title, done, status, bullets[], url, capture}. url = un enlace profundo real de la aplicación (<base>/<appId> del paso 1/2); capture = una línea que indique exactamente al usuario qué debe capturar como imagen.

Base de enlace profundo = https://<tenant>.apps.dynatrace.com/ui/apps/. IDs de aplicación comunes (confirmar por tenant mediante el paso 1): dynatrace.infraops, dynatrace.discovery.coverage, dynatrace.classic.smartscape, dynatrace.services, dynatrace.distributedtracing, dynatrace.database.overview, dynatrace.clouds, dynatrace.automations (Workflows/ServiceNow), dynatrace.davis.problems (Problemas), dynatrace.logs, dynatrace.kubernetes, dynatrace.devobs.debugger (Live Debugger), dynatrace.dashboards, dynatrace.security.vulnerabilities.

4 — GENERAR LA PRESENTACIÓN

python3 scripts/build_tip.py config.json

build_tip.py carga la plantilla, elimina las diapositivas esqueleto correctamente (elimina las relaciones para que no haya partes duplicadas / corrupción), reconstruye a partir de los diseños de la plantilla y detecta automáticamente por diseño si el fondo es oscuro o claro — eligiendo texto blanco en diapositivas de portada/sección oscuras y texto azul marino en diapositivas de contenido claras de forma automática. Las tarjetas personalizadas, los nodos de cronología, las cajas de enlaces y las tablas siempre tienen fondo oscuro con texto claro, por lo que se leen en cualquier diapositiva.

5 — CONTROL DE CALIDAD (obligatorio)

python3 scripts/qa_tip.py "<salida>.pptx"

Falla de forma notoria en: texto blanco sobre fondo claro (invisible), hiperenlaces rotos/vacíos, texto esqueleto sobrante ("Caso de uso 1", "Nombre del cliente", "Lorem"), tablas vacías. Corrige y vuelve a ejecutar hasta que esté limpio. Si LibreOffice/soffice está disponible, exporta también un PDF y revísalo visualmente; si no, dile al usuario que abra el archivo y confirme que el texto encaja en diapositivas densas.

6 — ENTREGAR

Proporciona la ruta absoluta + un enlace file://. Ofrece open para abrirlo. Resume el esquema de diapositivas, las métricas utilizadas y los enlaces de captura por diapositiva.

Esquema de la presentación (flujo por defecto)

Portada → Agenda → Resumen Ejecutivo → Punto de Vista del Cliente (4 tarjetas) → Cronología del POV → Tabla de Criterios de Éxito → separador de sección → una diapositiva de funcionalidad por criterio de éxito → diapositivas de valor añadido (Problemas/RCA, Logs, Kubernetes, Live Debugger, Dashboards entregados, Seguridad) → separador de sección → Cuadro de resultados → Valor entregado y próximos pasos → Agradecimientos.

Cada diapositiva de funcionalidad: título + chip de estado (✅ Completado / 🔄 En Proceso) + 3–4 viñetas de valor + un cuadro teal "PLACEHOLDER DE CAPTURA" a la derecha con la instrucción de captura y el enlace profundo en el que se puede hacer clic.

Lecciones aprendidas integradas en los scripts (no retroceder)

  1. Diseños claros vs. oscuros. Las plantillas "Impacto Técnico" de DT incluyen diseños de contenido claros (blancos) y diseños de portada/sección oscuros (imagen a sangre). El texto blanco sobre una diapositiva clara es invisible. build_tip.py lo detecta automáticamente (una imagen a sangre o un relleno sólido oscuro ⇒ oscuro) y colorea el texto en consecuencia. Nunca codifiques texto blanco en diseños de contenido.
  2. Eliminar diapositivas correctamente. Eliminar solo las entradas sldId deja partes de diapositivas huérfanas y provoca corrupción zip por nombres duplicados. Siempre usa prs.part.drop_rel(rId) y elimina el sldId.
  3. Los reemplazos de términos de marca distinguen entre mayúsculas y minúsculas. Por ejemplo, reemplaza **Davis** visible → **Dynatrace Intelligence** pero deja davis en minúsculas dentro de las URL de ID de aplicación (dynatrace.davis.problems) intacto, o romperás los enlaces. qa_tip.py no marcará las URL.
  4. Solo IDs de aplicaciones reales. Obtenlos de dtctl get apps (paso 1) — no adivines. dynatrace.database.overview (no dynatrace.databases), dynatrace.davis.problems, etc.
  5. Honestidad en el estado. Mantén las banderas Completado/En Proceso del cliente; colorea En Proceso en ámbar.

Compartir esta habilidad

Es autocontenida en este directorio. Para compartir: copia ~/.claude/skills/technical-impact-presentation/ al directorio ~/.claude/skills/ de un compañero (o ~/.agents/skills/), o haz commit en un repositorio de habilidades compartido. No hay dependencias externas más allá de python-pptx (pip3 install python-pptx) y dtctl.

Skills relacionados