Skill 寫法圖鑑

ib-check-deck

Anthropic | 金融與投資 | 原文 | Apache-2.0

檢查投行簡報的數字一致性、敘事、語言和格式

中文翻譯

---
name: ib-check-deck
description: 投資銀行簡報品質檢查器。檢視 pitch deck 或可交給客戶的簡報:(1) 跨投影片的數字一致性、(2) 資料與敘事是否吻合、(3) 依投行標準做語言潤飾、(4) 視覺與格式 QC。只要使用者要求審閱、檢查、QC、校對、或對簡報、pitch、客戶資料做最後一輪檢查就使用,包括「check my numbers」、「reconcile figures across slides」、「is this client-ready」、「what am I missing before I send this out」這類請求。
---

# 投行簡報檢查器

從四個面向對簡報做完整的 QC。讀過每一張投影片,再回報發現。

## 環境檢查

這個 skill 在 PowerPoint add-in 和聊天(chat)裡都能用。開始前先確認你在哪一個:

- **Add-in**:從即時開啟的簡報讀取。
- **Chat**:從上傳的 `.pptx` 檔案讀取。

這是唯讀並回報,不做任何編輯,所以兩種環境的流程相同。

## 工作流程

### 讀取簡報

從每一張投影片擷取文字,並記錄每一行來自哪一張投影片。每一項發現都需要投影片層級的出處(「$500M 出現在第 3 和第 8 張,但第 15 張顯示 $485M」)。30 張投影片的簡報,靠工作記憶可靠地記住太多了,所以把擷取的文字寫進檔案,讓數字檢查腳本去處理。

腳本預期的輸入是帶有投影片標記的類 markdown 格式。格式如下:

```
## Slide 1
[slide 1 text content]

## Slide 2
[slide 2 text content]
```

### 1. 數字一致性

對你蒐集到的內容執行擷取腳本:

```bash
python scripts/extract_numbers.py /tmp/deck_content.md --check
```

它會正規化單位($500M vs $500MM vs $500,000,000 → 同一個數字)、把數值分類(營收、EBITDA、倍數、利潤率),並在同一類指標在不同投影片出現互相矛盾的數值時標記出來。這個部分最可能抓到人在第五遍閱讀時漏掉的東西。

除了腳本標記的項目之外,還要驗證:
- 計算正確(總計加得起來、百分比對得上、成長率與起訖點吻合)
- 單位寫法一致:簡報應該在 $M 和 $MM 之間選一個並貫徹到底
- 時間區間對齊:FY vs LTM vs 季度,要明確標示

### 2. 資料與敘事吻合度

把主張對應到應該支持它們的資料。簡報就是在這裡悄悄出錯:有人改了第 7 張的圖表,卻忘了第 4 張的敘述。

- 趨勢陳述(「declining margins」)→ 圖表真的是往那個方向走嗎?
- 市場地位主張(「#1 player」)→ 營收和市占資料支持嗎?
- 合理性檢查:「#1 in a $100B market」但營收只有 $200M,市占是 0.2%,這不叫第一

### 3. 語言潤飾

投行簡報有自己的語體。掃描任何破壞這個語體的地方:口語措辭(「pretty good」、「a lot of」)、縮寫(contractions)、驚嘆號、沒有數字支撐的模糊量詞、同一個概念用不一致的術語。

替換模式請見 `references/ib-terminology.md`。

### 4. 視覺與格式 QC

對每一張投影片執行標準的視覺驗證檢查。要找的是:缺少圖表來源引用、缺少座標軸標籤、字體排印不一致、數字格式漂移(同一份簡報裡 1,000 和 1K 混用)、日期格式漂移、註腳和免責聲明的缺漏。

視覺驗證能抓到重疊、溢出和對比度問題,這些在文字擷取裡看不出來。不要跳過:沒有來源引用的圖表,在文字輸出裡看起來跟有正確標註來源的一模一樣。

## 輸出

用 `references/report-format.md` 作為結構。依嚴重程度分類:

- **Critical**:數字不吻合、事實錯誤、資料與敘事矛盾。這些會擋住交付給客戶。
- **Important**:語言、缺少來源、術語漂移。應該修。
- **Minor**:字級、間距、日期格式。屬於潤飾。

先講 critical。如果沒有,要明講:「no number inconsistencies found」本身就是一項發現,不是沒有發現。

英文原文

---
name: ib-check-deck
description: Investment banking presentation quality checker. Reviews a pitch deck or client-ready presentation for (1) number consistency across slides, (2) data-narrative alignment, (3) language polish against IB standards, (4) visual and formatting QC. Use whenever the user asks to review, check, QC, proof, or do a final pass on a deck, pitch, or client materials — including requests like "check my numbers", "reconcile figures across slides", "is this client-ready", or "what am I missing before I send this out".
---

# IB Deck Checker

Perform comprehensive QC on the presentation across four dimensions. Read every slide, then report findings.

## Environment check

This skill works in both the PowerPoint add-in and chat. Identify which you're in before starting:

- **Add-in** — read from the live open deck.
- **Chat** — read from the uploaded `.pptx` file.

This is read-and-report only — no edits — so the workflow is identical in both.

## Workflow

### Read the deck

Pull text from every slide, keeping track of which slide each line came from. You'll need slide-level attribution for every finding ("$500M appears on slides 3 and 8, but slide 15 shows $485M"). A deck with 30 slides is too much to hold in working memory reliably — write the extracted text to a file so the number-checking script can process it.

The script expects markdown-ish input with slide markers. Format as:

```
## Slide 1
[slide 1 text content]

## Slide 2
[slide 2 text content]
```

### 1. Number consistency

Run the extraction script on what you collected:

```bash
python scripts/extract_numbers.py /tmp/deck_content.md --check
```

It normalizes units ($500M vs $500MM vs $500,000,000 → same number), categorizes values (revenue, EBITDA, multiples, margins), and flags when the same metric category shows conflicting values on different slides. This is the part most likely to catch something a human missed on the fifth read-through.

Beyond what the script flags, verify:
- Calculations are correct (totals sum, percentages add up, growth rates match the endpoints)
- Unit style is consistent — the deck should pick one of $M or $MM and stick with it
- Time periods are aligned — FY vs LTM vs quarterly, explicitly labeled

### 2. Data-narrative alignment

Map claims to the data that's supposed to support them. This is where decks go wrong quietly — someone edits the chart on slide 7 and forgets the narrative on slide 4.

- Trend statements ("declining margins") → does the chart actually go that direction?
- Market position claims ("#1 player") → revenue and share data support it?
- Plausibility — "#1 in a $100B market" with $200M revenue is 0.2% share; that's not #1

### 3. Language polish

IB decks have a register. Scan for anything that breaks it: casual phrasing ("pretty good", "a lot of"), contractions, exclamation points, vague quantifiers without numbers, inconsistent terminology for the same concept.

See `references/ib-terminology.md` for replacement patterns.

### 4. Visual and formatting QC

Run standard visual verification checks on each slide. You're looking for: missing chart source citations, missing axis labels, typography inconsistencies, number formatting drift (1,000 vs 1K within the same deck), date format drift, footnote and disclaimer gaps.

Visual verification catches overlaps, overflow, and contrast issues that don't show up in text extraction. Don't skip it — a chart with no source citation looks the same as a properly sourced one in the text dump.

## Output

Use `references/report-format.md` as the structure. Categorize by severity:

- **Critical** — number mismatches, factual errors, data contradicting narrative. These block client delivery.
- **Important** — language, missing sources, terminology drift. Should fix.
- **Minor** — font sizes, spacing, date formats. Polish.

Lead with criticals. If there aren't any, say so explicitly — "no number inconsistencies found" is a finding, not an absence of one.