funding-digest
ユーザーがウォッチしているセクターや企業の直近の資金調達ラウンド・資本市場の動向を集約し、洗練されたワンページのPowerPointスライドとして出力します。「ディールフローのまとめ」「週次の資金調達レポート」「今週の取引サマリー」「資本市場アップデート」といったリクエスト時に起動し、主要なポイント・バリュエーションデータ・Capital IQのディールリンクを含むプロフェッショナルなPPTXファイルを生成します。
description の原文を見る
Generate a polished one-page PowerPoint slide summarizing key takeaways from recent funding rounds and notable capital markets activity across a user's watched sectors or companies. Use this skill when the user asks for a deal flow summary, weekly recap, funding digest, transaction roundup, or capital markets briefing. Triggers on: 'deal flow digest', 'weekly funding recap', 'deal roundup', 'transaction summary this week', 'what happened in [sector] this week', 'capital markets update', or any request to compile recent funding activity into a briefing slide. Produces a professional single-slide PPTX with key takeaways, valuation data, and Capital IQ deal links.
SKILL.md 本文
AI免責事項(必須): PowerPointフッターに以下の免責事項テキストを含める必要があります。これはオプションではありません — 免責事項がないとレポートは不完全です。
"分析はAI生成です — すべての出力をご確認ください"
フッター — 生成されたスライドの下部に、目立つ黄色のバナーとして: "Analysis is AI-generated — please confirm all outputs"
週次ディール フロー ダイジェスト
S&P Global Capital IQ データを使用して、監視中のセクターまたは企業における最近のファンディングラウンドからの主要なポイントをまとめた、アナリスト品質の単一スライドPowerPointを生成します。各ディールは Capital IQ プロフィールにリンク バックされており、クイック ドリルダウンが可能です。
使用時期
以下のパターンでトリガーします:
- "Give me a deal flow digest for this week"
- "Weekly funding recap for [sector]"
- "What deals closed in [sector/companies] recently?"
- "Transaction roundup" または "deal roundup"
- "Capital markets update for my coverage universe"
- "Summarize recent funding activity"
- ディール、ラウンド、またはファンディングに関する定期的なブリーフィング リクエスト
ネストスキル
このスキルは1ページのPPTXブリーフィングを生成します:
- PowerPointを生成する前に
/mnt/skills/public/pptx/SKILL.mdを読み込みます (およびスクラッチから作成する場合はサブリファレンスpptxgenjs.md)
エンティティ解決とツールロバストネス
S&P Global の識別子システムは企業名を法的エンティティに解決します。ほとんどの企業ではうまく機能しますが、空の結果を引き起こす既知の障害モードがあります。ワークフロー全体でこれらのルールを適用して、サイレント データ損失を回避してください。
ルール 0: ファンディングをクエリする前にすべての識別子を事前検証
**ファンディングツールを呼び出す前に、**すべての識別子を get_info_from_identifiers で実行します。これはコスト最小かつ最も信頼性の高い方法で問題を早期に検出できます。レスポンスで2つのことを確認します:
- それは解決されたか? 識別子が空/エラーを返す場合、その名前は S&P Global に存在しません。
references/sector-seeds.mdのエイリアス、法的エンティティ名、またはcompany_idを直接試してください。 statusフィールドは何か?"Operating"→ ファンディングラウンドをクエリするのに安全です。"Operating Subsidiary"→ 会社は存在しますが親会社が所有しています。ゼロのファンディングラウンドを返します。ダイジェストでコンテキストとして記載してください (例: "[Parent] に買収された") ですがファンディングはクエリしないでください。- その他のステータス (閉鎖中、非アクティブなど) → 会社はもう営業していません。履歴データは存在する可能性がありますが、新しい活動はありません。
この単一の事前検証ステップで、ほとんどの空結果問題を防止できます。 すべての候補を単一の get_info_from_identifiers 呼び出しにバッチ処理します (大規模バッチをうまく処理します) そして先に進む前にトリアージしてください。
ルール 1: フォールバックなしで空結果を信頼しない
get_rounds_of_funding_from_identifiers がデータを持つことを期待する会社に対して空を返す場合:
- 法的エンティティ名または company_id を試してください。 ブランド名は通常機能しますが、そうでない場合もあります。既知のミスマッチについては
references/sector-seeds.mdのエイリアス テーブルを参照してください。一般的なパターン: "[Brand] AI" → "[Legal Name], Inc." (例: Together AI → "Together Computer, Inc."、Character.ai → "Character Technologies, Inc."、Runway ML → "Runway AI, Inc.")。 - 会社が S&P に存在することを確認してください。 ルール 0 をスキップした場合、今
get_info_from_identifiers(identifiers=["Company"])を呼び出してください — これも空を返す場合、会社は早期段階すぎるか、まだインデックスされていない可能性があります。
ルール 2: 子会社にはファンディングラウンドがない
より大きな企業の部門または完全子会社である会社 (例: Alphabet の下の DeepMind、Microsoft の下の GitHub、Voodoo の下の BeReal) は ゼロのファンディングラウンド を返します。その資本イベントは親レベルで追跡されます。
検出方法: get_info_from_identifiers からの status フィールドは "Operating Subsidiary" を表示します。references/sector-seeds.md ファイルは ⚠️ 警告で既知の子会社にもフラグを立てます。ファンディング クエリではこれらをスキップしてください。
ルール 3: プライマリ ツールとして get_rounds_of_funding_from_identifiers を使用し、get_funding_summary_from_identifiers を使用しない
サマリー ツールはより高速ですが信頼性が低く、詳細ラウンドが存在する場合でもエラーまたは不完全なデータを返すことができます。常に詳細ラウンドツールをプライマリ データ ソースとして使用してください。サマリー ツールは、クイック集計チェック (総募集額、ラウンド数) にのみ許可され、結果が低く見える場合はラウンドツールに対して検証される必要があります。
ルール 4: 慎重にバッチ処理して検証
大規模企業ユニバース (50+ 企業) を処理する場合、15~20 のグループでバッチ処理します。各バッチ後に、空の結果を返した企業を確認し、先に進む前にルール 1 のフォールバック ステップで実行してください。
ルール 5: role パラメータが重要
company_raising_funds→ "X はどのラウンドを調達しましたか?" (企業視点)company_investing_in_round_of_funding→ "投資家 Y は何に投資しましたか?" (投資家視点)
間違ったロールを使用すると、サイレント エラーで空の結果が返されます。ディール フロー ダイジェストについては、ほぼ常に company_raising_funds が必要です。投資家のポートフォリオ活動を具体的に分析する場合にのみ投資家ロールを使用してください。
ルール 6: 識別子解決は大文字小文字を区別しませんが、スペルに敏感
S&P Global は大文字小文字の変更を処理します ("openai" = "OpenAI") ですがスペルと句読点に厳密です。"Character AI" は "Character.ai" が成功する場所で失敗する可能性があります。確実な場合は、company_id (例: C_1829047235) を使用してください。これは確実に解決されます。
ワークフロー
ステップ 1: カバレッジと期間を確立
ダイジェストが何をカバーすべきかを決定します。2つのセットアップがあります:
リターン ユーザー (ウォッチリストあり): ユーザーが以前にトラッキング対象のセクターまたは企業を定義した場合、そのリストを使用してください。会話履歴で以前のウォッチリストを確認してください。
新規ユーザー: 以下をリクエストしてください:
| パラメータ | デフォルト | 注記 |
|---|---|---|
| セクター | (少なくとも1つ) | 例: "AI, Fintech, Biotech" |
| 特定企業 | オプション | セクターレベルのカバレッジを補足 |
| 期間 | 過去7日間 | "This week"、"last 2 weeks"、"this month" |
時間枠から正確な start_date と end_date を計算します。
ステップ 2: 企業ユニバースを構築
指定された各セクターについて、検証されたブートストラップ アプローチを使用して企業ユニバースを構築します:
-
ドメイン知識からのシード企業 (
references/sector-seeds.mdを参照)- シード ファイル内の ⚠️ 警告とエイリアス ノートに注意してください — よく知られた企業の中には子会社、買収済み、または特定の法的名前を解決するために必要な企業があります。
- シード ファイルには既知のエイリアス ミスマッチの
company_id値が含まれています。ブランド名が失敗した場合、これらを直接使用してください。
-
すべてのシードをすぐに事前検証 (ルール 0):
get_info_from_identifiers(identifiers=[all_seeds_for_this_sector])結果を2つのバケットにトリアージします:
- ✅ 解決済み & 営業中 (
status= "Operating") → 競合他社拡張に進む - ❌ 未解決または子会社 → シード ファイルのエイリアス/法的名前で再試行; 子会社はコンテキスト用に記載されていますがファンディング クエリから除外
- ✅ 解決済み & 営業中 (
-
競合他社経由で拡張 (解決済みシードのみを使用):
get_competitors_from_identifiers(identifiers=[resolved_seeds], competitor_source="all") -
拡張ユニバースを検証:
get_info_from_identifiers(identifiers=[new_competitors])同じトリアージを適用します。ターゲット セクターと一致する
simple_industryでフィルター処理します。未解決の名前または子会社を削除します。
ユーザーが特定の企業を提供した場合、それらを直接追加しますが、事前検証トリアージで実行してください。検証をスキップしないでください — よく知られたブランド名でもサイレント エラーになる可能性があります。
ユニバースを管理可能に保ちます — セクターあたり 15~40 の 解決済み、営業中の 企業を目指します。マルチセクター ダイジェストの場合、これは 50~100+ 企業の合計になる可能性があります。
ステップ 3: ファンディングラウンドをプル
ユニバース内のすべての企業について:
get_rounds_of_funding_from_identifiers(
identifiers=[batch],
role="company_raising_funds",
start_date="YYYY-MM-DD",
end_date="YYYY-MM-DD"
)
ユニバースが大規模な場合は、15~20 のバッチで処理します。
各バッチ後、空の結果を持つ企業を特定します。 活動を持つことが期待される任意の企業について:
- 法的エンティティ名または別の識別子で再試行してください (上記のエンティティ解決ルールを参照)。
- フォールバックを使い尽くした後にのみ企業を "データなし" として記録してください。
成功した結果からすべての transaction_id 値を収集し、その後、詳細ラウンド情報で充実させます:
get_rounds_of_funding_info_from_transaction_ids(
transaction_ids=[all_funding_ids]
)
トランザクションごとに1つではなく、すべての transaction_ids を単一の呼び出し (または少数の呼び出し) で渡してください — ツールはバッチを効率的に処理します。
各ラウンドから以下を抽出 (スライドに重要):
transaction_id— Capital IQ ディール リンクに必要- 告知日 — ラウンドが公開アナウンスされた日時
- クローズ日 — ラウンドが正式にクローズされた日時
- 調達額
- 買値前バリュエーション (開示されている場合)
- 買値後バリュエーション (開示されている場合)
- リード投資家
- ラウンドタイプ (Series A、B、C など)
- セキュリティ条件
- アドバイザー
- 価格トレンド (アップラウンド / ダウンラウンド / フラット)
日付は必須です。 告知日とクローズ日は常に最終スライドのディール テーブルに表示される必要があります。1つの日付しか利用できない場合は、それを表示し、もう1つを "—" としてマークしてください。
ステップ 4: 注目ディールの企業コンテキストをプル
大幅なディール (大規模ラウンド、著しいバリュエーション シフト) に関与している企業について、簡単な説明を取得します:
get_company_summary_from_identifiers(identifiers=[notable_companies])
これはナラティブにコンテキストを追加します (例: "The company, an AI infrastructure startup founded in 2021, is expanding into...")。
ステップ 5: ハイライトとトレンドを特定
スライドを設計する前に、データを分析してストーリーを表面化します:
"注目" としてフラグ:
- ラウンド ≥ $100M
- ダウン ラウンド (価格トレンド = down)
- 新規ユニコーン (買値後バリュエーション が $1B を超える)
- 著しいバリュエーション ジャンプ (買値後バリュエーション ≥ 最後の既知バリュエーション の 2倍)
- リピート ライザー (同じ企業が 6 か月以内に再度ラウンドを実施)
- 異常に大きい投資家シンジケート
トレンドを特定:
- この期間に投資された総資本 vs. 典型的 (履歴データ利用可能な場合)
- どのサブセクターが最もホット (最もラウンド、最も資本)
- ラウンド ステージ分布 (早期段階か後期段階が支配的か?)
- ダイジェスト全体で最もアクティブな投資家
- 地理的集中
- バリュエーション トレンド (買値前バリュエーション が圧縮または拡張されているか?)
キー テイクアウェイを選択 (3~5個): 最も重要なシグナルを 3~5 個の簡潔な箇条書き テイクアウェイに凝縮します。これらはスライドの中心です。各テイクアウェイは1文で、パンチのあるもの、データ バックアップされたものである必要があります。
例:
- "AI sector raised $2.4B across 8 rounds — 3x the prior week, led by a $800M mega-round from [Company] at a $12B post-money valuation."
- "[Company] closed a $200M Series D at $3.5B pre-money, up from $1.8B in its Series C — signaling strong demand for AI developer tools."
- "Down-round activity ticked up: 2 of 6 late-stage rounds priced below prior valuations."
ステップ 6: 企業ロゴを生成
主要テイクアウェイまたは注目ディールに登場する各企業について、2段階ローカル パイプラインを使用してロゴを生成します。Clearbit (logo.clearbit.com) を使用しないでください — これは廃止されており、一貫して失敗します。外部ロゴ CDN (Brandfetch、logo.dev、Google Favicons) は API キーが必要か、ネットワーク制限がブロックしています。代わりに、次のアプローチを使用してください:
ティア 1: simple-icons npm パッケージ (3,300+ ブランド SVG、ネットワーク不要)
simple-icons パッケージは、数千の著名なブランドの高品質 SVG アイコンをバンドルしています。完全にオフラインで機能 — API キーなし、ネットワーク呼び出しなし。sharp と並行してインストール (SVG → PNG 変換用):
npm install simple-icons sharp
ルックアップ戦略:
const si = require('simple-icons');
const sharp = require('sharp');
// 正確なタイトル マッチで アイコンを検索 (大文字小文字を区別しない)
function findSimpleIcon(companyName) {
// 正確なマッチを最初に試す
for (const [key, val] of Object.entries(si)) {
if (!key.startsWith('si') || !val || !val.title) continue;
if (val.title.toLowerCase() === companyName.toLowerCase()) return val;
}
// 一般的なサフィックスなしで試す (AI、Inc.、Corp.)
const stripped = companyName.replace(/\s*(AI|Inc\.?|Corp\.?|Ltd\.?)$/i, '').trim();
if (stripped !== companyName) {
for (const [key, val] of Object.entries(si)) {
if (!key.startsWith('si') || !val || !val.title) continue;
if (val.title.toLowerCase() === stripped.toLowerCase()) return val;
}
}
return null;
}
// SVG をブランドの公式色で PNG に変換
async function simpleIconToPng(icon, outputPath) {
const coloredSvg = icon.svg.replace('<svg', `<svg fill="#${icon.hex}"`);
await sharp(Buffer.from(coloredSvg))
.resize(128, 128, { fit: 'contain', background: { r: 255, g: 255, b: 255, alpha: 0 } })
.png()
.toFile(outputPath);
}
カバレッジ: 典型的なディール フロー企業の約 43% (Stripe、Anthropic、Databricks、Snowflake、Discord、Shopify、SpaceX、Mistral AI、Hugging Face などのメジャー テック ブランドに強い; ニッチ フィンテック、バイオテック、早期段階企業に弱い)。
ティア 2: sharp 経由の初期ベース フォールバック (100% カバレッジ)
simple-icons に見つからない企業については、sharp を使用して、クリーンな初期ベース ロゴを PNG として生成します:
async function generateInitialLogo(companyName, outputPath) {
const initial = companyName.charAt(0).toUpperCase();
const svg = `
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg">
<circle cx="64" cy="64" r="64" fill="#BDBDBD"/>
<text x="64" y="64" font-family="Arial, Helvetica, sans-serif"
font-size="56" font-weight="bold" fill="#FFFFFF"
text-anchor="middle" dominant-baseline="central">${initial}</text>
</svg>`;
await sharp(Buffer.from(svg)).png().toFile(outputPath);
}
完全なパイプライン
async function fetchLogo(companyName, outputDir) {
const fileName = companyName.toLowerCase().replace(/[\s.]+/g, '-') + '.png';
const outPath = path.join(outputDir, fileName);
// ティア 1: simple-icons を試す
const icon = findSimpleIcon(companyName);
if (icon) {
await simpleIconToPng(icon, outPath);
return { path: outPath, source: 'simple-icons' };
}
// ティア 2: 初期ベース フォールバックを生成
await generateInitialLogo(companyName, outPath);
return { path: outPath, source: 'initial-fallback' };
}
ロゴ ガイドライン:
- すべてのロゴを
/home/claude/logos/[company-name].pngに保存 - すべてのロゴは 128×128 PNG、透明な背景
- スライドでロゴを 0.35"~0.5" 高く表示 — それらはアクセント、焦点ではありません
- 初期フォールバック サークルはグレー (
BDBDBD) 塗りつぶしと白いテキストを使用 — モノクロムパレットと一貫性がある - ロゴ スタイルをランダムに混合しないでください — ほとんどの企業がブランド アイコンに解決される場合、いくつかのフォールバックが自然にブレンドされるべき
ステップ 7: ワンページ PPTX を生成
PowerPoint を作成する前に /mnt/skills/public/pptx/SKILL.md と /mnt/skills/public/pptx/pptxgenjs.md を読みます。
pptxgenjs を使用して単一スライド PowerPoint を作成します。スライドは情報密度が高いが視覚的に整理されている必要があります — "テキストの壁" ではなく "エグゼクティブ ダッシュボード" を考えてください。
スライド レイアウト
┌─────────────────────────────────────────────────────────────┐
│ DEAL FLOW DIGEST │
│ [Period] · [Sectors] [Date] │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ $X.XB │ │ N │ │ $X.XB │ │ $X.XB │ │
│ │ Raised │ │ Rounds │ │ Avg Pre │ │ Largest │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ KEY TAKEAWAYS │
│ ───────────────────────────────────────────────────── │
│ [Logo] テイクアウェイ 1 テキスト... │
│ [Logo] テイクアウェイ 2 テキスト... │
│ [Logo] テイクアウェイ 3 テキスト... │
│ [Logo] テイクアウェイ 4 テキスト... │
│ │
│ TOP DEALS │
│ ┌──────────────────────────────────────────────────────────┐│
│ │Company│Type │Announced│Closed│Amount│Pre-$│Post-$│Lead│🔗││
│ │───────│─────│─────────│──────│──────│─────│──────│────│──││
│ │ ... │ ... │ ... │ ... │ ... │ ... │ ... │... │🔗││
│ └──────────────────────────────────────────────────────────┘│
│ │
│ [Footer: Deal Flow Digest · Sources: S&P Global Capital IQ]│
│ [Footer: AI Disclaimer] │
└─────────────────────────────────────────────────────────────┘
デザイン仕様
カラー フィロソフィ: ミニマル、モノクロム優先。 スライドは高級の金融ブリーフのように見えるべき — 黒、白、グレーが支配的です。色はのみ意味を持つ場合に使用されます (例: ダウンラウンドの赤いインジケーター、目立つメトリクスの緑のインジケーター) または読者が自然に期待する場合 (企業ロゴ)。背景塗りつぶし、アクセント バー、またはグラデーション効果などの純粋に装飾的な目的で色を使用しないでください。
カラー パレット — モノクロム エグゼクティブ:
- プライマリ背景:
FFFFFF(白) — クリーン、オープン スライド背景 - ヘッダー バー:
1A1A1A(ニア ブラック) — タイトル領域の強いコントラスト - プライマリ テキスト:
1A1A1A(ニア ブラック) — すべてのボディ テキスト、統計番号、テイクアウェイ - セカンダリ テキスト:
6B6B6B(ミディアム グレー) — ラベル、キャプション、フッター、日付スタンプ - ボーダー & 仕切り:
D0D0D0(ライト グレー) — 微妙な構造線、カード アウトライン、テーブル ボーダー - カード背景:
F5F5F5(オフホワイト / 非常にライト グレー) — 統計カード塗りつぶし、交互テーブル行 - リンク テキスト:
2B5797(ミュート ブルー) — Capital IQ ディール リンク (スライド上の唯一のブルー) - セマンティック カラー (控えめに):
- ダウン ラウンドまたは負のシグナル:
C0392B(ミュート レッド) — 小さなドット、タグ、または単語ハイライトとしてのみ使用、塗りつぶしまたは背景として使用しない - 目立つ正のメトリクス (新しいユニコーン、超過ラウンド):
2E7D32(ミュート グリーン) — 同じ最小限の使用: ドット、小さなタグ、または単語ハイライト - カラー インジケーターを保証するデータ ポイントがない場合、まったく色を使用しないでください。完全にモノクロムなスライドは完全に正確です。
- ダウン ラウンドまたは負のシグナル:
タイポグラフィ:
- タイトル: 28~32pt、太字、ニア ブラック ヘッダー バー上の白
- 統計番号: 36~44pt、太字、ニア ブラック
- 統計ラベル: 10~12pt、ミディアム グレー (
6B6B6B) - テイクアウェイ テキスト: 12~14pt、ニア ブラック、左配置
- テーブル テキスト: 9~11pt、ニア ブラック (セカンダリ列のグレー (
6B6B6B)) - リンク テキスト: 9~10pt、ミュート ブルー (
2B5797) - フッター: 8pt、ミディアム グレー
統計カード (上段):
- 4 つの重要なメトリクスが大きな数字コールアウトとして: 総調達額、# ラウンド、平均買値前バリュエーション、最大ラウンド
- 各カードは
F5F5F5塗りつぶしと薄いD0D0D0ボーダー付き — シャドウなし、色塗りつぶしなし - 統計が驚くべきか極端な場合 (通常の 3 倍のボリューム、レコード ディール)、その単一番号の隣に小さな色付きドットまたは下線が配置される可能性があります — それ以外は完全にモノクロムを保ちます
- 買値前バリュエーションがほとんど開示されていない場合は、別のメトリクスで代替します (例: 中央値ラウンド サイズ、# 新規ユニコーン)
キー テイクアウェイ (中央セクション):
- 3~5 つのワンライン テイクアウェイ、各関連企業ロゴで接頭辞 (小、~0.35" 高い)
- ロゴが利用できない場合は、グレー サークル を使用してください (白のテキスト付きの会社の初期) — 色付きサークルではない
- 左配置、呼吸するのに十分なスペース
- ダウン ラウンドまたは負のテイクアウェイは小さな赤いドット接頭辞を使用できます; そうでなければ色なし
- バリュエーション コンテキストを含める (例: "$5B 買値後バリュエーション")
トップ ディール テーブル (下部セクション):
- 最も注目すべきディール 4~6 つを示すコンパクト テーブル
- 列: 企業、タイプ (Series X)、告知 (日付)、クローズ (日付)、金額 ($M)、買値前 ($M)、買値後 ($M)、リード投資家、ディール リンク
- 告知 と クローズ 列は
MMM DD形式で日付を表示 (例: "Jan 15")。これらの列は必須であり、常に存在する必要があります。日付が利用できない場合は "—" を表示します。 - ディール リンク 列にはクリック可能な "View →" テキストが含まれており、Capital IQ にリンク:
ここでhttps://www.capitaliq.spglobal.com/web/client?#offering/capitalOfferingProfile?id=<transaction_id><transaction_id>はget_rounds_of_funding_from_identifiersからのtransaction_idです。 - 買値前または買値後バリュエーションが開示されていない場合、そのセルに "—" を表示
- ニア ブラック (
1A1A1A) 塗りつぶしと白いテキストを持つヘッダー行;F5F5F5とFFFFFFの交互行 - テーブルをスライド上で水平方向に中央揃え。テーブルの合計幅を計算し、スライド幅内で中央に配置されるように
xを設定:x = (slideWidth - tableWidth) / 2。16:9 レイアウト (13.33" 幅) の場合、テーブルが 12" 幅の場合はx = 0.67を使用します。スライド端にテーブルを左配置しないでください。 - タイトに保ちます — これは参照で、焦点ではありません
- テーブル セルに色塗りつぶしがない。ディールがダウンラウンドである場合、金額の隣に小さな赤いテキスト タグ "(↓ down)" が表示される可能性があります — これはテーブル内の唯一の許可された色です。
ディール リンク実装 (pptxgenjs):
pptxgenjs では、ハイパーリンクはセル オブジェクトの options.hyperlink プロパティを使用してテーブル セルに追加されます:
// Capital IQ ディール リンク付きテーブル セル
{
text: "View →",
options: {
hyperlink: {
url: `https://www.capitaliq.spglobal.com/web/client?#offering/capitalOfferingProfile?id=${transactionId}`
},
color: "2B5797",
fontSize: 9,
fontFace: "Arial"
}
}
テーブル センタリング (pptxgenjs): 常にディール テーブルをスライド上で中央揃え。x 位置を動的に計算:
const SLIDE_W = 13.33; // 16:9 スライド幅
const TABLE_W = 12.5; // 合計テーブル幅 (すべての列幅の合計)
const TABLE_X = (SLIDE_W - TABLE_W) / 2; // ≈ 0.42"
slide.addTable(tableRows, {
x: TABLE_X,
y: tableY,
w: TABLE_W,
colW: [1.8, 0.9, 0.9, 0.9, 1.0, 1.1, 1.2, 1.6, 0.7], // 企業、タイプ、告知、クローズ、金額、買値前、買値後、リード、リンク
// ... その他のオプション
});
colW 値を必要に応じて調整しますが、常に TABLE_X を (SLIDE_W - sum(colW)) / 2 から再計算してテーブルを中央揃えに保ちます。
フッター:
- ミディアム グレーの小さいテキスト: "Deal Flow Digest · [Period] · Sources: S&P Global Capital IQ · Generated [Date]"
一般的なカラー ルール (厳密に強制):
- 企業ロゴはスライド上の唯一の "フルカラー" 要素です — ソースからそのまま表示されます。
- ディール リンクはミュート ブルー (
2B5797) を使用 — これはセマンティック レッド/グリーン以外の唯一の非モノクロム テキスト色です。 - ロゴとリンク以外で、スライドは黒と白のプリンターで正しく見える必要があります。
- 背景、アクセント バー、装飾図形、またはセクション デバイダーに色を適用しないでください。
- 疑わしい場合は、グレーのままにしておいてください。
コード構造
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Deal Flow Digest";
const slide = pres.addSlide();
const SLIDE_W = 13.33; // 16:9 スライド幅 (インチ)
// 1. タイトルと期間を持つダークヘッダー バー
// 2. 統計カード行 (4 カード: 総調達額、# ラウンド、平均買値前バリュエーション、最大ラウンド)
// 3. ロゴ (バリュエーション コンテキストを含む) を持つ主要テイクアウェイ セクション
// 4. 告知、クローズ、買値前、買値後の列とCapital IQ ディール リンク付きの トップ ディール テーブル
// - テーブルをセンター: x = (SLIDE_W - tableWidth) / 2
// 5. フッター
pres.writeFile({ fileName: "/home/claude/deal-flow-digest.pptx" });
pptxgenjs ピットフォール ガイダンスごとの工場関数を使用 (共有オブジェクトではなく、繰り返されるスタイルの場合)。
ステップ 8: スライドを QA
PPTX スキルから QA プロセスに従います:
- コンテンツ QA:
python -m markitdown deal-flow-digest.pptx— すべてのテキスト、番号、企業名、バリュエーション図、ディール リンクが正確であることを確認 - ビジュアル QA: イメージに変換して検査:
要素の重なり、テキスト オーバーフロー、配置の問題、低コントラスト テキスト、ロゴ サイズの問題、ディール リンク テキストが表示されているかを確認します。python /mnt/skills/public/pptx/scripts/office/soffice.py --headless --convert-to pdf deal-flow-digest.pptx pdftoppm -jpeg -r 200 deal-flow-digest.pdf slide - リンク QA: テーブル内の Capital IQ URL が正しい transaction_id でフォーマットされていることを確認。
- 修正と再検証 — 完了を宣言する前に少なくとも1回の修正と再検証のサイクル。
ステップ 9: 結果を提示
- 最終的な
.pptxを/mnt/user-data/outputs/にコピー present_filesを使用してスライドを共有- 2~3 文の口頭サマリーを提供:
- "Your digest covers X rounds totaling $Y raised across [sectors]."
- 最も注目すべきディールとそのバリュエーションを指摘します
- 懸念される傾向 (ダウンラウンド、バリュエーション圧縮など) にフラグを立てます
エラー処理
エンティティ解決の失敗
- 既知企業の空結果: まず
get_info_from_identifiersを確認 — 失敗した場合、references/sector-seeds.mdのエイリアスまたはcompany_idを直接試してください。一般的なブランド → 法的ミスマッチ: Together AI → "Together Computer, Inc."、Character.ai → "Character Technologies, Inc."、Runway ML → "Runway AI, Inc."。 - 子会社企業: DeepMind、GitHub、Instagram、WhatsApp、YouTube、BeReal など は子会社 — 独立したファンディングラウンドがゼロです。それらを "買収/子会社" としてコンテキストに記載してください ですが "活動がない" として報告しないでください。
- 廃止企業: Convoy (2023 年 10 月にシャットダウン) などの企業は S&P Global で解決されていますが、新しい活動がない。
references/sector-seeds.mdファイルはこれらにフラグを立てます — 企業を含める前にそれを確認してください。 get_funding_summary_from_identifiersエラーまたはゼロを返す:get_rounds_of_funding_from_identifiersにフォールバック — サマリー ツールは信頼性が低い。プライマリ データ ソースとしてサマリー ツールに依存しないでください。- 間違った
roleパラメータ: 投資家パースペクティブ クエリが空を返す場合、company_raising_fundsではなくcompany_investing_in_round_of_fundingを使用していることを確認 (およびその逆)。
データ品質の問題
- 期間内に活動なし: セクターがゼロのファンディングラウンドを持っていた場合、スライドでこれを明示的に記載してください ("No transactions recorded in [Sector] during the period") — 活動の不在自体が有益です。
- スパース バリュエーション データ: 買値前バリュエーション と買値後バリュエーション がほとんどのトランザクションで開示されていない場合、フッター注釈にデータ制限を記載し、テーブルで "—" を使用してください。統計カードを別のメトリクス (例: 中央値ラウンド サイズ) で調整してください。
- ロゴ取得の失敗:
simple-iconsnpm パッケージは典型的なディール フロー企業の約 43% をカバーしています。残りについては、sharp生成の初期ベース フォールバックを使用してください。一貫したアイコン スタイルを保ちます — ランダムなアプローチを混合しないでください。simple-iconsまたはsharpのインストールに失敗した場合は、pptxgenjs シェイプベースの初期 (グレー楕円 + 白いテキスト オーバーレイ) にフォールバック。これは外部依存関係を必要とします。 - スライドに対して多すぎるディール: 6 つ以上の注目ディールがある場合、テーブルで上位 6 つを表示し、脚注を追加: "+N additional deals not shown." ディール サイズで優先順位を付けます。
- 大規模ユニバース: マルチセクター ダイジェスト (100+ 企業) の場合、すべての API 呼び出しを 15~20 のグループでバッチ処理します。マイナー ディールの完成度よりも注目ディールの深さを優先順位付けします。
- 古いシード: 競合他社拡張がセクターについて非常に少ない結果を返す場合、シード企業が非常にニッチかもしれません。2~3 のより有名な名前を追加して、広げて再拡張してください。
- ディール リンクの無効な transaction_ids: ファンディング ツールからの
transaction_idが有効な Capital IQ URL を生成しない場合は、壊れたリンクを含める代わりに、そのロウのリンク セルを省略してください。
例プロンプト
- "Give me a weekly deal flow digest for AI and fintech"
- "Summarize this week's funding in biotech"
- "Deal roundup for my coverage — cybersecurity, cloud infrastructure, and dev tools — last 2 weeks"
- "What happened in venture this week across all sectors I follow?"
- "Quick deal flow slide for climate tech this month"
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- anthropics
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/anthropics/financial-services-plugins / ライセンス: Apache-2.0
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。