Community코딩 & 개발github.com

기술 영향 프레젠테이션 (TIP) 빌더

Dynatrace PowerPoint 템플릿과 선택적 예제 덱, 성공 기준 표를 기반으로 고객 맞춤형 '기술 영향 프레젠테이션'(TIP/POV/POV 요약 덱)을 생성합니다. dtctl을 통해 라이브 테넌트 데이터를 가져오고, 스크린샷을 붙여넣을 위치에 딥링크를 제공합니다.

기술 영향 프레젠테이션 (TIP) 빌더란 무엇인가요?

이 스킬은 Dynatrace 환경에서 고객에게 제공할 기술 영향 프레젠테이션(TIP) 덱을 자동으로 생성하는 전문 도구입니다. 사용자가 제공한 성공 기준을 기반으로, dtctl을 통해 실제 Dynatrace 테넌트에서 라이브 데이터(호스트 수, 서비스, 문제 등)를 가져와 각 슬라이드에 정확한 수치를 반영합니다. 또한 Dynatrace MCP 서버를 통한 사전 검증을 지원하며, 어두운/밝은 슬라이드 레이아웃을 자동 감지하여 텍스트 가시성 문제를 방지합니다. 마지막으로 QA 단계를 통해 링크, 브랜딩, 가시성을 검증합니다. 이 스킬은 Claude Code, Cursor와 같은 AI 에이전트 환경에서 사용자가 'TIP 덱', 'POV 요약', '기술 영향 검토' 등을 요청할 때 활성화되며, Dynatrace 테넌트에 대한 dtctl 인증이 필수입니다.

지원 대상✓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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

기술 영향 프레젠테이션 (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 (토큰 만료 여부), 읽기 접근 (간단한 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는 권장 사항, 필수 사항 아님). 작동한다고 조용히 가정하지 마세요.

진행 전에 두 결과를 짧은 사전 검증 라인으로 기록하세요. 예: 사전검증 ✓ dtctl(읽기+쓰기, 47개 앱) · MCP(연결됨).

2 — 라이브 테넌트 데이터 수집

scripts/gather_tenant_data.sh <context> 를 실행하여 주요 통계 (호스트, 서비스, 프로세스 그룹/인스턴스, K8s 클러스터/네임스페이스/워크로드, 스팬/2h, 로그/2h, 고유 문제/7d), 설치된 앱 ID (딥링크용), 그리고 프리미엄 링크를 위한 후보 엔티티 ID (최상위 서비스, 호스트 그룹, DB 시스템)를 가져옵니다. 출력을 캡처하여 구성에 붙여넣습니다. 필요한 기준별 쿼리가 있으면 추가하세요 (예: db.system, Oracle/MSSQL 서비스, Azure 지역, gen_ai 스팬).

3 — 구성 파일 빌드

references/example_config.json 을 복사하여 이 고객에 맞게 편집합니다: 표지, 경영진 개요, 고객 POV (4개 카드), 타임라인, 성공 기준 행, 기준당 기능 항목 1개 (+ 부가 가치), 가치 요약, 마무리. 각 기능 = {title, done, status, bullets[], url, capture}. url = 실제 앱 딥링크 (<base>/<appId> from 1/2단계); 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 (워크플로우/ServiceNow), dynatrace.davis.problems (문제), dynatrace.logs, dynatrace.kubernetes, dynatrace.devobs.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, 로그, 쿠버네티스, 라이브 디버거, 제공된 대시보드, 보안) → 구분선 → 결과 성과표 → 제공된 가치 및 다음 단계 → 감사 인사.

각 기능 슬라이드: 제목 + 상태 칩 (✅ 완료 / 🔄 진행 중) + 3–4개의 가치 글머리 기호 + 오른쪽에 청록색 "스크린샷 자리표시자" 상자 (캡처 지침 및 클릭 가능한 딥링크 포함).

스크립트에 내장된 어렵게 얻은 교훈 (퇴보시키지 마세요)

  1. 밝은 vs 어두운 레이아웃. DT "기술 영향" 템플릿은 밝은 (흰색) 콘텐츠 레이아웃과 어두운 표지/섹션 레이아웃 (전체 블리드 이미지)을 함께 제공합니다. 밝은 슬라이드에서 흰색 텍스트는 보이지 않습니다. 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 이외의 외부 종속성은 없습니다.

관련 스킬