技术影响力演示文稿 (TIP) 构建器
构建一份品牌化的、面向客户的技术影响力演示文稿,将客户的成功标准映射到 Dynatrace 实际交付的价值上,并附有实时租户数据和指向确切截图的深度链接。从 dynatrace-pptx-skill 继承品牌规则 — 请先阅读该技能以了解颜色/字体。
黄金法则: 绝不捏造指标。幻灯片上的每个数字都必须来自本次会话中运行的 dtctl 查询。如果某个标准是“处理中”,请如实说明 — 诚实的价值高于粉饰。
你需要从用户那里获取的输入
| 输入 | 必需 | 备注 |
|---|---|---|
DT PowerPoint 模板 (.pptx) | 是 | 基础幻灯片集;其布局/主题将被继承。 |
示例已填充的幻灯片集 (.pptx) | 可选 | 镜像其幻灯片流程(例如,以前客户的 POV)。 |
| 成功标准(图片/表格/文本) | 是 | 内容主干 — 用例 · 目的 · 当前做法 · 状态。 |
| 租户 / dtctl 上下文 | 是 | 例如 <tenant-id> → dtctl --context <ctx>。 |
| 演示者姓名 / 日期 | 可选 | 默认为已验证用户 + 当前月份。 |
流水线(按顺序执行)
1 — 预检验证(必须执行,不能跳过)
两个检查都必须在构建之前通过。先运行 dtctl 检查,然后运行 MCP 检查。
1a. dtctl 验证 — 运行 scripts/preflight.sh <context>:
bash scripts/preflight.sh <dtctl-context>
它验证:当前上下文、auth whoami(令牌未过期)、读取权限(一个简单的 DQL)、写入权限(如需上传仪表盘则需要),并列出已安装的应用 ID(用于深度链接)。如果令牌已过期,它会打印重新认证的命令 — 告诉用户在会话中运行 !dtctl auth login --context <ctx>(OAuth 是交互式的;你无法代劳)。
1b. Dynatrace MCP 验证 — 你(代理)必须确认 Dynatrace MCP 服务器可达,因为脚本无法调用 MCP。调用一个轻量级的 MCP 读取工具,例如 get_dql_knowledgebase 或 list_strato_components(名称类似 mcp__<server>__<tool>)。
- 通过 → 记录“MCP: 已连接”,并使用它验证/授权 DQL 和仪表盘。
- 失败/不存在 → 记录“MCP: 不可用 — 仅以 dtctl 继续”,并继续(MCP 是推荐的,而非必需的)。不要悄悄默认它工作。
在继续之前,将两个结果记录在一行简短的预检信息中,例如:
Preflight ✓ dtctl(read+write, 47 apps) · MCP(connected)。
2 — 收集实时租户数据
运行 scripts/gather_tenant_data.sh <context> 以获取概览统计数据(主机数、服务数、进程组/实例数、K8s 集群/命名空间/工作负载数、2 小时 span 数、2 小时日志数、7 天独特问题数)、已安装的应用 ID(用于深度链接)以及候选实体 ID(顶级服务、主机组、数据库系统)用于优质链接。捕获输出;你将把这些数字粘贴到配置中。根据需要添加任何特定于标准的查询(例如 db.system、Oracle/MSSQL 服务、Azure 区域、gen_ai span)。
3 — 构建配置
复制 references/example_config.json 并进行编辑以适配此客户:封面、执行摘要、客户 POV(4 张卡片)、时间线、成功标准行、每个标准对应一个功能条目(+ 增值项)、价值摘要、结束语。每个功能 = {title, done, status, bullets[], url, capture}。url = 一个真实的应用深度链接(来自步骤 1/2 的 <base>/<appId>);capture = 一行告诉用户确切截取什么。
深度链接基础 = https://<tenant>.apps.dynatrace.com/ui/apps/。常见应用 ID(通过步骤 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(问题)、dynatrace.logs、dynatrace.kubernetes、dynatrace.devobs.debugger(Live Debugger)、dynatrace.dashboards、dynatrace.security.vulnerabilities。
4 — 生成幻灯片集
python3 scripts/build_tip.py config.json
build_tip.py 加载模板,正确地删除骨架幻灯片(移除关系以防止重复部件/损坏),从模板布局重建,并自动检测每个布局的背景是深色还是浅色 — 自动在封面/章节深色幻灯片上使用白色文字,在浅色内容幻灯片上使用深蓝色文字。自定义卡片、时间线节点、链接框和表格始终使用深色填充和浅色文字,以便在任何幻灯片上都可阅读。
5 — QA(必须执行)
python3 scripts/qa_tip.py "<output>.pptx"
对以下情况大声报错:白底浅色文字(不可见)、损坏/空的超链接、残留的骨架文本(“Use Case 1”、“Customer Name”、“Lorem”)、空表格。修复并重新运行直到通过。如果 LibreOffice/soffice 可用,还可导出 PDF 并肉眼检查;如果不可用,告诉用户打开文件并确认密集幻灯片上的文字适配。
6 — 交付
给出绝对路径 + file:// 链接。提供使用 open 命令打开的选项。总结幻灯片大纲、使用的指标以及每页的截图链接。
幻灯片蓝图(默认流程)
封面 → 议程 → 执行摘要 → 客户观点(4 张卡片) → POV 时间线 → 成功标准表 → 章节分隔页 → 每项成功标准一个功能页 → 增值幻灯片(问题/RCA、日志、Kubernetes、Live Debugger、已交付仪表盘、安全) → 章节分隔页 → 结果记分卡 → 交付的价值与下一步 → 致谢页。
每张功能页:标题 + 状态徽章(✅ 已完成 / 🔄 处理中) + 3–4 条价值要点 + 右侧一个带有截图说明和可点击深度链接的青色“截图占位符”框。
嵌入脚本中的硬啃教训(切勿倒退)
- 浅色与深色布局。 DT“技术影响力”模板配有浅色(白色)内容布局和深色封面/章节布局(全出血图片)。白色文字在浅色幻灯片上不可见。
build_tip.py自动检测(全出血图片或深色纯色填充 ⇒ 深色)并相应着色文字。切勿在内容布局上硬编码白色文字。 - 正确删除幻灯片。 仅删除
sldId条目会留下孤立的幻灯片部件并导致重复名称的 zip 损坏。始终执行prs.part.drop_rel(rId)并删除sldId。 - 品牌术语替换区分大小写。 例如,将可见的
Davis替换为Dynatrace Intelligence,但保留应用 ID URL 中的小写davis(例如dynatrace.davis.problems)不变,否则会破坏链接。qa_tip.py不会标记 URL。 - 仅使用真实的应用 ID。 从
dtctl get apps(步骤 1)中获取它们 — 不要猜测。例如dynatrace.database.overview(而非dynatrace.databases)、dynatrace.davis.problems等。 - 状态诚实。 保留客户的已完成/处理中标志;将处理中状态标为琥珀色。
分享此技能
它位于此目录中,是自包含的。要分享:将 ~/.claude/skills/technical-impact-presentation/ 复制到团队成员的 ~/.claude/skills/(或 ~/.agents/skills/)目录,或将其提交到共享的技能仓库中。除 python-pptx(pip3 install python-pptx)和 dtctl 外,无其他外部依赖。