Bilibili Video Transcriber
自动获取B站视频字幕、语音转文字并分析评论,支持飞书通知与多平台兼容。
提供DCF、LBO、可比公司分析等金融建模工具,支持自动填充和审计财务模型。
openclaw skills install @paudyyin/financial-financial-analysis命令、参数、文件名以原文为准
核心财务建模与分析工具:DCF、可比公司分析(Comps)、LBO、三张报表模型、竞争格局分析及演示文稿质量检查
来自 Anthropic 官方 financial-services 仓库的 financial-analysis 插件。
原始仓库:https://github.com/anthropics/financial-services
description: 填充三张报表财务模型模板
argument-hint: "[模板文件路径]"
加载 3-statement-model 技能,填充三张报表财务模型(利润表、资产负债表、现金流量表)。
若提供了文件路径,则使用该路径作为模板;否则向用户询问其模型模板。
description: 创建竞争格局分析
argument-hint: "[公司或行业名称]"
加载 competitive-analysis 技能,为指定公司或行业构建竞争格局分析。
若提供了公司/行业名称作为参数,则使用该信息;否则向用户询问希望分析的内容。
description: 构建包含交易倍数的可比公司分析
argument-hint: "[公司名称或股票代码]"
构建符合机构标准的可比公司分析,涵盖运营指标、估值倍数及统计基准分析。
若提供了公司名称或股票代码,则使用该信息;否则提问:
使用 skill: "comps-analysis" 执行分析:
- “核心问题是?”(估值、效率、增长对比)
- “目标受众是谁?”(投资委员会、董事会、快速参考)
- “是否有偏好的格式或模板?”
- 业务模式相似
- 规模/市值范围相近
- 同一行业/板块
- 地理区域可比
- 运营指标:收入、增长率、毛利率、EBITDA、EBITDA 毛利率
- 估值指标:市值、企业价值、EV/收入、EV/EBITDA、市盈率(P/E)
- 行业特定指标(如 SaaS 行业的“40法则”)
- 运营统计数据部分:包含各公司数据及统计摘要(最大值、75%分位数、中位数、25%分位数、最小值)
- 估值倍数部分:同上统计摘要
- 备注与方法论说明
生成 Excel 文件以输出分析结果。
description: 构建基于可比公司分析的 DCF 估值模型
argument-hint: "[公司名称或股票代码]"
构建符合机构标准的 DCF 估值模型,利用可比公司分析结果来设定估值区间。
若提供了公司名称或股票代码,则使用该信息;否则提问:
首先加载 comps-analysis 技能以建立交易可比公司分析:
使用 skill: "comps-analysis" 执行以下操作:
需从可比公司分析中获取的关键输出:
加载 dcf-model 技能以构建估值模型:
使用 skill: "dcf-model" 执行以下步骤:
使用可比公司分析结果来指导 DCF 假设:
| 可比公司指标 | 用途 |
|---|---|
| 中位数 EV/EBITDA 倍数 | 设定终端价值倍数 |
| 中位数 EV/收入 倍数 | 验证 DCF 输出合理性 |
| 同行增长率 | 支持收入增长假设 |
| 同行利润率 | 支持利润率假设 |
description: 调试并审计财务模型中的错误
argument-hint: "[路径到 .xlsx 模型文件]"
加载 audit-xls 技能,作用域为 model,对指定的财务模型进行完整性检查,识别以下问题:
若提供了文件路径,则使用该路径;否则向用户询问待审查的模型。
description: 为私募股权收购项目构建 LBO 模型
argument-hint: "[公司名称或交易详情]"
加载 lbo-model 技能,为指定公司或交易构建杠杆收购模型。
若提供了公司名称作为参数,则使用该信息;否则向用户询问目标公司及交易参数。
description: 从 PowerPoint 模板文件创建可复用的 PPT 模板技能
argument-hint: "[路径到 .pptx 或 .potx 文件]"
allowed-tools: ["Read", "Write", "Bash", "Glob"]
从用户提供的 PowerPoint 模板文件创建一个自包含的 PPT 模板技能。
- “请提供您的 PowerPoint 模板文件路径(.pptx 或 .potx)”
- 模板应包含您希望使用的幻灯片布局和品牌元素
- 使用 skill: "ppt-template-creator" 工具加载完整技能说明
- 按照技能内工作流程分析模板并生成新技能
- 公司/模板名称(用于命名技能)
- 主要使用场景(融资路演、董事会材料、客户汇报等)
- 分析模板结构(布局、占位符、尺寸)
- 生成包含 assets/ 和 SKILL.md 的技能目录
- 创建示例演示以验证效果
- 打包技能
name: 3-statement-model
description: 完整填写并填充三张财务报表模板(损益表、资产负债表、现金流量表)。在被要求填写模板、完成现有模型框架、用数据填充财务模型、补全部分填写的损益表/资产负债表/现金流量表框架,或在现有模板结构中建立集成财务报表链接时使用。触发条件包括“填写”、“完成”或“填充”三张财务报表模板的请求。
完整填充并建立损益表、资产负债表与现金流量表之间的正确关联关系。
环境选择 — Office JS 与 Python:
range.formulas = [["=D14*(1+Assumptions!$B$5)"]] 写入公式 — 永远不要使用 range.values 来处理衍生单元格。无需单独重新计算;Excel 会原生计算。使用 context.workbook.worksheets.getItem(...) 来切换工作表。ws["D15"] = "=D14*(1+Assumptions!$B$5)",并在交付前运行 recalc.py。.merge() 再对合并后的范围设置 .values — 这会导致 InvalidArgument 错误,因为范围仍报告合并前的尺寸。应仅向左上角单元格写入值,再合并并格式化整个区域:ws.getRange("A1").values = [["损益表"]]; const h = ws.getRange("A1:G1"); h.merge(); h.format.fill.color = "#1F4E79";公式优于硬编码值(不可妥协):
ws["D15"] = "=D14*(1+Assumptions!$B$5)"),而非计算结果name: audit-xls
description: 审查电子表格中的公式准确性、错误及常见问题。作用范围可限定于选定区域、单个工作表或整个模型(包括资产负债表平衡性、现金流闭合性、逻辑合理性等财务模型完整性检查)。触发条件包括“审计这个工作表”、“检查我的公式”、“查找公式错误”、“质量检查这个电子表格”、“逻辑检查这个模型”、“调试模型”、“模型检查”、“模型不平衡”、“我的模型有问题”、“模型审查”。
审查公式与数据的准确性及潜在错误。作用范围决定审查深度 — 从对选中区域的快速公式检查,到涵盖财务模型完整性的全面审计。
若用户已指定范围,请直接使用。否则 主动询问:
您希望我进行多大范围的审查?
- 选区 — 仅当前选中的区域
- 工作表 — 当前激活的工作表
- 模型 — 整个工作簿,包括财务模型完整性检查(资产负债表平衡、现金流闭合、滚动更新、逻辑合理性)
模型 范围为最深入 — 在 DCF、LBO、三张表模型、并购、可比公司分析等集成财务模型交付客户或投资委员会前,建议使用此模式。
无论范围如何,均需执行以下检查:
| 检查项 | 需关注的内容 |
|---|---|
| 公式错误 | #REF!、#VALUE!、#N/A、#DIV/0!、#NAME? |
| 公式内硬编码值 | =A1*1.05 — 其中 1.05 应为单元格引用 |
| 公式不一致 | 与相邻行/列公式模式不符的公式 |
| 范围偏移 | SUM/AVERAGE 函数遗漏首行或尾行 |
| 公式被覆盖 | 外观像公式但实际为硬编码值的单元格 |
| 循环引用 | 有意或无意的循环引用 |
| 跨工作表链接断裂 | 引用了已移动或删除的单元格 |
| 单位/量级不一致 | 千与百万混用,百分比以整数形式存储 |
| 隐藏行/工作表 | 可能包含覆盖值或过期数据 |
name: clean-data-xls
description: 清理混乱的电子表格数据 — 去除空白字符、统一大小写、转换文本格式的数字、标准化日期、去除重复项,并标记混合类型列。在数据混乱、不一致或需清洗后方可分析时使用。触发条件包括“清理这些数据”、“清理这个工作表”、“规范化这些数据”、“修复格式”、“去重”、“标准化这一列”、“这些数据很乱”。
清理当前工作表或指定区域内的混乱数据。
Excel.run(async (context) => {...}))。通过 range.values 读取数据,通过 range.formulas = [["=TRIM(A2)"]] 写入辅助列公式。是否就地处理仍需根据情况判断。A1:F200),则使用该范围| 问题 | 需要关注的内容 |
|---|---|
| 空白字符 | 首尾空格、连续空格 |
| 大小写不一致 | 分类列中大小写不统一(如 usa / USA / Usa) |
| 数字作为文本 | 数值以文本形式存储;数字单元格中存在 $、,、% 等符号 |
| 日期格式 | 同一列中混用多种日期格式(如 3/8/26、2026-03-08、March 8 2026) |
| 重复数据 | 完全重复的行,以及近似重复(仅因大小写或空格差异) |
| 空值 | 在本应有数据的列中出现空白单元格 |
| 类型混合 | 某列98%为数值,但包含3个文本条目 |
| 编码问题 | 混乱编码字符(如 é、’),非打印字符 |
| 错误值 | #REF!、#N/A、#VALUE!、#DIV/0! |
在修改前展示一份汇总表格:
| 列名 | 问题 | 数量 | 建议修复方式 |
|---|
name: competitive-analysis
description: 构建竞争格局分析报告的框架 —— 包括市场定位、竞争对手深度分析、对比评估与战略整合。当用户请求“竞争格局”、“竞争对手分析”、“同行比较”、“市场定位评估”、“战略复盘”或“投资备忘录”时使用。也适用于“X 的主要竞争对手有哪些”、“将 X 与同行进行基准对比”、“构建市场地图”等系统性评估行业竞争动态的请求。
构建完整的竞争分析报告。该流程分为两个阶段:先明确需求并获得大纲确认,再进行内容构建。
此技能可在 PowerPoint 插件和聊天模式下运行。开始前请判断当前环境——操作方式不同,工作流一致:
.pptx 文件(或对用户上传的文件进行构建)。以下所有步骤在两种模式下均适用。
“竞争分析”对不同人含义不同。在开展任何调研或幻灯片制作前,请使用 ask_user_question 准确了解用户真实需求。不要猜测——一份20页的同行基准分析与一份5页的市场地图虽都属“竞争分析”,但形态完全不同。
尽可能在一轮内收集信息(工具最多支持4个问题):
name: comps-analysis
description: |
构建机构级可比公司分析,包含运营指标、估值倍数及统计基准分析,输出为 Excel/电子表格格式。
适用场景:
- 上市公司估值(并购、投资分析)
- 与行业同行绩效对比
- IPO 或融资轮次定价
- 识别估值异常(高估/低估)
- 支持投资委员会汇报
- 制作行业概览报告
不适用场景:
- 无公开可比公司的私企
- 业务高度多元化的集团企业
- 债务重组或破产公司
- 无收入的初创企业
- 业务模式独特的公司
始终遵循以下数据源层级顺序:
为何重要: MCP 来源提供经验证的机构级数据,并附带完整引用。网络搜索结果可能过时、错误或不可靠,不适合用于金融分析。
本技能指导 Claude 构建融合运营指标、估值倍数与统计基准分析的机构级可比公司分析。输出为结构化电子表格,支持通过同行对比做出明智投资决策。
参考材料与上下文补充:
示例可比公司分析见 examples/comps_example.xlsx。使用该文件或其他示例时,请注意保持数据一致性与格式规范。
name: dcf-model
description: 使用真实折现现金流(DCF)模型进行股权估值。从 SEC 文件和分析师报告中提取财务数据,构建全面的现金流预测,完成正确的加权平均资本成本(WACC)计算,执行敏感性分析,并输出包含执行摘要的专业 Excel 模型。当用户需要使用 DCF 方法评估公司价值、请求内在价值分析,或要求包含增长预测与终值计算的详细财务建模时使用。
本技能按照投资银行标准,创建高质量的股权估值 DCF 模型。每次分析均生成详细的 Excel 模型(含底部的敏感性分析部分)。
以上限制在整个 DCF 模型构建过程中均适用。开始前请仔细审阅。
环境:Office JS 与 Python/openpyxl 的选择
range.formulas = [["=D19*(1+$B$8)"]] 设置公式。无需单独的重新计算步骤,Excel 会原生计算。使用 range.format.* 进行样式设置。遵循“公式优于硬编码”的原则:对衍生单元格应使用 .formulas,而非 .values。recalc.py。⚠️ Office JS 合并单元格陷阱: 使用合并单元格创建章节标题时,切勿先调用 .merge() 再对合并区域设置 .values —— Office JS 会在此类操作中出现异常行为。
name: deck-refresh
description: 更新演示文稿中的数据 —— 季度更新、财报调整、同比滚动、市场数据重置。当用户要求“用 Q4 数据更新演示文稿”、“刷新可比公司数据”、“向前滚动”、“替换为新财报数据”、“将全部 $485M 改为 $512M”等,即表示需要在不重建整个文稿的前提下更换数值时使用。
仅更新文稿中的数值。文稿是格式的唯一来源;你只需更改数值。
该技能可在 PowerPoint 插件和聊天模式下使用。开始前请确认当前环境——编辑机制不同,但意图一致:
无论哪种方式:只做最小范围的修改,原有格式保持不变。
这是一个四阶段流程,第三阶段为审批节点。在用户看到计划之前,不得进行任何修改。
使用 ask_user_question 确定新数据的来源:
同时询问 衍生数值 的处理方式:若收入变动,是否需要重新计算增长率和占比?大多数文稿中都包含“+15% YoY”等固定表述,现在已过时。是否更新这些内容,应由用户做出判断。
name: ib-check-deck
description: 投资银行演示文稿质量检查工具。审查投资备忘录或客户可用文稿,确保:(1) 幻灯片间数值一致性,(2) 数据与叙述逻辑一致,(3) 语言表达符合投行标准,(4) 视觉与格式合规性。当用户要求“审查”、“检查”、“质检”、“校对”或“最终核查”文稿、提案或客户材料时使用,包括“检查我的数字”、“跨幻灯片核对数据”、“是否已准备就绪”或“发送前我遗漏了什么”等请求。
从四个维度对演示文稿进行全面质量检查。逐页阅读,再汇总发现。
该技能可在 PowerPoint 插件和聊天模式下使用。开始前请确认当前环境:
.pptx 文件中读取。此技能仅为读取与报告,不进行修改,因此两种环境下的工作流程完全一致。
从每一页提取文本,并记录每段内容来自哪一页。后续发现需具备幻灯片级溯源能力(例如:“$500M 出现在第 3 页和第 8 页,但第 15 页显示为 $485M”)。30 页以上的文稿无法靠记忆可靠处理 —— 应将提取内容保存至文件,以便数字检查脚本处理。
脚本期望输入格式为类似 Markdown 的结构,带幻灯片标记。格式如下:
## Slide 1
[第1页文本内容]
## Slide 2
[第2页文本内容]对收集的内容运行提取脚本:
python scripts/extract_numbers.py /tmp/deck_content.md --check该脚本将统一单位(如 $500M、$500MM、$500,000,000 统一为同一数值),分类数值(收入、EBITDA、倍数、利润率等),并标记同一指标类别在不同幻灯片中出现矛盾值的情况。这是最可能发现人类第五次审阅仍遗漏问题的部分。
除脚本标记外,还需手动验证:
name: lbo-model
description: 本技能用于在 Excel 中完成杠杆收购(LBO)模型模板的填充,适用于私募股权交易、交易材料或投资委员会演示文稿。该技能自动填入公式、验证计算逻辑,并确保符合专业制式规范,且能适配任意模板结构。
本技能依赖 LBO 模型模板。始终优先检查是否有附件模板文件。
技能:财务分析(财务分析)
版本:1.0.0
分块:5/6
在开始任何杠杆收购模型(LBO model)之前:
examples/LBO_Model.xlsx 为起点进行复制,并填入用户的假设数据重要提示:当附件中包含类似 LBO_Model.xlsx 的文件时,您必须将其作为模板使用——不得从零开始构建。即使该模板看起来复杂或包含超出需求的功能,也必须复制并根据用户需求进行调整。一旦有模板提供,绝不能自行决定“从头开始构建”。
如果在 Excel 内运行(Office 插件 / Office JS 环境):
Excel.run(async (context) => {...}))——不要使用 Python/openpyxlrange.formulas = [["=B5*B6"]] 设置公式——Office JS 的公式会在实时工作簿中自动重新计算range.formulas,而非 range.values 来处理应为计算的内容range.format.font.color / range.format.fill.color 实现蓝色/黑色/紫色/绿色的格式规范name: ppt-template-creator
description: 从用户提供的 PowerPoint 模板创建自包含的 PPT 模板 SKILLS(不是演示文稿)。仅在用户希望将模板转化为可重复使用的技能时使用。若用户仅需生成演示文稿,请使用 pptx 技能。
此技能用于创建 SKILLS,而非演示文稿。 当用户希望将其 PowerPoint 模板转换为可重复使用的技能以供后续生成演示文稿时,请使用本技能。若用户仅需创建演示文稿,请使用 pptx 技能。
生成的技能包含:
assets/template.pptx —— 模板文件SKILL.md —— 完整的操作说明(无需引用此元技能)关于通用技能开发的最佳实践,请参考 skill-creator 技能。本技能专注于 PPT 特定模式。
skill-creator 技能搭建技能结构assets/template.pptxskill-creator 技能将技能打包为 .skill 文件关键:精确提取占位符位置——这决定了内容区域的边界。
from pptx import Presentation
prs = Presentation(template_path)
print(f"尺寸: {prs.slide_width/914400:.2f}\" x {prs.slide_height/914400:.2f}\"")
print(f"版式数量: {len(prs.slide_layouts)}")
for idx, layout in enumerate(prs.slide_layouts):
print(f"\n[{idx}] {layout.name}:")
for ph in layout.placeholders:
try:
ph_idx = ph.placeholder_format.idx
ph_type = ph.placeholder_format.type
# 重要:以英寸为单位提取精确位置
left = ph.left / 914400name: pptx-author
description: 在磁盘上生成 .pptx 文件(无头模式),而不是通过 mcp__office__powerpoint_* 驱动一个正在运行的 PowerPoint 文档——适用于没有打开 Office 应用的托管代理会话。
当在 无头模式(托管代理 / CMA 模式)下运行,且需要将 PowerPoint 演示文稿作为 文件成果输出 而非通过 mcp__office__powerpoint_* 编辑实时文档时,请使用此技能。
./out/<name>.pptx。若 ./out/ 目录不存在,则创建它。编写一段简短的 Python 脚本,并通过 Bash 执行。使用 python-pptx:
from pptx import Presentation
from pptx.util import Inches, Pt
prs = Presentation("./templates/firm-template.pptx") # 若提供了模板
# 或者:prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[5]) # 仅标题版式
slide.shapes.title.text = "估值摘要"
# ... 添加表格 / 图表 / 文本框 ...pitch-deck 技能保持一致)./out/model.xlsx,请在脚注中标注对应的表格名称和单元格位置。./templates/ 目录下有指定模板时,使用该模板;否则使用默认布局。如果可用 mcp__office__powerpoint_* 工具(Cowork 插件模式),请优先使用这些工具——它们可在用户实时文档中操作,并提供审查检查点。本技能是无头运行(headless)场景下的文件生成备用方案。
name: skill-creator
description: 创建有效技能的指南。当用户希望创建新技能(或更新现有技能)以扩展 Claude 的能力,引入特定知识、工作流或工具集成时,应使用此技能。
license: 完整条款见 LICENSE.txt
本技能提供创建高效技能的指导建议。
技能是模块化、自包含的包,通过提供专业化知识、工作流程和工具来扩展 Claude 的能力。可以将其理解为特定领域或任务的“入门指南”——它将 Claude 从通用型代理转变为具备程序性知识的专用代理,而这些知识是任何模型都无法完全掌握的。
上下文窗口是公共资源。技能与系统提示、对话历史、其他技能元数据以及用户请求共同共享上下文窗口。
默认假设:Claude 已经非常智能。 仅添加 Claude 本身不具备的信息。对每一项内容提出质疑:“Claude 真的需要这个解释吗?”、“这段文字是否值得消耗这么多 token?”
优先使用简洁示例,而非冗长解释。
根据任务的脆弱性和变化程度,合理设定具体性水平:
高自由度(基于文本的指令):适用于多种方法均有效、决策依赖上下文,或需启发式判断的场景。
中等自由度(带参数的伪代码或脚本):适用于存在推荐模式、允许一定变化的场景。
已收录 4 个 Skill