Construtor de Apresentação de Impacto Técnico (TIP)

Gera uma 'Apresentação de Impacto Técnico' (TIP / POV / resumo POV) para clientes a partir de um template PowerPoint Dynatrace mais uma tabela de critérios de sucesso, preenchida com dados ao vivo do tenant obtidos via dtctl, com links profundos para visualizações específicas do tenant onde capturas de tela devem ser coladas.

O que é Construtor de Apresentação de Impacto Técnico (TIP)?

Este skill é um construtor especializado para criar apresentações de impacto técnico (TIP) no ecossistema Dynatrace. Ele automatiza todo o pipeline: desde a validação de pré-requisitos (dtctl autenticado e servidor MCP Dynatrace), coleta de métricas reais do tenant, geração do slide deck personalizado com base em um template .pptx e uma tabela de critérios de sucesso, até um passo de QA obrigatório que verifica contraste de texto, links quebrados e conteúdo restante do esqueleto. O skill suporta as plataformas Claude Code e agentes com acesso a terminal e ao servidor MCP Dynatrace (opcional, mas recomendado). Ele é especialmente útil quando um consultor ou engenheiro de sucesso do cliente precisa montar rapidamente uma apresentação que demonstre o valor entregue pelo Dynatrace, com dados vivos do tenant, links diretos para as telas a serem capturadas e consistência de marca (cores, fontes). O script detecta automaticamente layouts claros vs escuros do template para evitar texto invisível, e valida todos os links e placeholders antes da entrega final.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Construtor de Apresentação de Impacto Técnico (TIP) faz?

Constrói uma Apresentação de Impacto Técnico personalizada e com a marca, voltada para o cliente, que mapeia os critérios de sucesso do cliente ao que o Dynatrace entregou, com base em números vivos do tenant e links profundos para as visualizações exatas a serem capturadas. Deriva as regras de marca do dynatrace-pptx-skill — leia aquele primeiro para cores/fontes.

Regra de ouro: nunca invente métricas. Cada número em um slide deve vir de uma consulta dtctl executada nesta sessão. Se um critério estiver "Em Andamento", diga isso — honestidade vence a estética.

Entradas necessárias do usuário

EntradaObrigatórioObservações
Template PowerPoint DT (.pptx)simO deck base; seus layouts/tema são herdados.
Exemplo de deck preenchido (.pptx)opcionalEspelhe o fluxo de slides (ex.: POV de um cliente anterior).
Critérios de sucesso (imagem/tabela/texto)simA espinha dorsal do conteúdo — caso de uso · propósito · como-é-feito-hoje · status.
Tenant / contexto dtctlsimex. <tenant-id> → dtctl --context <ctx>.
Nome do apresentador / dataopcionalAssume o usuário autenticado + mês atual.

Pipeline (executar em ordem)

1 — VALIDAÇÃO PREFLIGHT (obrigatória, não pular)

Ambas as verificações devem passar antes de construir. Execute a verificação dtctl, depois a verificação MCP.

1a. Validação dtctl — execute scripts/preflight.sh <context>:

bash scripts/preflight.sh <contexto-dtctl>

Ela verifica: contexto atual, auth whoami (token não expirado), acesso de leitura (uma DQL trivial), acesso de gravação (necessário se for enviar dashboards), e lista os IDs de aplicativos instalados (necessários para links profundos). Se o token expirou, ela imprime o comando de reautenticação — diga ao usuário para executar !dtctl auth login --context <ctx> na sessão (OAuth é interativo; você não pode fazer isso).

1b. Validação Dynatrace MCP — você (o agente) deve confirmar que o servidor MCP Dynatrace está acessível, porque scripts não podem chamar MCP. Invoque uma ferramenta de leitura MCP leve, ex. get_dql_knowledgebase ou list_strato_components (os nomes parecem mcp__<servidor>__<ferramenta>).

  • Sucesso → anote "MCP: conectado" e use-o para validar/autorizar DQL e dashboards.
  • Falha/ausente → anote "MCP: indisponível — prosseguindo apenas com dtctl" e continue (MCP é recomendado, não obrigatório). Não assuma silenciosamente que funciona.

Registre ambos os resultados em uma linha curta de pré-voo antes de prosseguir, ex. Preflight ✓ dtctl(leitura+gravação, 47 apps) · MCP(conectado).

2 — COLETAR DADOS VIVOS DO TENANT

Execute scripts/gather_tenant_data.sh <context> para obter as estatísticas principais (hosts, serviços, grupos de processos/instâncias, clusters K8s/namespaces/workloads, spans/2h, logs/2h, problemas distintos/7d), os IDs de aplicativos instalados (para links profundos) e IDs de entidade candidatos (principais serviços, grupos de host, sistemas de banco de dados) para links premium. Capture a saída; você colará esses números no config. Adicione quaisquer consultas específicas de critério necessárias (ex. db.system, serviços Oracle/MSSQL, regiões Azure, spans gen_ai).

3 — CONSTRUIR O CONFIG

Copie references/example_config.json e edite-o para este cliente: capa, visão geral executiva, POV do cliente (4 cartões), linha do tempo, as linhas de critérios de sucesso, uma entrada de funcionalidade por critério (+ valor agregado), resumo de valor, encerramento. Cada funcionalidade = {title, done, status, bullets[], url, capture}. url = um link profundo de aplicativo real (<base>/<appId> da etapa 1/2); capture = uma linha dizendo exatamente ao usuário o que capturar.

Base do link profundo = https://<tenant>.apps.dynatrace.com/ui/apps/. IDs de aplicativos comuns (confirme por tenant via etapa 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 (Problems), dynatrace.logs, dynatrace.kubernetes, dynatrace.devobs.debugger (Live Debugger), dynatrace.dashboards, dynatrace.security.vulnerabilities.

4 — GERAR O DECK

python3 scripts/build_tip.py config.json

build_tip.py carrega o template, exclui os slides do esqueleto corretamente (remove relacionamentos para que não haja partes duplicadas / corrupção), reconstrói a partir dos layouts do template e detecta automaticamente por layout se o fundo é escuro ou claro — escolhendo texto branco em slides de capa/seção escuros e texto azul marinho em slides de conteúdo claros automaticamente. Cartões personalizados, nós de linha do tempo, caixas de link e tabelas são sempre preenchidos com fundo escuro e texto claro, para que sejam legíveis em qualquer slide.

5 — QA (obrigatório)

python3 scripts/qa_tip.py "<saída>.pptx"

Falha ruidosamente em: texto branco sobre claro (invisível), hiperlinks quebrados/vazios, texto de esqueleto restante ("Caso de Uso 1", "Nome do Cliente", "Lorem"), tabelas vazias. Corrija e reexecute até ficar limpo. Se LibreOffice/soffice estiver disponível, exporte também um PDF e examine-o visualmente; se não, diga ao usuário para abrir o arquivo e confirmar se o texto cabe em slides densos.

6 — ENTREGAR

Forneça o caminho absoluto + link file://. Ofereça-se para open (abrir) o arquivo. Resuma o esboço dos slides, as métricas usadas e os links de captura de tela por slide.

Blueprint do deck (fluxo padrão)

Capa → Agenda → Visão Geral Executiva → Ponto de Vista do Cliente (4 cartões) → Linha do Tempo do POV → Tabela de Critérios de Sucesso → divisor de seção → um slide de funcionalidade por critério de sucesso → slides de valor agregado (Problemas/RCA, Logs, Kubernetes, Live Debugger, Dashboards entregues, Segurança) → divisor de seção → Scorecard de Resultados → Valor Entregue e Próximos Passos → Agradecimento.

Cada slide de funcionalidade: título + chip de status (✅ Concluído / 🔄 Em Andamento) + 3–4 bullets de valor + uma caixa teal "ESPAÇO PARA CAPTURA DE TELA" à direita com a instrução de captura e o link profundo clicável.

Lições aprendidas incorporadas nos scripts (não regredir)

  1. Layouts claros vs escuros. Os templates "Technical Impact" da Dynatrace vêm com layouts de conteúdo claros (brancos) e layouts de capa/seção escuros (imagem no fundo). Texto branco em um slide claro é invisível. build_tip.py detecta automaticamente (uma imagem no fundo ou preenchimento sólido escuro ⇒ escuro) e colore o texto de acordo. Nunca codifique texto branco em layouts de conteúdo.
  2. Excluir slides corretamente. Remover apenas entradas sldId órfãs de partes de slide e causa corrupção zip por nomes duplicados. Sempre prs.part.drop_rel(rId) e remova o sldId.
  3. Substituições de termos de marca diferenciam maiúsculas de minúsculas. ex., substitua **Davis** visível → **Inteligência Dynatrace** mas deixe davis minúsculo dentro de URLs de ID de aplicativo (dynatrace.davis.problems) intacto, ou você quebra os links. qa_tip.py não sinalizará URLs.
  4. Apenas IDs de aplicativos reais. Obtenha-os de dtctl get apps (etapa 1) — não adivinhe. dynatrace. database.overview (não dynatrace.databases), dynatrace.davis.problems, etc.
  5. Honestidade de status. Mantenha os sinalizadores Concluído/Em Andamento do cliente; pinte Em Andamento em âmbar.

Compartilhando este skill

Ele é autocontido neste diretório. Para compartilhar: copie ~/.claude/skills/technical-impact-presentation/ para o ~/.claude/skills/ de um colega (ou ~/.agents/skills/), ou envie-o para um repositório de skills compartilhado. Nenhuma dependência externa além de python-pptx (pip3 install python-pptx) e dtctl.

Habilidades Relacionadas