Community程式設計與開發github.com

Technical Impact Presentation (TIP) 建構器

根據 Dynatrace PowerPoint 範本與成功條件,自動從即時租戶數據生成品牌化客戶技術影響簡報(TIP / POV),包含深層連結並完成 QA 檢查。

Technical Impact Presentation (TIP) 建構器 是什麼?

此技能旨在自動化建構一份完整、基於真實數據的客戶「技術影響簡報」(Technical Impact Presentation,簡稱 TIP 或 POV 摘要)。它會要求使用者提供 Dynatrace PowerPoint 範本、成功條件表格,並可選提供範例簡報以複製其版面流程。核心運作流程包括強制性的前置驗證(透過 dtctl 檢查租戶權限與讀寫能力,並透過 Dynatrace MCP 伺服器確認連線狀態),接著從即時租戶抓取主機、服務、容器、問題等指標數據。然後根據這些數據與成功條件自動建立 JSON 設定檔,其中包含每個功能的深層連結(指向特定應用程式檢視)。最終的 Python 腳本會根據範本佈局產生 PPTX,並自動偵測投影片背景是深色或淺色,以確保文字顏色(白色或海軍藍)不會造成閱讀困難。最後會執行強制性 QA 腳本,檢查是否有隱形文字、無效連結或殘留的佔位文字。支援的平台包括 Claude Code、Cursor 等 Agent 環境,需安裝 dtctl 與 python-pptx 套件。

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

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Technical Impact Presentation (TIP) 建構器 是做什麼的?

建構一份品牌化、面向客戶的技術影響簡報,將客戶的成功條件對應到 Dynatrace 實際達成的成果,並以即時租戶數據和精確的截圖檢視深層連結作為支撐。版面規則源自 dynatrace-pptx-skill —— 請先閱讀該文件以了解顏色與字型設定。

黃金法則: 絕不捏造指標。投影片上的每個數字都必須來自本次工作階段中執行的 dtctl 查詢。如果某項條件狀態為「處理中」,請如實標示 —— 誠實遠比美化更重要。

你需要從使用者取得的輸入

輸入項目必填說明
Dynatrace 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(Token 未過期)、讀取權限(一個簡單的 DQL)、寫入權限(如果需要上傳儀表板),並列出已安裝的應用程式 ID(用於深層連結)。如果 Token 已過期,腳本會印出重新驗證命令 —— 請告知使用者在工作階段中執行 !dtctl auth login --context <ctx>(OAuth 為互動式流程,你無法代為執行)。

1b. Dynatrace MCP 驗證 —— 你(Agent)必須確認 Dynatrace MCP 伺服器可連線,因為腳本無法呼叫 MCP。調用一個輕量級 MCP 讀取工具,例如 get_dql_knowledgebase 或 list_strato_components(名稱格式類似 mcp__<server>__<tool>)。

  • 通過 → 記錄「MCP: connected」並使用它以驗證/授權 DQL 與儀表板。
  • 失敗/不存在 → 記錄「MCP: unavailable — proceeding dtctl-only」並繼續進行(MCP 為建議項目,非必要)。切勿在未確認的情況下預設其運作正常。

在繼續之前,將兩個結果記錄為一行簡短的前置檢查資訊,例如: Preflight ✓ dtctl(read+write, 47 apps) · MCP(connected)。

2 —— 收集即時租戶數據

執行 scripts/gather_tenant_data.sh <context> 以擷取重點統計數據(主機、服務、處理程序群組/實例、K8s 叢集/命名空間/工作負載、Spans/2h、Logs/2h、不同問題/7d)、已安裝的應用程式 ID(用於深層連結),以及候選實體 ID(頂層服務、主機群組、資料庫系統)以建立進階連結。擷取輸出結果;你將把這些數字貼入設定檔中。根據需要加入特定條件的查詢(例如 db.system、Oracle/MSSQL 服務、Azure 區域、gen_ai spans)。

3 —— 建立設定檔

複製 references/example_config.json 並針對此客戶進行編輯:封面、執行摘要、客戶觀點(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(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 張卡片) → 觀點時間軸 → 成功條件表格 → 章節分隔頁 → 每個成功條件一張功能投影片 → 附加價值投影片(Problems/RCA、Logs、Kubernetes、Live Debugger、已交付的儀表板、Security) → 章節分隔頁 → 結果計分卡 → 已交付的價值與後續步驟 → 感謝頁。

每張功能投影片:標題 + 狀態標籤(✅ 已完成 / 🔄 處理中) + 3–4 個價值要點 + 右側一個青綠色「截圖佔位區塊」,內含截圖說明與可點擊的深層連結。

已融入腳本的寶貴經驗(請勿回歸)

  1. 淺色 vs 深色版面。 Dynatrace「技術影響」範本包含淺色(白色)內容版面與深色封面/章節版面(滿版圖片)。白色文字在淺色投影片上會完全看不見。build_tip.py 會自動偵測(滿版圖片或深色實心填充 => 深色)並相應設定文字顏色。切勿在內容版面上硬編碼白色文字。
  2. 正確刪除投影片。 僅移除 sldId 條目會導致投影片元件孤立,並造成重複名稱的 ZIP 損毀。務必同時執行 prs.part.drop_rel(rId) 與移除 sldId。
  3. 品牌詞彙替換區分大小寫。 例如將可見的 Davis 替換為 Dynatrace Intelligence,但保留應用程式 ID URL 中的小寫 davis(如 dynatrace.davis.problems)不變,否則會破壞連結。qa_tip.py 不會標記 URL。
  4. 僅使用真實的應用程式 ID。 從 dtctl get apps(步驟 1)取得 —— 不要猜測。例如 dynatrace.database.overview(而非 dynatrace.databases)、dynatrace.davis.problems 等。
  5. 狀態誠實。 保留客戶的「已完成/處理中」標記;將「處理中」標示為琥珀色。

分享此技能

此技能包含在此目錄中,可直接複製。若要分享:將 ~/.claude/skills/technical-impact-presentation/ 複製到同事的 ~/.claude/skills/(或 ~/.agents/skills/),或提交到共用的技能儲存庫。除了 python-pptx(pip3 install python-pptx)與 dtctl 之外,無其他外部依賴。

相關技能