fsi-strip-profile について
fsi-strip-profileは、金融業界向けの情報密度が高い企業紹介スライドを作るスキルです。調査と構成の計画から、各スライドの作成、目視確認、ユーザー承認までを段階的に進めます。
主な機能
- 01企業・市場調査の項目
- 02財務・バリュエーション指標
- 034:3の四象限レイアウト指針
- 04スライドの描画と目視確認
- 05各スライド作成前の承認
活用シーン
- 01経営層向け企業紹介の準備
- 02投資銀行向け資料の作成
- 03描画後のレイアウト確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ anthropics/ financial-services --skill fsi-strip-profileインストール後、Claude Code で/fsi-strip-profileを入力して読み込まれたか確認します。
詳細
ワークフロー
1. 要件の明確化
- ユーザーに確認:スライドは1枚ですか、それとも複数枚(3~4枚)ですか?
- ユーザーに確認:特に重視したい分野やトピックはありますか?
- ユーザーの確認後にのみ、調査を開始します
2. 調査と計画
データソース:
- 主要情報源:企業提出書類(BamSEC、SEC EDGAR の「Item 1. Business」、MD&A)、投資家向けプレゼンテーション、企業ウェブサイト
- 市場データ:Bloomberg、FactSet、CapIQ(株価、株式数、時価総額、純有利子負債、EV、株主構成)
- 予想値:NTM 売上高、EBITDA、EPS の FactSet/CapIQ コンセンサス
- ニュース:過去90日間のプレスリリース、M&A 活動、ガイダンスの変更
必須指標:
- 財務:売上高、EBITDA、利益率(%)、EPS、FCF の前後3年間
- バリュエーション:時価総額、EV、EV/売上高、EV/EBITDA、P/E 倍率
- 成長率:前年比成長率(%)
- 株主構成:上位5株主と所有割合(%)
- セグメント:製品構成および/または地域構成(%の内訳)
正規化:
- すべての金額を統一した通貨に換算します
- 表記単位を統一します(全体を通して$mmまたは$bnを使用し、混在させません)
作成前:
- 各項目につき箇条書き4~5点のアウトラインをチャットに表示します(プレースホルダーではなく、実際の数値を使用)
- スタイルの選択内容を表示します。フォント、色(16進コード)、各データセットのグラフの種類を含めます
- ユーザーの同意を得ます:「このアウトラインとビジュアル戦略は、ご希望に沿っていますか?」
3. スライドを1枚ずつ作成
重要:スライドは必ず1枚ずつ作成し、次のスライドに進む前にユーザーの承認を得てください。
各スライドについて:
- PptxGenJS でこのスライド1枚のみを作成します
- 必須:レビュー用に画像へ変換 — スライドを画像に変換し、目視で確認してください:
soffice --headless --convert-to pdf presentation.pptx pdftoppm -jpeg -r 150 -f 1 -l 1 presentation.pdf slide - 必須:目視で確認 — 続行する前に、レンダリングしたスライド画像を注意深く確認してください:
- テキストの重なりの確認:すべてのテキスト要素を確認し、ラベル、箇条書き、タイトル同士が重なっていないか確認します
- テキストの切れの確認:境界でテキストが途切れていないか確認します。すべての語が完全に表示されていますか?
- グラフの境界の確認:グラフがコンテナー内に収まっているか確認します。すべての軸ラベルが完全に表示されていますか?
- 象限の整合性:ある象限の内容が隣の象限にはみ出していないか確認します
- 重なりや切れが1つでも見つかった場合:次の順番で対処し、すぐに修正します:
- 最初に:フォントサイズを1~2pt小さくします
- 次に:テキストを短くします(略語を使う、重要度の低い情報を削除する)
- その次に:要素の位置またはコンテナーのサイズを調整します
- 再レンダリングして再確認 — すべてのテキストがきれいに収まるまで先に進まないでください
- スライド画像とダウンロードリンクをユーザーに提示します
- 次のスライドを作成する前に必ず停止し、ユーザーから明示的な承認を得てください。ユーザーが確認するまで先に進まないでください。
すべてのページで、次の問題がないか必ず確認してください:
- 表の行とその下のテキストが重なっている
- グラフのX軸ラベルが下端で切れている
- 長い箇条書きが隣のコンテンツにはみ出している
- 象限内のコンテンツが隣の象限にはみ出している
- タイトルテキストが下のコンテンツと重なっている
- 凡例テキストがグラフ要素と重なっている
- フッター/出典テキストがメインコンテンツと重なっている
スライド形式の要件
情報密度は重要です
最優先の目標は、情報密度を最大限に高めることです。 忙しい経営幹部が30秒で会社の全体像を理解できるようにします。各象限を余すところなく使ってください。
各象限の目安:
- 会社概要:最低6〜8項目(本社、設立年、従業員数、CEO/CFO、時価総額、ティッカー、業界、主要指標)
- 事業とポジショニング:6〜8項目(収益源、製品、市場シェア(%)、競争優位性、顧客数、地域別構成)
- 主要財務指標:8〜10行の表、またはチャート+主要指標4〜5項目(売上高、EBITDA、利益率、EPS、FCF、成長率、バリュエーション倍率)
- 第4象限:5〜7項目(所有比率(%)、最近のM&A、動向、カタリスト)
情報を詰め込むテクニック:
- 関連する事実をまとめます:「本社:Austin, TX;設立:2003年;従業員数:14万人」
- 必ず数値を含めます:「売上高500億ドル」とし、「大きな売上高」とはしません
- 背景情報を加えます:「EBITDAマージン:25%(業界平均の18%に対して)」
- 前年比の変化を含めます:「売上高:1億2,500万ドル(前年比+28%)」
- 割合を使います:「売上高の62%がエンタープライズ」
象限の情報量が少ない場合は、さらに追加します:
- セグメント別の内訳(%付き)
- 地域別の売上構成
- 顧客集中度(上位10社=X%)
- 最近の契約獲得(契約金額付き)
- ガイダンスと市場コンセンサスの比較
- インサイダー保有比率(%)
行間 — セクションごとにテキストボックスを1つ使用します:
def add_section(slide, x, y, w, header_text, bullets, header_size=10, bullet_size=8):
"""Header + bullets in single textbox with natural spacing"""
tb = slide.shapes.add_textbox(x, y, w, Inches(len(bullets) * 0.18 + 0.3))
tf = tb.text_frame
tf.word_wrap = True
# Header paragraph
p = tf.paragraphs[0]
p.text = header_text
p.font.bold = True
p.font.size = Pt(header_size)
p.font.color.rgb = RGBColor(0, 51, 102)
p.space_after = Pt(6) # Small gap after header
# Bullet paragraphs
for bullet in bullets:
p = tf.add_paragraph()
p.text = bullet
p.font.size = Pt(bullet_size)
p.space_after = Pt(3)
return tb
重要なスペーシングの原則:
- 見出しと箇条書きは同じテキストボックスに入れます(見出し用のテキストボックスを分けません)
- 見出しの後に
space_after = Pt(6)、箇条書きの間にPt(3)を設定します - 間隔を固定値で設定せず、段落のスペーシングで自然に調整します
- 内容がはみ出す場合は、内容を削除するのではなく、フォントサイズを1pt小さくします
-
密度の高いスライドを3〜4枚 — 象限、列、表、チャートを使用します
-
本文はすべて箇条書き — 段落は絶対に使いません。セクションごとに箇条書きをすべて含むテキストボックスを1つ使用します — 箇条書きごとに別のテキストボックスを作成しないでください。PptxGenJSの箇条書き書式を使用します:
// CORRECT: Single textbox with bullet list - each array item becomes a bullet // Position in top-left quadrant (Company Overview) - after header with accent bar slide.addText( [ { text: 'Headquarters: Austin, Texas; Founded 2003', options: { bullet: { indent: 10 }, breakLine: true } }, { text: 'Employees: 140,000+ globally across 6 continents', options: { bullet: { indent: 10 }, breakLine: true } }, { text: 'CEO: Elon Musk; CFO: Vaibhav Taneja', options: { bullet: { indent: 10 }, breakLine: true } }, { text: 'Market Cap: $850B (#6 globally by market cap)', options: { bullet: { indent: 10 }, breakLine: true } }, { text: 'Segments: Automotive (85%), Energy (10%), Services (5%)', options: { bullet: { indent: 10 } } } ], { x: 0.45, y: 0.95, w: 4.5, h: 2.6, fontSize: 11, fontFace: 'Arial', valign: 'top', paraSpaceAfter: 6 } ); // WRONG: Multiple separate textboxes for each bullet - causes alignment issues // slide.addText('Headquarters: Austin', { x: 0.5, y: 1.0, bullet: true });箇条書きの書式設定のヒント:
bullet: { indent: 10 }— 箇条書きのインデントを調整します(値が小さいほど間隔が詰まります)paraSpaceAfter: 6— 各段落の後にポイント単位で間隔を設定します- 関連する事実を複数まとめて各箇条書きに入れます(例:「本社:Austin;設立:2003年」)
- 情報密度を高めるため、具体的な数値と割合を含めます
-
タイトルはタイトルケース(すべて大文字にはしない)にし、左揃えにします
-
表を含め、すべての場所でフォントを統一します
-
会社のブランドカラー — スライドを作成する前に、ウェブ検索で実際のブランドカラーを必ず調べてください。色を推測したり、決めつけたりしないでください。
-
ブランドガイドラインが提供されている場合は、それに従います
ビジュアル参考資料
レイアウトの参考として examples/Nike_Strip_Profile_Example.pptx を参照してください。各社のブランドに合わせて色を調整します。
1ページ目のレイアウト
忙しい経営幹部向けの「30秒で理解できるテスト」に合格する必要があります。
スライド設定(重要)
4:3のアスペクト比(標準的なIBピッチブック形式)を使用します:
const pptx = new pptxgen();
pptx.layout = 'LAYOUT_4x3'; // 10" wide × 7.5" tall - MUST USE THIS
スライドの座標系
PptxGenJSではインチを使用します。4:3のスライドは幅10インチ×高さ7.5インチです。
- x:左端からの水平位置(0=左、10=右)
- y:上端からの垂直位置(0=上、7.5=下)
- コンテンツは範囲内に収めます — 四辺に0.3インチの余白を残します
1ページ目の配置(インチ単位)
┌─────────────────────────────────────────────────────────────────┐
│ y=0.2 Title: Company Name (Ticker) │
├────────────────────────────┬────────────────────────────────────┤
│ y=0.6 Company Overview │ y=0.6 Business & Positioning │
│ x=0.3, w=4.7 │ x=5.0, w=4.7 │
│ h=3.0 │ h=3.0 │
├────────────────────────────┼────────────────────────────────────┤
│ y=3.7 Key Financials │ y=3.7 Stock/Recent Developments │
│ x=0.3, w=4.7 │ x=5.0, w=4.7 │
│ h=3.5 │ h=3.5 │
└────────────────────────────┴────────────────────────────────────┘
y=7.5
タイトルセクション(y=0.2)
会社名(ティッカー) — 例:Tesla, Inc. (TSLA)
slide.addText('Tesla, Inc. (TSLA)', { x: 0.3, y: 0.2, w: 9.4, h: 0.35, fontSize: 18, bold: true });
4象限レイアウト(y=0.6〜y=7.2)
| 象限 | 位置 | 内容 |
|---|---|---|
| 1 | x=0.3, y=0.6, w=4.7, h=3.0 | 会社概要:本社、設立年、主要指標、事業概要(4〜5項目) |
| 2 | x=5.0, y=0.6, w=4.7, h=3.0 | 事業とポジショニング:収益源、製品・サービス、競争上の位置付け、成長要因(4〜5項目) |
| 3 | x=0.3, y=3.7, w=4.7, h=3.5 | 主要財務指標:売上高、EBITDA、利益率、EPS、FCF+バリュエーション(時価総額、EV、倍率)— 表またはチャートのどちらか一方。両方は使用しません |
| 4 | x=5.0, y=3.7, w=4.7, h=3.5 | 公開企業の場合:1年間の株価チャート+主要株主。非公開企業の場合:最近の動向、または所有権・M&Aの履歴 |
フォントサイズ — 以下の値を厳守してください
| 要素 | サイズ | 備考 |
|---|---|---|
| スライドタイトル | 24pt | 太字、会社のブランドカラー |
| 4象限の見出し | 14pt | 太字、アクセントバー付き |
| 本文/箇条書きのテキスト | 11pt | 標準の太さ |
| 表のテキスト | 10pt | 情報量の多い表では9ptを使用 |
| グラフのラベル | 9pt | ラベルは短くします |
| 出典/フッター | 8pt | スライド下部 |
重要:テキストがはみ出す場合は、フォントサイズを1pt小さくして再レンダリングしてください。
視覚的なアクセント(必須)
各象限の見出しの左側には、必ず色付きのアクセントバーを付けてください。
// Add accent bar for quadrant header
slide.addShape(pptx.shapes.RECTANGLE, {
x: 0.3, y: 0.6, w: 0.08, h: 0.25,
fill: { color: 'E31937' } // Use company brand color
});
slide.addText('Company Overview', {
x: 0.45, y: 0.6, w: 4.5, h: 0.3, fontSize: 14, bold: true, fontFace: 'Arial'
});
含める視覚要素:
- すべてのセクション見出しの横にアクセントバー(ブランドカラー)
- 上段と下段の象限の間に細い水平の区切り線
- 入手可能な場合は、右上隅に会社のロゴ
- 表には控えめなグリッド線(薄いグレー #CCCCCC)
1ページ目の書式設定
- フォント:Arial(またはユーザー/ブランドガイドラインで指定されているフォント)
- 象限タイトル:タイトルケース(すべて大文字にはしない)。例:「Company Overview」(「COMPANY OVERVIEW」ではなく)
- 箇条書き:冒頭の重要語句を太字にします。例:「市場での位置付け: 世界をリードするメーカー……」
- 背景は白のみ。ボックス、塗りつぶし、網掛けは使用しないでください
- セクション見出し:太字にし、ブランドガイドラインに沿ってスタイルを設定します
- すべての象限を同じサイズにし、位置を揃えます
2ページ目以降:自由形式のレイアウト
- 2列(40/60または50/50)、スライド全体を使ったグラフ、またはサイドバー形式
- 各ページで1ページ目の内容を詳しく説明します
- タイポグラフィと配色を一貫させます
- 推奨される流れ:製品/市場 → 財務分析 → 経営陣
グラフ(複数スライドのプロフィール)
複数スライドのプロフィールの場合:実際のPptxGenJSグラフを2~3点含めてください。プレースホルダーのdivや静止画像は使用しないでください。
1枚のスライドで完結するプロフィールの場合:省スペースのため、財務情報には表を使用します。グラフを追加するのは、表の代わりに使用する場合に限ります。表とグラフの両方は使用しないでください。
| データの種類 | グラフの種類 |
|---|---|
| 売上高の推移 | 折れ線または縦棒(複数年) |
| 地域別内訳 | 横棒 |
| 製品構成 | 割合を表示した円グラフ |
| 財務比較 | 縦棒 |
| 株価(1年間の日次) | 折れ線 |
グラフのコード例
横棒グラフ(4:3スライドの右下の象限に収まる形式):
slide.addChart(pptx.charts.BAR, [{
name: 'FY2024 Revenue by Region',
labels: ['North America', 'EMEA', 'China', 'APLA'],
values: [21.4, 13.6, 7.6, 6.7]
}], {
x: 5.0, y: 4.1, w: 4.5, h: 3.0, // Fits in bottom-right quadrant (4:3)
barDir: 'bar', chartColors: ['FF6B35'], showValue: true,
dataLabelFontSize: 10, catAxisLabelFontSize: 10, valAxisLabelFontSize: 10,
dataLabelFormatCode: '$#,##0.0B',
title: 'Revenue by Geography', titleFontSize: 12, titleBold: true
});
円グラフ(4:3スライドの右下の象限に収まる形式):
slide.addChart(pptx.charts.PIE, [{
name: 'Product Mix',
labels: ['Footwear', 'Apparel', 'Equipment'],
values: [68, 29, 3]
}], {
x: 5.0, y: 4.1, w: 4.5, h: 3.0, // Fits in bottom-right quadrant (4:3)
showPercent: true, showLegend: true, legendPos: 'r',
dataLabelFontSize: 10, legendFontSize: 10,
chartColors: ['FF6B35', '2C2C2C', '4A4A4A'],
title: 'Revenue Mix FY24', titleFontSize: 12, titleBold: true
});
折れ線グラフ(2ページ目以降の全幅形式):
slide.addChart(pptx.charts.LINE, [{
name: 'Revenue ($B)',
labels: ['FY21', 'FY22', 'FY23', 'FY24', 'FY25E'],
values: [44.5, 46.7, 48.5, 51.4, 54.2]
}], {
x: 0.3, y: 1.2, w: 9.4, h: 5.5, // Full width for 4:3 slide
chartColors: ['FF6B35'], showValue: true, lineSmooth: true,
dataLabelFontSize: 11, catAxisLabelFontSize: 11, valAxisLabelFontSize: 11,
title: 'Revenue Trend & Forecast', titleFontSize: 14, titleBold: true
});
財務データの書式設定
必ずネイティブのPptxGenJSの表またはグラフを使用してください。通常の文章やHTMLの表は絶対に使用しないでください。
財務データには slide.addTable() を使用してください(4:3スライドの左下の象限に収まります)。
// Add header with accent bar first
slide.addShape(pptx.shapes.RECTANGLE, {
x: 0.3, y: 3.7, w: 0.08, h: 0.25, fill: { color: 'E31937' }
});
slide.addText('Key Financials & Valuation', {
x: 0.45, y: 3.7, w: 4.5, h: 0.3, fontSize: 14, bold: true, fontFace: 'Arial'
});
// Financial data table
slide.addTable([
[{ text: 'Metric', options: { bold: true, fill: '003366', color: 'FFFFFF' } },
{ text: 'FY24', options: { bold: true, fill: '003366', color: 'FFFFFF' } },
{ text: 'FY25E', options: { bold: true, fill: '003366', color: 'FFFFFF' } }],
['Revenue', '$51.4B', '$54.2B'],
['YoY Growth', '+6.0%', '+5.5%'],
['EBITDA', '$8.9B', '$9.5B'],
['EBITDA Margin', '17.3%', '17.5%'],
['EPS', '$3.42', '$3.75'],
['Market Cap', '$185B', '—'],
['EV/EBITDA', '12.5x', '11.7x']
], {
x: 0.45, y: 4.1, w: 4.3, h: 3.0, // Below header in bottom-left quadrant
fontFace: 'Arial', fontSize: 10,
border: { pt: 0.5, color: 'CCCCCC' },
valign: 'middle',
colW: [1.8, 1.25, 1.25] // Column widths
});
❌ 不適切: Note: FY2024 revenue growth +1.0%, Net Income $5.1B... のような通常の文章
❌ 不適切: PowerPointに適切に変換されないHTMLの表
予測には、構造化された表で弱気/基本/強気のシナリオを使用してください。
品質チェックリスト
1ページ目
- 会社名、ティッカー、業種を含むタイトルセクション
- タイトルの下に、同じサイズの象限を正確に4つ配置
- すべて箇条書き。段落は使わず、各項目は最大1行
- 財務情報は表またはグラフで表示(両方は使用しない)
すべてのスライド
- テキストがはみ出したり、途切れたりしていない
- 全体を通してフォントと色が一貫している
- グラフが正しく描画される
- プレースホルダーテキストがなく、すべて実データになっている
- 単位が一貫している($mmまたは$bn。混在させない)
- 出典を記載している
- 投資銀行の品質基準(GS/MS/JPM水準)
注: PowerPointファイルの作成には、PPTX skill を参照してください。