funding-digest
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAI DISCLAIMER (MANDATORY):
You MUST include the following disclaimer text in the powerpoint footer. This is not optional — the report is incomplete without it:
"Analysis is AI-generated — please confirm all outputs"
Footer — At the bottom of the generated slide, as a prominent yellow banner: "Analysis is AI-generated — please confirm all outputs"
AI DISCLAIMER (MANDATORY):
您必须在PowerPoint页脚中包含以下免责声明文本。此项为必填项——缺少该声明的报告视为不完整:
"本分析由AI生成——请确认所有输出内容"
页脚 —— 在生成幻灯片的底部,以显眼的黄色横幅显示:"本分析由AI生成——请确认所有输出内容"
Weekly Deal Flow Digest
每周交易流摘要
Generate an analyst-quality single-slide PowerPoint that summarizes key takeaways from recent funding rounds across watched sectors or companies, using S&P Global Capital IQ data. Each deal links back to its Capital IQ profile for quick drill-down.
生成分析师级别的单页PowerPoint,利用S&P Global Capital IQ数据总结关注行业或公司近期融资轮次的核心要点。每笔交易均链接至其Capital IQ档案,便于快速深入查看。
When to Use
使用场景
Trigger on any of these patterns:
- "Give me a deal flow digest for this week"
- "Weekly funding recap for [sector]"
- "What deals closed in [sector/companies] recently?"
- "Transaction roundup" or "deal roundup"
- "Capital markets update for my coverage universe"
- "Summarize recent funding activity"
- Any periodic briefing request about deals, raises, or rounds
当出现以下任一请求模式时触发:
- "给我本周的交易流摘要"
- "[行业]每周融资回顾"
- "[行业/公司]近期完成了哪些交易?"
- "交易汇总"或"融资汇总"
- "我的关注领域资本市场更新"
- "总结近期融资活动"
- 任何关于交易、融资或轮次的定期简报请求
Nested Skills
嵌套技能
This skill produces a one-slide PPTX briefing:
- Read before generating the PowerPoint (and its sub-reference
/mnt/skills/public/pptx/SKILL.mdfor creating from scratch)pptxgenjs.md
本技能生成单页PPTX简报:
- 在生成PowerPoint前,请阅读(及其子参考文档
/mnt/skills/public/pptx/SKILL.md,用于从零开始创建幻灯片)pptxgenjs.md
Entity Resolution & Tool Robustness
实体解析与工具鲁棒性
S&P Global's identifier system resolves company names to legal entities. This works well for most companies but has known failure modes that cause empty results. Apply these rules throughout the workflow to avoid silent data loss.
S&P Global的标识符系统可将公司名称解析为法律实体。该系统对大多数公司有效,但存在已知的失效模式,会导致结果为空。在整个工作流程中应用以下规则,避免静默数据丢失。
Rule 0: Pre-validate ALL identifiers before querying funding
规则0:查询融资信息前预验证所有标识符
Before calling any funding tools, run every identifier through . This is the cheapest and most reliable way to catch problems early. Check two things in the response:
get_info_from_identifiers- Did it resolve at all? If the identifier returns empty/error, the name doesn't exist in S&P Global. Try the alias from , the legal entity name, or the
references/sector-seeds.mddirectly.company_id - What is the field?
status- → Safe to query for funding rounds.
"Operating" - → The company exists but is owned by a parent. It will return zero funding rounds. Note this in the digest as context (e.g., "acquired by [Parent]") but do not query for funding.
"Operating Subsidiary" - Any other status (e.g., closed, inactive) → The company is no longer operating. Historical data may exist but no new activity.
This single pre-validation step prevents the majority of empty-result issues. Batch all candidates into a single call (it handles large batches well) and triage before proceeding.
get_info_from_identifiers在调用任何融资工具之前,通过运行所有标识符。这是提前发现问题的最经济、最可靠的方法。检查响应中的两项内容:
get_info_from_identifiers- 是否成功解析? 如果标识符返回空/错误,说明该名称在S&P Global中不存在。尝试使用中的别名、法律实体名称或直接使用
references/sector-seeds.md。company_id - 字段的值是什么?
status- → 可安全查询融资轮次。
"Operating" - → 公司存在但为母公司所有。查询将返回零条融资轮次记录。在摘要中注明此背景信息(例如:"被[母公司]收购"),但不要查询其融资信息。
"Operating Subsidiary" - 其他任何状态(如已关闭、不活跃)→ 公司已停止运营。可能存在历史数据,但无新活动。
这一步预验证可避免绝大多数空结果问题。 将所有候选公司批量调用一次(该工具可处理大量批量请求),然后再进行分类处理。
get_info_from_identifiersRule 1: Never trust empty results without a fallback
规则1:不要轻信空结果,必须使用回退方案
If returns empty for a company you expect to have data:
get_rounds_of_funding_from_identifiers- Try the legal entity name or company_id. Brand names usually work, but some don't. See the alias table in for known mismatches. Common pattern: "[Brand] AI" → "[Legal Name], Inc." (e.g., Together AI → "Together Computer, Inc.", Character.ai → "Character Technologies, Inc.", Runway ML → "Runway AI, Inc.").
references/sector-seeds.md - Verify the company exists in S&P. If you skipped Rule 0, call now — if this also returns empty, the company may be too early-stage or not yet indexed.
get_info_from_identifiers(identifiers=["Company"])
如果对您预期有数据的公司返回空结果:
get_rounds_of_funding_from_identifiers- 尝试使用法律实体名称或备用标识符。 品牌名称通常有效,但部分无效。查看中的别名表,了解已知不匹配情况。常见模式:"[品牌] AI" → "[法律名称], Inc."(例如:Together AI → "Together Computer, Inc.", Character.ai → "Character Technologies, Inc.", Runway ML → "Runway AI, Inc.")。
references/sector-seeds.md - 验证公司是否存在于S&P中。 如果您跳过了规则0,现在调用——如果此调用也返回空,说明该公司可能处于早期阶段或尚未被收录。
get_info_from_identifiers(identifiers=["Company"])
Rule 2: Subsidiaries have no funding rounds
规则2:子公司无独立融资轮次
Companies that are divisions or wholly-owned subsidiaries of larger companies (e.g., DeepMind under Alphabet, GitHub under Microsoft, BeReal under Voodoo) will return zero funding rounds. Their capital events are tracked at the parent level.
How to detect: The field from will show . The file also flags known subsidiaries with ⚠️ warnings. Skip these for funding queries.
statusget_info_from_identifiers"Operating Subsidiary"references/sector-seeds.md作为大公司的部门或全资子公司的公司(例如:Alphabet旗下的DeepMind、Microsoft旗下的GitHub、Voodoo旗下的BeReal)将返回零条融资轮次记录。其资本活动在母公司层面追踪。
检测方法: 返回的字段将显示。文件也会用⚠️标记已知子公司。跳过这些公司的融资查询。
get_info_from_identifiersstatus"Operating Subsidiary"references/sector-seeds.mdRule 3: Use get_rounds_of_funding_from_identifiers
as the primary tool, not get_funding_summary_from_identifiers
get_rounds_of_funding_from_identifiersget_funding_summary_from_identifiers规则3:以get_rounds_of_funding_from_identifiers
为主要工具,而非get_funding_summary_from_identifiers
get_rounds_of_funding_from_identifiersget_funding_summary_from_identifiersThe summary tool is faster but less reliable — it can return errors or incomplete data even when detailed rounds exist. Always use the detailed rounds tool as the primary data source. The summary tool is acceptable only for quick aggregate checks (total raised, round count) and should be verified against the rounds tool if results seem low.
摘要工具速度更快但可靠性更低——即使存在详细轮次数据,它也可能返回错误或不完整数据。始终使用详细轮次工具作为主要数据源。仅在快速汇总检查(总融资金额、轮次数量)时可使用摘要工具,若结果看似偏低,需通过轮次工具验证。
Rule 4: Batch carefully and validate
规则4:谨慎批量处理并验证
When processing large company universes (50+ companies), batch in groups of 15–20. After each batch, check for companies that returned empty results and run them through the fallback steps in Rule 1 before moving on.
处理大型公司列表(50+家)时,按15–20家为一组进行批量处理。每批处理后,检查返回空结果的公司,并在继续下一步前执行规则1中的回退步骤。
Rule 5: The role
parameter is critical
role规则5:role
参数至关重要
role- → "What rounds did X raise?" (company perspective)
company_raising_funds - → "What did investor Y invest in?" (investor perspective)
company_investing_in_round_of_funding
Using the wrong role returns empty results silently. For deal flow digests, you almost always want . Only use the investor role when specifically analyzing an investor's portfolio activity.
company_raising_funds- → "X公司进行了哪些轮次的融资?"(公司视角)
company_raising_funds - → "投资者Y投资了哪些项目?"(投资者视角)
company_investing_in_round_of_funding
使用错误的参数会静默返回空结果。对于交易流摘要,您几乎总是需要。仅在专门分析投资者投资组合活动时使用投资者视角的。
rolecompany_raising_fundsroleRule 6: Identifier resolution is case-insensitive but spelling-sensitive
规则6:标识符解析不区分大小写,但对拼写敏感
S&P Global handles case variations ("openai" = "OpenAI") but is strict on spelling and punctuation. "Character AI" may fail where "Character.ai" succeeds. When in doubt, use the (e.g., ) which is guaranteed to resolve.
company_idC_1829047235S&P Global可处理大小写变体("openai" = "OpenAI"),但对拼写和标点符号要求严格。"Character AI"可能解析失败,而"Character.ai"可能成功。如有疑问,使用(例如:),其解析结果有保障。
company_idC_1829047235Workflow
工作流程
Step 1: Establish Coverage & Period
步骤1:确定覆盖范围与时间周期
Determine what the digest should cover. There are two setups:
Returning user (has a watchlist):
If the user has previously defined sectors or companies to track, use that list. Check conversation history for prior watchlists.
New user:
Ask for:
| Parameter | Default | Notes |
|---|---|---|
| Sectors | (at least one) | e.g., "AI, Fintech, Biotech" |
| Specific companies | Optional | Supplement sector-level coverage |
| Time period | Last 7 days | "This week", "last 2 weeks", "this month" |
Calculate the exact and from the time period.
start_dateend_date确定摘要应涵盖的内容。有两种设置方式:
回头客(已有关注列表):
如果用户之前已定义过要追踪的行业或公司,使用该列表。检查对话历史中的过往关注列表。
新用户:
询问以下信息:
| 参数 | 默认值 | 说明 |
|---|---|---|
| 行业 | (至少一个) | 例如:"AI、金融科技、生物技术" |
| 特定公司 | 可选 | 补充行业层面的覆盖范围 |
| 时间周期 | 过去7天 | "本周"、"过去2周"、"本月" |
根据时间周期计算精确的和。
start_dateend_dateStep 2: Build the Company Universe
步骤2:构建公司列表
For each sector specified, build a company universe using a validated bootstrapping approach:
-
Seed companies from domain knowledge (see)
references/sector-seeds.md- Pay attention to the ⚠️ warnings and alias notes in the seeds file — some well-known companies are subsidiaries, have been acquired, or require a specific legal name to resolve.
- The seeds file includes values for known alias mismatches. Use these directly if the brand name fails.
company_id
-
Pre-validate all seeds immediately (Rule 0):
get_info_from_identifiers(identifiers=[all_seeds_for_this_sector])Triage the results into two buckets:- ✅ Resolved & Operating (= "Operating") → proceed to competitor expansion
status - ❌ Unresolved or Subsidiary → retry with alias/legal name from seeds file; subsidiaries are noted for context but excluded from funding queries
- ✅ Resolved & Operating (
-
Expand via competitors (using only the ✅ resolved seeds):
get_competitors_from_identifiers(identifiers=[resolved_seeds], competitor_source="all") -
Validate expanded universe:
get_info_from_identifiers(identifiers=[new_competitors])Apply the same triage. Filter bymatching the target sector. Drop any unresolved names or subsidiaries.simple_industry
If the user provides specific companies, add those directly but still run them through the pre-validation triage. Never skip validation — even well-known brand names can fail silently.
Keep the universe manageable — aim for 15–40 resolved, operating companies per sector. For a multi-sector digest, this might total 50–100+ companies.
对于每个指定行业,使用经过验证的引导方法构建公司列表:
-
来自领域知识的种子公司(见)
references/sector-seeds.md- 注意种子文件中的⚠️警告和别名说明——部分知名公司为子公司、已被收购或需要使用特定法律名称才能解析。
- 种子文件包含已知别名不匹配情况的值。如果品牌名称解析失败,直接使用这些
company_id。company_id
-
立即预验证所有种子公司(规则0):
get_info_from_identifiers(identifiers=[all_seeds_for_this_sector])将结果分为两类:- ✅ 已解析且运营中(= "Operating")→ 继续扩展竞争对手列表
status - ❌ 未解析或为子公司 → 使用种子文件中的别名/法律名称重试;子公司需在摘要中注明背景信息,但排除在融资查询之外
- ✅ 已解析且运营中(
-
通过竞争对手扩展列表(仅使用✅已解析的种子公司):
get_competitors_from_identifiers(identifiers=[resolved_seeds], competitor_source="all") -
验证扩展后的列表:
get_info_from_identifiers(identifiers=[new_competitors])应用相同的分类规则。按匹配目标行业进行筛选。移除未解析的名称或子公司。simple_industry
如果用户提供了特定公司,直接添加这些公司,但仍需进行预验证分类。绝不要跳过验证——即使是知名品牌名称也可能静默解析失败。
保持列表规模可控——每个行业目标为15–40家已解析且运营中的公司。对于多行业摘要,总公司数可能为50–100+家。
Step 3: Pull Funding Rounds
步骤3:获取融资轮次数据
For all companies in the universe:
get_rounds_of_funding_from_identifiers(
identifiers=[batch],
role="company_raising_funds",
start_date="YYYY-MM-DD",
end_date="YYYY-MM-DD"
)Process in batches of 15–20 if the universe is large.
After each batch, identify companies with empty results. For any company expected to have activity:
- Retry with the legal entity name or alternate identifier (see Entity Resolution rules above).
- Log the company as "no data" only after exhausting fallbacks.
Collect all values from successful results, then enrich with detailed round info:
transaction_idget_rounds_of_funding_info_from_transaction_ids(
transaction_ids=[all_funding_ids]
)Pass ALL transaction IDs in a single call (or small number of calls) rather than one per transaction — the tool handles batches efficiently.
Extract the following from each round (critical for the slide):
- — needed for the Capital IQ deal link
transaction_id - Announcement date — when the round was publicly announced
- Close date — when the round officially closed
- Amount raised
- Pre-money valuation (if disclosed)
- Post-money valuation (if disclosed)
- Lead investors
- Round type (Series A, B, C, etc.)
- Security terms
- Advisors
- Pricing trend (up-round / down-round / flat)
Dates are required. The announcement and close dates must always appear in the final slide's deal table. If only one date is available, show it and mark the other as "—".
对于列表中的所有公司:
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_idget_rounds_of_funding_info_from_transaction_ids(
transaction_ids=[all_funding_ids]
)将所有交易ID一次性调用(或少量几次调用),而非逐个调用——该工具可高效处理批量请求。
从每轮融资中提取以下关键信息(用于幻灯片):
- —— 生成Capital IQ交易链接所需
transaction_id - 公告日期 —— 轮次公开宣布的日期
- 完成日期 —— 轮次正式完成的日期
- 融资金额
- 投前估值(如有披露)
- 投后估值(如有披露)
- 领投方
- 轮次类型(A轮、B轮、C轮等)
- 条款
- 顾问
- 定价趋势(估值上升/下降/持平)
日期为必填项。 最终幻灯片的交易表格中必须显示公告日期和完成日期。如果仅提供一个日期,显示该日期并将另一个标记为"—"。
Step 4: Pull Company Context for Notable Deals
步骤4:获取重要交易的公司背景信息
For any company involved in a significant deal (large round, notable valuation shift), get a brief description:
get_company_summary_from_identifiers(identifiers=[notable_companies])This adds context to the narrative (e.g., "The company, an AI infrastructure startup founded in 2021, is expanding into...").
对于参与重大交易(大额轮次、估值显著变化)的公司,获取简要描述:
get_company_summary_from_identifiers(identifiers=[notable_companies])这可为摘要叙述添加背景信息(例如:"该公司是2021年成立的AI基础设施初创企业,正拓展至...")。
Step 5: Identify Highlights & Trends
步骤5:识别亮点与趋势
Before designing the slide, analyze the data to surface the story:
Flag as "Notable":
- Rounds ≥ $100M
- Down rounds (pricing trend = down)
- New unicorns (post-money valuation crossing $1B)
- Significant valuation jumps (post-money ≥ 2x the last known valuation)
- Repeat raisers (same company raising again within 6 months)
- Unusually large investor syndicates
Identify Trends:
- Total capital deployed this period vs. typical (if historical data available)
- Which sub-sectors are hottest (most rounds, most capital)
- Round stage distribution (is early-stage or late-stage dominating?)
- Most active investors across the digest
- Geographic concentration
- Valuation trends (are pre-money valuations compressing or expanding?)
Select Key Takeaways (3–5):
Distill the most important signals into 3–5 concise bullet-style takeaways. These are the centerpiece of the slide. Each takeaway should be one sentence, punchy, and data-backed.
Examples:
- "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."
在设计幻灯片前,分析数据以提炼核心信息:
标记为"重要"的情况:
- 轮次金额≥1亿美元
- 估值下降轮次(定价趋势=下降)
- 新晋独角兽(投后估值突破10亿美元)
- 估值大幅跃升(投后估值≥上一轮估值的2倍)
- 短期重复融资(同一公司6个月内再次融资)
- 异常庞大的投资者联盟
识别趋势:
- 本期总投入资本与往期对比(如有历史数据)
- 哪些细分领域最热门(轮次最多、资本最多)
- 轮次阶段分布(早期或晚期轮次占主导?)
- 摘要中最活跃的投资者
- 地域集中度
- 估值趋势(投前估值是压缩还是扩张?)
选择核心要点(3–5条):
将最重要的信号提炼为3–5条简洁的要点。这些是幻灯片的核心内容。每条要点应为一句话,简洁有力且有数据支撑。
示例:
- "AI行业通过8轮融资筹集24亿美元——是上周的3倍,其中[公司]的8亿美元超大轮次领投,投后估值达120亿美元。"
- "[公司]完成2亿美元D轮融资,投前估值35亿美元,较C轮的18亿美元有所上升——表明AI开发者工具需求强劲。"
- "估值下降轮次有所增加:6轮晚期轮次中有2轮定价低于上一轮估值。"
Step 6: Generate Company Logos
步骤6:生成公司Logo
For each company featured in the key takeaways or notable deals, generate a logo using a two-tier local pipeline. Do not use Clearbit () — it is deprecated and consistently fails. External logo CDNs (Brandfetch, logo.dev, Google Favicons) require API keys or are blocked by network restrictions. Instead, use the following approach:
logo.clearbit.com对于核心要点或重要交易中提及的每家公司,使用两层本地流程生成Logo。请勿使用Clearbit()——该服务已弃用且频繁失效。外部Logo CDN(Brandfetch、logo.dev、Google Favicons)需要API密钥或受网络限制。请改用以下方法:
logo.clearbit.comTier 1: simple-icons
npm Package (3,300+ Brand SVGs, No Network Required)
simple-icons第一层:simple-icons
npm包(3300+品牌SVG,无需网络)
simple-iconsThe package bundles high-quality SVG icons for thousands of well-known brands. It works entirely offline — no API keys, no network calls. Install it alongside for SVG → PNG conversion:
simple-iconssharpbash
npm install simple-icons sharpLookup strategy:
javascript
const si = require('simple-icons');
const sharp = require('sharp');
// Find an icon by exact title match (case-insensitive)
function findSimpleIcon(companyName) {
// Try exact match first
for (const [key, val] of Object.entries(si)) {
if (!key.startsWith('si') || !val || !val.title) continue;
if (val.title.toLowerCase() === companyName.toLowerCase()) return val;
}
// Try without common suffixes (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;
}
// Convert SVG to PNG with the brand's official color
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);
}Coverage: ~43% of typical deal flow companies (strong for major tech brands like Stripe, Anthropic, Databricks, Snowflake, Discord, Shopify, SpaceX, Mistral AI, Hugging Face; weaker for niche fintech, biotech, or early-stage companies).
simple-iconssharpbash
npm install simple-icons sharp查找策略:
javascript
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等主流科技品牌支持良好;对小众金融科技、生物技术或早期公司支持较弱)。
Tier 2: Initial-Based Fallback via sharp
(100% Coverage)
sharp第二层:基于首字母的回退方案(使用sharp
,100%覆盖)
sharpFor companies not found in , generate a clean initial-based logo as a PNG:
simple-iconsjavascript
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);
}对于中未找到的公司,生成简洁的首字母Logo作为PNG:
simple-iconsjavascript
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);
}Complete Pipeline
完整流程
javascript
async function fetchLogo(companyName, outputDir) {
const fileName = companyName.toLowerCase().replace(/[\s.]+/g, '-') + '.png';
const outPath = path.join(outputDir, fileName);
// Tier 1: Try simple-icons
const icon = findSimpleIcon(companyName);
if (icon) {
await simpleIconToPng(icon, outPath);
return { path: outPath, source: 'simple-icons' };
}
// Tier 2: Generate initial-based fallback
await generateInitialLogo(companyName, outPath);
return { path: outPath, source: 'initial-fallback' };
}Logo guidelines:
- Save all logos to
/home/claude/logos/[company-name].png - All logos are 128×128 PNG with transparent backgrounds
- On the slide, display logos at 0.35"–0.5" tall — they're accents, not focal points
- Initial-fallback circles use gray () fill with white text — consistent with the monochrome palette
BDBDBD - Never mix logo styles randomly — if most companies resolve to brand icons, the few fallbacks should blend in naturally
javascript
async function fetchLogo(companyName, outputDir) {
const fileName = companyName.toLowerCase().replace(/[\s.]+/g, '-') + '.png';
const outPath = path.join(outputDir, fileName);
// 第一层:尝试simple-icons
const icon = findSimpleIcon(companyName);
if (icon) {
await simpleIconToPng(icon, outPath);
return { path: outPath, source: 'simple-icons' };
}
// 第二层:生成首字母回退Logo
await generateInitialLogo(companyName, outPath);
return { path: outPath, source: 'initial-fallback' };
}Logo规范:
- 将所有Logo保存至
/home/claude/logos/[company-name].png - 所有Logo为128×128像素的PNG,背景透明
- 在幻灯片上,Logo显示高度为0.35–0.5英寸——作为装饰元素,而非焦点
- 首字母回退Logo使用灰色(BDBDBD)填充,白色文字——符合单色配色方案
- 切勿随机混合Logo样式——如果大多数公司使用品牌图标,少数回退Logo应自然融入
Step 7: Generate the One-Page PPTX
步骤7:生成单页PPTX
Read and before creating the slide.
/mnt/skills/public/pptx/SKILL.md/mnt/skills/public/pptx/pptxgenjs.mdCreate a single-slide PowerPoint using . The slide should be information-dense but visually clean — think "executive dashboard" not "wall of text."
pptxgenjs在创建幻灯片前,请阅读和。
/mnt/skills/public/pptx/SKILL.md/mnt/skills/public/pptx/pptxgenjs.md使用创建单页PowerPoint幻灯片。幻灯片应信息密集但视觉简洁——类似于"高管仪表盘"而非"文字墙"。
pptxgenjsSlide Layout
幻灯片布局
┌─────────────────────────────────────────────────────────────┐
│ DEAL FLOW DIGEST │
│ [Period] · [Sectors] [Date] │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ $X.XB │ │ N │ │ $X.XB │ │ $X.XB │ │
│ │ Raised │ │ Rounds │ │ Avg Pre │ │ Largest │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ KEY TAKEAWAYS │
│ ───────────────────────────────────────────────── │
│ [Logo] Takeaway 1 text goes here... │
│ [Logo] Takeaway 2 text goes here... │
│ [Logo] Takeaway 3 text goes here... │
│ [Logo] Takeaway 4 text goes here... │
│ │
│ TOP DEALS │
│ ┌──────────────────────────────────────────────────────────┐│
│ │Company│Type │Announced│Closed│Amount│Pre-$│Post-$│Lead│🔗││
│ │───────│─────│─────────│──────│──────│─────│──────│────│──││
│ │ ... │ ... │ ... │ ... │ ... │ ... │ ... │... │🔗││
│ └──────────────────────────────────────────────────────────┘│
│ │
│ [Footer: Deal Flow Digest · Sources: S&P Global Capital IQ]│
│ [Footer: AI Disclaimer] │
└─────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────┐
│ 交易流摘要 │
│ [时间周期] · [行业] [日期] │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ X.X亿美元 │ │ N │ │ X.X亿美元 │ │ X.X亿美元 │ │
│ │ 总融资额 │ │ 轮次数量 │ │ 平均投前估值 │ │ 最大轮次金额 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ 核心要点 │
│ ───────────────────────────────────────────────── │
│ [Logo] 要点1内容... │
│ [Logo] 要点2内容... │
│ [Logo] 要点3内容... │
│ [Logo] 要点4内容... │
│ │
│ 重点交易 │
│ ┌──────────────────────────────────────────────────────────┐│
│ │公司│类型 │公告日期│完成日期│金额│投前估值│投后估值│领投方│🔗││
│ │───────│─────│─────────│──────│──────│─────│──────│────│──││
│ │ ... │ ... │ ... │ ... │ ... │ ... │ ... │... │🔗││
│ └──────────────────────────────────────────────────────────┘│
│ │
│ [页脚:交易流摘要 · 数据源:S&P Global Capital IQ]│
│ [页脚:AI免责声明] │
└─────────────────────────────────────────────────────────────┘Design Specifications
设计规范
Color philosophy: Minimal, monochrome-first. The slide should feel like a high-end financial brief — black, white, and gray dominate. Color is used only where it carries meaning (e.g., a red indicator for a down round, a green indicator for a standout metric) or where the reader would naturally expect it (company logos). Never use color for purely decorative purposes like background fills, accent bars, or gradient effects.
Color palette — Monochrome Executive:
- Primary background: (white) — clean, open slide background
FFFFFF - Header bar: (near-black) — strong contrast for the title region
1A1A1A - Primary text: (near-black) — all body text, stat numbers, takeaways
1A1A1A - Secondary text: (medium gray) — labels, captions, footer, date stamps
6B6B6B - Borders & dividers: (light gray) — subtle structural lines, card outlines, table borders
D0D0D0 - Card backgrounds: (off-white / very light gray) — stat card fills, alternating table rows
F5F5F5 - Link text: (muted blue) — Capital IQ deal links in the table (the only blue on the slide)
2B5797 - Semantic color (sparingly):
- Down rounds or negative signals: (muted red) — use only as a small dot, tag, or single-word highlight, never as a fill or background
C0392B - Standout positive metrics (new unicorn, outsized round): (muted green) — same minimal usage: a dot, a small tag, or a single highlighted number
2E7D32 - If no data points warrant a color indicator, use no color at all. A fully monochrome slide is perfectly correct.
- Down rounds or negative signals:
Typography:
- Title: 28–32pt, bold, white on near-black header bar
- Stat numbers: 36–44pt, bold, near-black
- Stat labels: 10–12pt, medium gray ()
6B6B6B - Takeaway text: 12–14pt, near-black, left-aligned
- Table text: 9–11pt, near-black with gray () for secondary columns
6B6B6B - Link text: 9–10pt, muted blue ()
2B5797 - Footer: 8pt, medium gray
Stat Cards (top row):
- 4 key metrics as large-number callouts: Total Raised, # Rounds, Avg Pre-Money Valuation, Largest Round
- Each in a card with fill and a thin
F5F5F5border — no shadow, no color fillsD0D0D0 - If a stat is surprising or extreme (e.g., 3x normal volume, a record deal), a small colored dot or underline may be placed next to that single number — otherwise keep fully monochrome
- If pre-money valuations are mostly undisclosed, substitute with a different metric (e.g., Median Round Size, # New Unicorns)
Key Takeaways (middle section):
- 3–5 one-line takeaways, each prefixed with the relevant company logo (small, ~0.35" tall)
- If no logo available, use a gray circle with the company initial in white — not a colored circle
- Left-aligned, with enough spacing to breathe
- Down-round or negative takeaways may use a small red dot prefix; otherwise no color
- Include valuation context where available (e.g., "at a $5B post-money valuation")
Top Deals Table (bottom section):
- Compact table showing the 4–6 most notable deals
- Columns: Company, Type (Series X), Announced (date), Closed (date), Amount ($M), Pre-Money ($M), Post-Money ($M), Lead Investor, Deal Link
- Announced and Closed columns show dates in format (e.g., "Jan 15"). These columns are required and must always be present. If a date is not available, show "—".
MMM DD - The Deal Link column contains a clickable "View →" text linking to Capital IQ:
where
https://www.capitaliq.spglobal.com/web/client?#offering/capitalOfferingProfile?id=<transaction_id>is the<transaction_id>fromtransaction_id.get_rounds_of_funding_from_identifiers - If pre-money or post-money valuation is not disclosed, show "—" in that cell
- Header row with near-black () fill and white text; alternating rows in
1A1A1AandF5F5F5FFFFFF - Center the table horizontally on the slide. Calculate the table's total width, then set so it is centered within the slide width:
x. For a 16:9 layout (13.33" wide), if the table is 12" wide, usex = (slideWidth - tableWidth) / 2. Never left-align the table to the slide edge.x = 0.67 - Keep it tight — this is a reference, not the focal point
- No colored fills in table cells. If a deal is a down round, a small red text tag "(↓ down)" may appear next to the amount — that is the only permitted color in the table.
Deal Link Implementation (pptxgenjs):
In pptxgenjs, hyperlinks are added to table cells using the property on the cell object:
options.hyperlinkjavascript
// Table cell with Capital IQ deal link
{
text: "View →",
options: {
hyperlink: {
url: `https://www.capitaliq.spglobal.com/web/client?#offering/capitalOfferingProfile?id=${transactionId}`
},
color: "2B5797",
fontSize: 9,
fontFace: "Arial"
}
}Table Centering (pptxgenjs):
Always center the deal table on the slide. Calculate the x position dynamically:
javascript
const SLIDE_W = 13.33; // 16:9 slide width
const TABLE_W = 12.5; // total table width (sum of all column widths)
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], // Company, Type, Announced, Closed, Amount, Pre-$, Post-$, Lead, Link
// ... other options
});Adjust values as needed, but always recompute from to keep the table centered.
colWTABLE_X(SLIDE_W - sum(colW)) / 2Footer:
- Small text in medium gray: "Deal Flow Digest · [Period] · Sources: S&P Global Capital IQ · Generated [Date]"
General color rules (enforce strictly):
- Company logos are the only "full color" elements on the slide — they appear as-is from the source.
- Deal links use muted blue () — this is the only non-monochrome text color besides semantic red/green.
2B5797 - Outside of logos and links, the slide should look correct printed on a black-and-white printer.
- Never apply color to backgrounds, accent bars, decorative shapes, or section dividers.
- When in doubt, leave it gray.
配色理念:极简、优先单色。 幻灯片应呈现高端金融简报风格——以黑、白、灰为主色调。仅在颜色具有特定含义时使用(例如:红色标记估值下降轮次,绿色标记突出指标),或读者自然预期的场景(公司Logo)。切勿将颜色用于纯装饰目的,如背景填充、装饰条或渐变效果。
配色方案——单色高管风格:
- 主背景:(白色)——干净、开阔的幻灯片背景
FFFFFF - 标题栏:(近黑色)——标题区域的强烈对比
1A1A1A - 主文本:(近黑色)——所有正文、统计数字、核心要点
1A1A1A - 次要文本:(中灰色)——标签、说明文字、页脚、日期戳
6B6B6B - 边框与分隔线:(浅灰色)——细微的结构线条、卡片边框、表格边框
D0D0D0 - 卡片背景:(米白/极浅灰)——统计卡片填充、表格交替行背景
F5F5F5 - 链接文本:(柔和蓝色)——表格中的Capital IQ交易链接(幻灯片中唯一的蓝色)
2B5797 - 语义颜色(谨慎使用):
- 估值下降轮次或负面信号:(柔和红色)——仅用作小点、标签或单个单词高亮,切勿用作填充或背景
C0392B - 突出正面指标(新晋独角兽、超大轮次):(柔和绿色)——同样最小化使用:小点、小标签或单个高亮数字
2E7D32 - 如果没有数据点需要颜色标记,完全不使用颜色。纯单色幻灯片完全合规。
- 估值下降轮次或负面信号:
排版:
- 标题:28–32号字,加粗,白色字体配近黑色标题栏
- 统计数字:36–44号字,加粗,近黑色
- 统计标签:10–12号字,中灰色()
6B6B6B - 核心要点文本:12–14号字,近黑色,左对齐
- 表格文本:9–11号字,近黑色,次要列使用灰色()
6B6B6B - 链接文本:9–10号字,柔和蓝色()
2B5797 - 页脚:8号字,中灰色
统计卡片(顶部行):
- 4个关键指标以大数字显示:总融资额、轮次数量、平均投前估值、最大轮次金额
- 每个指标置于带有填充和细
F5F5F5边框的卡片中——无阴影、无颜色填充D0D0D0 - 如果某个统计数据出人意料或极端(例如:是正常交易量的3倍、创纪录交易),可在该数字旁添加一个小点或下划线——否则保持纯单色
- 如果多数投前估值未披露,替换为其他指标(例如:中位轮次规模、新晋独角兽数量)
核心要点(中间部分):
- 3–5条单行要点,每条前缀为相关公司的Logo(小尺寸,约0.35英寸高)
- 如果无Logo可用,使用灰色圆形配白色公司首字母——而非彩色圆形
- 左对齐,留有足够间距
- 估值下降或负面要点可使用红色小点前缀;否则不使用颜色
- 尽可能包含估值背景信息(例如:"投后估值达50亿美元")
重点交易表格(底部部分):
- 紧凑表格显示4–6笔最重要交易
- 列:公司、类型(X轮)、公告日期(日期)、完成日期(日期)、金额(百万美元)、投前估值(百万美元)、投后估值(百万美元)、领投方、交易链接
- 公告日期和完成日期列显示格式为(例如:"Jan 15")。这些列为必填项,必须始终显示。如果日期不可用,显示"—"。
MMM DD - 交易链接列包含可点击的"查看→"文本,链接至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。对于16:9布局(13.33英寸宽),如果表格宽12英寸,使用x = (幻灯片宽度 - 表格宽度) / 2。切勿将表格左对齐至幻灯片边缘。x = 0.67 - 保持紧凑——这是参考内容,而非焦点
- 表格单元格无颜色填充。如果某笔交易为估值下降轮次,可在金额旁添加红色文本标签"(↓ 估值下降)"——这是表格中唯一允许使用的颜色。
交易链接实现(pptxgenjs):
在pptxgenjs中,使用单元格对象的属性为表格单元格添加超链接:
options.hyperlinkjavascript
// 带有Capital IQ交易链接的表格单元格
{
text: "查看→",
options: {
hyperlink: {
url: `https://www.capitaliq.spglobal.com/web/client?#offering/capitalOfferingProfile?id=${transactionId}`
},
color: "2B5797",
fontSize: 9,
fontFace: "Arial"
}
}表格居中(pptxgenjs):
始终将交易表格居中于幻灯片。动态计算x位置:
javascript
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(SLIDE_W - sum(colW)) / 2TABLE_X页脚:
- 中灰色小字体:"交易流摘要 · [时间周期] · 数据源:S&P Global Capital IQ · 生成日期 [Date]"
通用颜色规则(严格执行):
- 公司Logo是幻灯片中唯一的"全彩色"元素——保持其原始样式。
- 交易链接使用柔和蓝色()——这是除语义红/绿外唯一的非单色文本颜色。
2B5797 - 除Logo和链接外,幻灯片在黑白打印机上打印应显示正常。
- 切勿将颜色应用于背景、装饰条、装饰形状或区域分隔线。
- 如有疑问,使用灰色。
Code Structure
代码结构
javascript
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 slide width in inches
// 1. Dark header bar with title and period
// 2. Stat cards row (4 cards: Total Raised, # Rounds, Avg Pre-Money, Largest Round)
// 3. Key takeaways section with logos (include valuation context)
// 4. Top deals table with Announced, Closed, Pre-Money, Post-Money columns and Capital IQ deal links
// - Center the table: x = (SLIDE_W - tableWidth) / 2
// 5. Footer
pres.writeFile({ fileName: "/home/claude/deal-flow-digest.pptx" });Use factory functions (not shared objects) for shadows and repeated styles per the pptxgenjs pitfalls guidance.
javascript
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "交易流摘要";
const slide = pres.addSlide();
const SLIDE_W = 13.33; // 16:9幻灯片宽度(英寸)
// 1. 深色标题栏,包含标题和时间周期
// 2. 统计卡片行(4张卡片:总融资额、轮次数量、平均投前估值、最大轮次金额)
// 3. 带Logo的核心要点部分(包含估值背景信息)
// 4. 重点交易表格,包含公告日期、完成日期、投前估值、投后估值列及Capital IQ交易链接
// - 表格居中:x = (SLIDE_W - tableWidth) / 2
// 5. 页脚
pres.writeFile({ fileName: "/home/claude/deal-flow-digest.pptx" });根据pptxgenjs的注意事项,使用工厂函数(而非共享对象)处理阴影和重复样式。
Step 8: QA the Slide
步骤8:幻灯片质量检查
Follow the QA process from the PPTX skill:
- Content QA: — verify all text, numbers, company names, valuation figures, and deal links are correct
python -m markitdown deal-flow-digest.pptx - Visual QA: Convert to image and inspect:
Check for overlapping elements, text overflow, alignment issues, low-contrast text, logo sizing problems, and that deal link text is visible.bash
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 - Link QA: Verify that the Capital IQ URLs in the table are correctly formatted with the right transaction IDs.
- Fix and re-verify — at least one fix-and-verify cycle before declaring done.
遵循PPTX技能的质量检查流程:
- 内容检查: —— 验证所有文本、数字、公司名称、估值数据和交易链接是否正确
python -m markitdown deal-flow-digest.pptx - 视觉检查: 转换为图片并检查:
检查是否有元素重叠、文本溢出、对齐问题、低对比度文本、Logo尺寸问题,以及交易链接文本是否可见。bash
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 - 链接检查: 验证表格中的Capital IQ URL是否格式正确,包含正确的交易ID。
- 修复并重新验证 —— 至少完成一次修复和验证循环后再确认完成。
Step 9: Present Results
步骤9:呈现结果
- Copy the final to
.pptx/mnt/user-data/outputs/ - Use to share the slide
present_files - Provide a 2–3 sentence verbal summary:
- "Your digest covers X rounds totaling $Y raised across [sectors]."
- Call out the single most notable deal and its valuation
- Flag any concerning trends (down rounds, valuation compression, etc.)
- 将最终的文件复制到
.pptx/mnt/user-data/outputs/ - 使用共享幻灯片
present_files - 提供2–3句话的口头总结:
- "您的摘要涵盖X轮融资,总计Y亿美元,涉及[行业]。"
- 提及最引人注目的单笔交易及其估值
- 标记任何值得关注的趋势(估值下降轮次、估值压缩等)
Error Handling
错误处理
Entity Resolution Failures
实体解析失败
- Empty results for a known company: First check — if that fails, try the alias from
get_info_from_identifiersor thereferences/sector-seeds.mddirectly. Common brand→legal mismatches: Together AI → "Together Computer, Inc.", Character.ai → "Character Technologies, Inc.", Runway ML → "Runway AI, Inc.".company_id - Subsidiary companies: DeepMind, GitHub, Instagram, WhatsApp, YouTube, BeReal, etc. are subsidiaries — they have zero independent funding rounds. Note these as "acquired/subsidiary" in context but do not report them as "no activity."
- Defunct companies: Companies like Convoy (shut down Oct 2023) still resolve in S&P Global but will never have new activity. The file flags these — check it before including a company.
references/sector-seeds.md - errors or returns zeros: Fall back to
get_funding_summary_from_identifiers— the summary tool is less reliable. Never rely on the summary tool as the sole data source.get_rounds_of_funding_from_identifiers - Wrong parameter: If investor-perspective queries return empty, verify you're using
role, notcompany_investing_in_round_of_funding(and vice versa).company_raising_funds
- 已知公司返回空结果: 首先检查——如果失败,尝试
get_info_from_identifiers中的别名或直接使用references/sector-seeds.md。常见品牌→法律名称不匹配:Together AI → "Together Computer, Inc.", Character.ai → "Character Technologies, Inc.", Runway ML → "Runway AI, Inc."。company_id - 子公司: 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_investing_in_round_of_funding(反之亦然)。company_raising_funds
Data Quality Issues
数据质量问题
- No activity in period: If a sector had zero funding rounds, note this explicitly on the slide ("No transactions recorded in [Sector] during the period") — absence of activity is itself informative.
- Sparse valuation data: If pre-money and post-money valuations are undisclosed for most transactions, note the data limitation in a footer annotation and use "—" in the table. Adjust the stat card to show a different metric (e.g., Median Round Size) instead of Avg Pre-Money.
- Logo retrieval failures: The npm package provides ~43% coverage for typical deal flow companies. For the remainder, use the
simple-icons-generated initial-based fallback. Keep a consistent icon style — don't mix random approaches. Ifsharporsimple-iconsfail to install, fall back to pptxgenjs shape-based initials (gray ellipse + white text overlay) which require no external dependencies.sharp - Too many deals for one slide: If there are more than 6 notable deals, show the top 6 in the table and add a footnote: "+N additional deals not shown." Prioritize by deal size.
- Large universes: For multi-sector digests with 100+ companies, batch all API calls in groups of 15–20. Prioritize depth on notable deals over completeness on minor ones.
- Stale seeds: If competitor expansion returns very few results for a sector, the seed companies may be too niche. Broaden by adding 2–3 more well-known names and re-expanding.
- Invalid transaction IDs for links: If a from the funding tool doesn't produce a valid Capital IQ URL, omit the link cell for that row rather than including a broken link.
transaction_id
- 周期内无活动: 如果某行业无融资轮次,在幻灯片上明确注明("[行业]周期内无交易记录")——无活动本身也是有价值的信息。
- 估值数据稀疏: 如果大多数交易未披露投前和投后估值,在页脚注释中注明数据限制,并在表格中显示"—"。调整统计卡片,显示其他指标(例如:中位轮次规模)而非平均投前估值。
- Logo获取失败: npm包对典型交易流公司的覆盖约为43%。对于其余公司,使用
simple-icons生成的首字母回退Logo。保持一致的图标样式——不要混合随机方法。如果sharp或simple-icons安装失败,回退至pptxgenjs基于形状的首字母(灰色椭圆+白色文本覆盖),无需外部依赖。sharp - 交易过多无法容纳于单页: 如果重要交易超过6笔,在表格中显示前6笔,并添加脚注:"+N笔其他交易未显示"。按交易金额排序优先显示。
- 大型公司列表: 对于包含100+家公司的多行业摘要,将所有API调用按15–20家为一组批量处理。优先深入处理重要交易,而非追求次要交易的完整性。
- 种子公司过时: 如果竞争对手扩展返回的行业结果极少,说明种子公司可能过于小众。添加2–3家知名公司并重新扩展。
- 交易ID无效导致链接错误: 如果融资工具返回的无法生成有效的Capital IQ URL,移除该行的链接单元格,而非包含无效链接。
transaction_id
Example Prompts
示例请求
- "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"
- "给我AI和金融科技领域的每周交易流摘要"
- "总结本周生物技术领域的融资情况"
- "我的关注领域——网络安全、云基础设施、开发工具——过去2周的交易汇总"
- "我关注的所有行业本周风险投资动态如何?"
- "本月气候科技领域的快速交易流幻灯片"