办公文档
需要生成公司一页纸/tear sheet/公司快照时,用…
当用户要为某家公司生成一页纸、公司简介、fact sheet、equity research 摘要或 M&A/销售会议材料时,基于 S&P Global MCP 数据生成 Word 格式 tear sheet。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要生成公司一页纸/tear sheet特定
解决思路
- 确认输入:公司名称或 ticker;若仅提供 ticker,先用 company info tool 解析完整公司名。
- 确认受众:equity research、IB/M&A、Corp Dev、Sales/BD 四选一;若用户未指定,询问。
- 确认可比公司(可选):若用户有指定则记录;否则由技能从 S&P Global 数据识别 peers;这影响 Equity Research、IB/M&A、Corp Dev tear sheets。
- 确认页面长度偏好(可选):默认按受众变化,用户可覆盖。
- 根据受众读取对应 reference file:Equity Research → references/equity-research.md;IB/M&A → references/ib-ma.md;Corp Dev → references/corp-dev.md;Sales/BD → references/sales-bd.md。
- 每个 reference file 定义 sections、query plan、formatting guidance、page length defaults;按它执行。
- 开始 Step 3 时创建中间文件目录:mkdir -p /tmp/tear-sheet/。
- 使用 S&P Global MCP tools(也称 Kensho LLM-ready API)获取结构化数据:财务数据、公司信息、市场数据、共识估计、earnings transcripts、M&A transactions、business relationships。
- 将每个 reference file 的 query plan 映射到当前对话中可用的 S&P Global tools。
- 每次查询步骤完成后,立即将检索数据写入 reference file 指定的中间文件;不要延迟写入。
- 总是拉取 4 个财年财务数据,即使只显示 3 年;因为第 4 个最早年份用于计算第一个显示年份的 YoY revenue growth,否则最早年份增长率会显示 N/A。
- 按 query plan 执行,但优先数据完整性而非减少调用;若工具返回不完整,尝试替代工具或更窄查询;若针对性重试后仍无数据点,标记为 N/A 或 Not disclosed;绝不编造数据。
- 若用户指定 comps,显式查询每个 comp 的 financials 和 multiples;若未指定,使用工具返回的 peer data,或用 competitors tool 从公司 sector 识别 peers。
- 留意用户自然提供的上下文,如 acquirer、所售产品、潜在买家,将其纳入相关 synthesis sections(Strategic Fit、Conversation Starters、Deal Angle);不要主动提示索取。
- 私有公司处理:CIQ 包含 private company data,按同样方式查询,但预期结果更稀疏;跳过 stock price、52-week range、beta、stock performance、consensus estimates、trading comps;侧重 business overview、relationships、ownership structure、所有可用 financials;在 header 显著标注 Private Company。
- Step 3b:所有数据收集完成且中间文件写入后,在一次专门计算 pass 中计算所有衍生指标;此步骤只计算,不新增 MCP 查询。
- Step 3b:读取所有中间文件回上下文。
- Step 3b:计算 Margins:Gross Margin %、EBITDA Margin %、FCF Margin %、Operating Margin %。
- Step 3b:计算 Growth rates:YoY revenue growth、YoY segment revenue growth、YoY EPS growth。
- Step 3b:计算 Efficiency ratios:FCF Conversion (FCF/EBITDA)、R&D as % of Revenue、Capex as % of Revenue。
- Step 3b:计算 Capital structure:Net Debt (Total Debt − Cash & Equivalents)、Net Debt / EBITDA。
- Step 3b:计算 Segment mix:每个 segment revenue 占 consolidated total revenue 的百分比;分母用 consolidated revenue(按 Data Integrity Rule 8)。
- Step 3b 验证:Margin calculations 验证 EBITDA Margin = EBITDA / Revenue、Gross Margin = Gross Profit / Revenue 等;若计算 margin 与 raw numbers 不符,用 raw components 重新计算。
- Step 3b 验证:Growth rates 验证 YoY growth = (Current − Prior) / Prior;若有底层值,不要依赖预计算增长率。
- Step 3b 验证:Segment totals 若展示 revenue by segment,验证 segments 之和等于 total revenue(在 rounding tolerance 内);若不等,省略 total row,不要发布不一致数学。
- Step 3b 验证:Percentage columns 验证 % of Total 列合计约 100%。
- Step 3b 验证:Valuation cross-checks 若同时展示 EV 和 EV/Revenue,验证 EV / Revenue ≈ 所列 multiple。
- Step 3b:若验证失败,尝试从 raw data 重新计算;若仍不一致,标记该指标为 N/A,不要发布错误数字。
- Step 3b:将结果写入 /tmp/tear-sheet/calculations.csv,列:metric,value,formula,components。
- Step 3c:生成文档前,通过独立 read 操作读取每个中间文件,并打印验证摘要,格式如示例(company-profile.txt、financials.csv、segments.csv、valuation.csv、calculations.csv、earnings.txt、relationships.txt、peer-comps.csv 等及状态)。
- Step 3c:软门槛:若当前受众预期的任何文件缺失或为空,打印警告但继续;tear sheet 会用 N/A 和跳过 section 处理缺失数据。
- Step 3c 关键规则:文件——而非对话记忆——是文档中每个数字的唯一真相来源;生成 DOCX 时从中间文件读取值,不要依赖对话上下文中的财务数据。
- Step 4:阅读 /mnt/skills/public/docx/SKILL.md 获取 docx 创建机制(docx-js via Node)。
- Step 4:应用 Style Configuration 以及 reference file 中的 section-specific formatting。
- Step 4:页面长度默认:Equity Research 1 page;IB/M&A 1-2 pages;Corp Dev 1-2 pages;Sales/BD 1-2 pages;用户可覆盖。
- Step 4:若内容超出目标,按 reference file 指定的 cut order 执行;不要通过缩小字体或 margins 低于模板最小值来硬塞。
- Step 4:输出文件名:[CompanyName]_TearSheet_[Audience]_[YYYYMMDD].docx,例如 Nvidia_TearSheet_CorpDev_20260220.docx。
- Step 4:保存到 /mnt/user-data/outputs/ 并呈现给用户。
- 颜色:Primary(header banner 背景、section header 文字)#1F3864;Accent(signature section highlights)#2E75B6;Table header row fill #D6E4F0;Table alternating row fill #F2F2F2;Table borders #CCCCCC;Header banner text #FFFFFF。
- 字体:Font family Arial;Company name 18pt bold(size: 36);Section headers 11pt bold(size: 22),Primary color;Body text 9pt(size: 18);Table text 8.5pt(size: 17);Footer/disclaimer 7pt italic(size: 14);每个模板覆盖见 reference file 的 Formatting Notes。
- Company Header Banner:header 是 navy #1F3864 全页宽 banner,公司名白色。
- header banner 下方 key-value pairs 必须渲染为两列无边框表格,跨全页宽。
- 该两列表格左列:company identifiers(ticker, HQ, founded, employees, sector);右列:financial identifiers(market cap, EV, stock price, shares outstanding)。
- 每个单元格同一行包含 bold label 和 regular-weight value,例如 Market Cap $124.7B;不要把字段全部左对齐在单列。
- 实现:创建 2-column table,所有单元格 borders: none 与 shading: none;列宽各 50%;左列字段作为左单元格中单独段落;右列字段在右单元格中;每字段单段落:bold run 为 label,regular run 为 value。
- 每列具体字段因受众而异,见 reference file 的 header spec;原则始终是跨页展开,不要挤在左边。
- 不要用有边框表格做 header key-value block;有边框表格只用于财务数据。
- header 中关键指标(market cap、EV、stock price)应显示为 inline key-value pairs,不要放在单独有边框表格。
- Section Headers:每个 section header 下加水平线(thin line、#CCCCCC、0.5pt)以分隔 section。
- 将该线渲染为 header paragraph 自身的 bottom border;不要插入单独 paragraph 元素做线。
- 实现:docx-js 中设置 paragraph.borders.bottom = { style: BorderStyle.SINGLE, size: 1, color: "CCCCCC" };不要用 doc.addParagraph() 加单独 horizontal rule;不要用 thematicBreak;border 必须在 heading paragraph 自身,after spacing 0pt,使线紧贴 header 文字。
- Section header 间距:header paragraph 前 12pt,后 0pt,下一内容元素前 4pt。
- Bullet Formatting:所有 bulleted content 使用单一 bullet 字符 •;不要混用 •、-、▸ 或 numbered lists。
- Synthesis/analysis bullets(Earnings Highlights、Strategic Fit、Integration Considerations、Conversation Starters):使用缩进块式格式,left indent 360 DXA(0.25 英寸),并为 bullet 字符设置 hanging indent;这些内容视觉上要偏离 body text。
- Informational bullets(relationship sections 内):标准 body indent(180 DXA),无 hanging indent。
- 不要给任何 bullet section 加 left-border accents;改用缩进和文字大小差异区分 signature sections。
- Tables(仅财务数据):Header row 使用 Table Header Fill(#D6E4F0)与粗体深色文字。
- Tables:Body rows 交替 white / Table Alternating Fill(#F2F2F2)。
- Tables:Borders 使用 Table Border 颜色(#CCCCCC),thin(BorderStyle.SINGLE,size: 1)。
- Tables:Cell padding 上下 40 DXA,左右 80 DXA。
- Tables:所有 numeric columns 右对齐。
- Tables:始终使用 ShadingType.CLEAR,绝不使用 SOLID(SOLID 会导致黑背景)。
- Layout:US Letter portrait,0.75 英寸 margins(1080 DXA all sides)。
- Number formatting:Currency 为 USD;除非公司 revenue > $50B(则用 billions,一位小数),否则用 millions;单位标在 column headers(如 Revenue ($M)),不要标在每个单元格。
- Number formatting:Table cells 用 plain numbers with commas,无 dollar signs;例如 revenue cell 显示 4,916 而不是 $4,916;列头承载单位。
- Number formatting:Fiscal years 用实际年份(FY2022, FY2023, FY2024),绝不用相对标签(FY-2, FY-1)。
- Number formatting:负数用 parentheses,例如 (2.3%)。
- Number formatting:Percentages 一位小数。
- Number formatting:Large numbers 用逗号作千位分隔符。
- Footer(文档 footer,不是 inline):将 source attribution 和 disclaimer 放在实际 document footer(每页重复),不要作为底部 inline body text。
- Footer 正好两行,居中,每页:Line 1: Data: S&P Capital IQ via Kensho | Analysis: AI-generated | [Month Day, Year];Line 2: For informational purposes only. Not investment advice.
- Footer 样式:7pt italic,居中,#666666 文字色。
- 同一公司的所有 tear sheet 类型 footer 文本必须相同,不要按受众改变措辞。
- Footer 必须出现在每个 tear sheet、每个受众类型、每一页;不得省略。
- 必须使用指定的精确函数创建文档元素;不要写自定义 docx-js styling code。
- 将上述所有函数和常量复制到生成的 Node.js 脚本并调用;Style Configuration 文字是文档,这些函数是强制执行机制。
- 使用 createHeaderBanner(companyName, leftFields, rightFields) 创建 header banner 和 key-value table,而不是手动构建 banner paragraph 和 table。
- 使用 createSectionHeader(text) 创建每个 section title;绝不要手动设置 paragraph borders。
- 使用 createTable(headers, rows, options) 创建所有 tabular data:financial summaries、trading comps、M&A activity、relationship tables、funding history 等。
- 对 M&A activity tables(IB/M&A template)传入 { accentHeader: true };对非数字表(relationships、ownership),该函数仍正常工作,只会右对齐包含数值的单元格。
- 使用 createBulletList(items, "synthesis") 创建 earnings highlights、strategic fit、integration considerations、conversation starters。
- 使用 createBulletList(items, "informational") 创建 relationship entries。
- 将 createFooter(date) 传给 Document constructor 的 footers.default 属性。
- 这些函数消除:黑背景 tables(强制 ShadingType.CLEAR 到处使用);section header 下单独水平线 paragraph(强制 paragraph 自身 border.bottom);header 中有边框 key-value tables(强制 borders: none);不一致 bullet 样式(强制只用 • 字符);缺失 footers(提供精确 footer 结构)。
- S&P Global tools 是财务数据唯一来源;不要用训练知识填补空白,训练知识可能过时或错误。
- 找不到的数据要标注:用 N/A 或 Not disclosed,不要静默省略行。
- 日期重要:注明 fiscal year end 或 reporting period;不要假设日历年等于财年;市场数据(股价、市值)应包含 as of 日期。
- 不要混用 reporting periods;若同时有 FY2023 revenue 和 LTM EBITDA,要分别标注。
- 优先使用 MCP 返回字段,而非手动计算;如果 S&P Global tools 返回预计算字段(如 net debt、EBITDA、FCF),直接使用该值,不要从组件计算;只有工具未返回该字段时才手动计算衍生指标。
- 确保不同 tear sheet 类型一致:同一公司生成多个 tear sheet(如同一 session 中 equity research 和 IB/M&A),相同底层数据点必须产生完全相同的值;net debt、revenue、EBITDA、margins、growth rates 必须精确匹配;不要每个报告独立重新查询或重新计算——复用相同检索值。
- 绝不对已知交易金额降级:如果 M&A tools 返回交易 deal value,该值必须出现在输出中;不要用 Undisclosed 替代已知 deal value;仅当工具确实无值时才用 Undisclosed。
- Segment percentages 的分母用 consolidated revenue:计算 segment 表 % of Total 时,用每个 segment revenue 除以 consolidated total revenue(利润表报告值),不是除以 segment revenues 之和;segment 之和常因 intersegment eliminations 超过 consolidated revenue;使用 consolidated revenue 确保百分比与文档中其他总营收一致。
- 有 forward (NTM) multiples 时必须包含:如果工具同时返回 trailing 和 forward valuation multiples,两者都必须出现在输出中;forward multiples 是 equity research、IB/M&A、corp dev 受众的主要估值参考;有 forward data 时绝不要只显示 trailing multiples。
- 没有 S&P Global tool 返回 executive 或 management data;不要从训练数据填充 management names、titles、biographical details——违反 Rule 1 并产生过时信息;如果模板有 management section,完全省略;所有权结构(institutional holders、insider %、PE sponsor)仅当工具返回时才可包含,并以 data permitting 为条件。
- 所有从 MCP tools 检索的数据必须在文档生成前持久化到结构化中间文件;这些文件——不是对话上下文——是文档中每个数字的唯一真相来源。
- 在 Step 3 开始时创建工作目录:mkdir -p /tmp/tear-sheet/。
- Write-after-query mandate:每个 MCP 查询步骤完成后,立即将检索数据写入适当中间文件;不要等到所有查询结束;每个 reference file 的 query plan 指定每一步写哪些文件。
- 中间文件 schema:/tmp/tear-sheet/company-profile.txt 为 Key-value text,字段 name、ticker、exchange、HQ、sector、industry、founded、employees、market_cap、enterprise_value、stock_price、52wk_high、52wk_low、shares_outstanding、beta、ownership;用于 All。
- /tmp/tear-sheet/financials.csv 为 CSV,列 period,line_item,value,source;用于 All。
- /tmp/tear-sheet/segments.csv 为 CSV,列 period,segment_name,revenue,source;用于 ER、IB、CD。
- /tmp/tear-sheet/valuation.csv 为 CSV,列 metric,trailing,forward,source;用于 ER、IB、CD。
- /tmp/tear-sheet/consensus.csv 为 CSV,列 metric,fy_year,value,source;用于 ER。
- /tmp/tear-sheet/earnings.txt 为 Structured text,记录 Quarter、date、key quotes、guidance、key drivers;用于 ER、IB、Sales。
- /tmp/tear-sheet/relationships.txt 为 Structured text,记录 Customers、suppliers、partners、competitors,各带 descriptors;用于 IB、CD、Sales。
- /tmp/tear-sheet/peer-comps.csv 为 CSV,列 ticker,metric,value,source;用于 ER、IB、CD。
- /tmp/tear-sheet/ma-activity.csv 为 CSV,列 date,target,deal_value,type,rationale,source;用于 IB、CD。
- /tmp/tear-sheet/calculations.csv 为 CSV,列 metric,value,formula,components;用于 All(在 Step 3b 写入)。
- 缩写:ER = Equity Research;IB = IB/M&A;CD = Corp Dev;Sales = Sales/BD。
- 不是每个受众类型都用每个文件;reference files 定义哪些 query steps 适用;不相关的文件无需创建。
- Raw values only:中间文件存储 tools 返回的原始值;不要预计算 margins、growth rates 或其他衍生指标——在 Step 3b 做。
- Page budget enforcement:每个 reference file 指定默认页面长度和编号 cut order;如果渲染文档超出目标,按指定顺序执行 cuts;不要尝试缩小字体大小或 margins 低于模板最小值;cut order 是严格优先级栈:完全砍掉 section 1 再动 section 2。
- 为每个 narrative section 按受众重写;CIQ company summary 是输入,不是输出;每个受众类型需要不同描述:equity research 简洁、thesis-oriented;IB pitchbook prose;Corp Dev 产品聚焦;Sales/BD 平实语言;绝不要将 CIQ summary 原样粘贴到任何 tear sheet。
- 按受众区分 earnings highlights;同一 earnings call 对不同读者有不同 takeaway;Equity research 要 segment-level performance 和 consensus beat/miss;IB 要 margin trajectory 和 strategic commentary;Sales/BD 要创建 conversation angles 的 strategic themes;不要在不同 tear sheet 类型复用相同 bullets。
- Synthesis sections 是差异化因素;Strategic Fit Analysis、Integration Considerations、Conversation Starters、Business Overview paragraphs 是 tear sheet 价值所在;这些 section 需要 analytical reasoning,将数据点连接成 narrative;列出公司名而无 context 不是 synthesis。
- 在 segment tables 中标记 pending divestitures;如果公司已宣布剥离某个 segment 或 business unit,在 segment table 加 footnote 或 parenthetical 注明 pending transaction,例如 Mobility* — *Pending divestiture, expected mid-2026;对于 Corp Dev 和 IB/M&A tear sheets,在 segment table 下方加一行注明 pro-forma revenue 和 revenue mix excluding divested segment;帮助读者评估 go-forward business,无需自己算。
适用边界 · 注意事项
- 未配置 S&P Global / Kensho LLM-ready API MCP server 或无权访问 S&P Capital IQ 数据时,无法使用本技能。
- 不需要生成公司一页纸/财务摘要,或要求非 Word 输出格式(如原生 PPT、Excel、PDF 排版)时,不适用。
- 需要管理层/高管履历或工具未返回的定性信息时,不适用,因为技能禁止从训练数据填充,且 S&P Global tool 不返回 executive/management data。