comps-analysis – 可比公司估值分析 Skill

3周前更新 6 0 0 0

comps-analysis 是用于辅助 AI Agent 完成可比公司分析的金融类 Skill,可支持选取可比公司、整理估值倍数与财务指标,适用于投研、估值和并购场景中的对标分析任务。

Skill 安装

多 Agent 安装
npx skills add https://github.com/anthropics/financial-services-plugins --skill comps-analysis

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

comps-analysis 是 Anthropic 官方 financial-services-plugins 仓库中提供的一个金融分析类 Skill,核心用途是辅助完成可比公司分析(Comparable Company Analysis,简称 Comps 或 Comps Analysis)。它是面向投资银行、私募股权、股票研究、企业融资等场景的分析工作流,安装后会赋予 AI Agent 一套围绕可比公司估值展开的任务能力。

它本身不是一个独立软件,也不是一个可执行程序或数据接口。该 Skill 主要以指令集、分析方法论和工作流的形式存在,用来指导 Agent 在用户提供数据或明确研究目标后,按照可比公司分析的规范流程完成分析、整理结果并输出结构化内容。

核心功能

  • 协助搭建可比公司分析框架,包括可比公司筛选逻辑、可比性判断维度
  • 按估值倍数组织分析,例如市盈率(P/E)、企业价值倍数(EV/EBITDA)、市销率(P/S)、市净率(P/B)等常见指标的整理与对比
  • 协助计算和展示估值区间、中位数、均值以及相对估值结论
  • 指导估值输出结构,例如可比公司表格、倍数矩阵、估值结论说明
  • 在 Agent 已有数据处理能力基础上,叠加一层金融分析专业规范

典型任务

  • 为一家拟上市公司筛选可比公司并搭建倍数对比表
  • 为并购交易中的目标公司构建相对估值参考
  • 为股票研究报告中的估值部分生成规范的可比分析结构
  • 将一组公司的财务指标整理成一致的倍数口径
  • 根据给定估值倍数区间反推隐含估值范围

工作方式

该 Skill 的运作方式与其他 Agent Skill 类似:用户通过自然语言描述任务,Agent 加载 Skill 中定义的分析规范、流程和输出要求,再结合用户提供的数据、Agent 自身能力或外部数据来源,生成可比公司分析结果。Skill 提供的是方法、规范和结构,实际数据来自用户提供或 Agent 可访问的数据源。

适合的用户

  • 投资银行、私募股权、券商研究、企业融资从业者
  • 需要快速搭建相对估值框架的财务分析人员
  • 学习可比公司分析方法的金融专业学生或转行者
  • 希望让 AI Agent 按专业规范输出估值分析结构的人

不适合的需求

  • 需要实时行情和实时财务数据的场景(取决于 Agent 是否有相应数据源,Skill 本身不提供数据)
  • 需要出具具有法律效力的正式估值报告
  • 希望 Skill 直接替代专业金融数据终端(如 Bloomberg、Wind、Capital IQ 等)
  • 非金融领域的通用数据分析任务

与普通 Agent 能力的区别

通用 Agent 也能处理金融数据,但通常缺少可比公司分析的固定规范,比如可比公司筛选口径、倍数口径一致性、估值区间呈现方式等。comps-analysis 把这些方法论固化下来,让输出更贴近实际投行和研究机构的做法,而不是一段随意的数据分析。

需要说明的一点

当前 Skill 实际能力、支持的分析范围以及具体输出格式,以该 Skill 当前官方说明为准。以上是基于可比公司分析这一通用金融方法论的整理,并未覆盖官方仓库可能存在的全部细节。

Skill 安全评估

总体判断:作为 Anthropic 官方 financial-services-plugins 仓库中的 Skill,来源可信度较高,它本身不是可执行软件,主要风险来自使用场景而非 Skill 代码本身。是否安全主要取决于你让 Agent 用它处理什么数据、以及 Agent 被授予了哪些权限。

来源可信度

该 Skill 出自 Anthropic 官方组织下的 financial-services-plugins 仓库,属于官方一手来源。相比第三方重新发布版本或同名镜像,官方来源的可靠性更高。建议只从官方仓库获取该 Skill,避免从不明确来源处安装。

Skill 本身的性质

这类金融分析 Skill 通常以提示词、指令、工作流规范为主,本身不包含可执行二进制、后台服务或网络监听程序。也就是说,它不会自己联网、不会自己读写文件、不会自己执行命令。所有实际动作都由 Agent 在加载 Skill 后完成。

与权限相关的风险

  • 文件读取:如果 Agent 开启文件读取,可能读取你提供的财务数据、模型文件。请确认这些文件本身不包含敏感凭证。
  • 文件写入:如果 Agent 被允许写文件,可能会生成或覆盖分析结果文件。建议先确认写入范围。
  • Shell 执行:如果 Agent 开启 Shell 权限,可能运行数据处理脚本。若只需要 Skill 生成分析结构,可以关闭自动执行 Shell,由你手动运行命令。
  • 网络访问:该 Skill 若涉及获取上市公司财务数据,可能需要网络访问。请确认请求目标是否可信,以及是否涉及将内部数据发送到外部服务。

数据敏感性

可比公司分析经常涉及未公开交易信息、内部财务数据、估值假设。这些内容一旦进入 Agent 上下文,可能被 Agent 记录、写入日志或发送到模型服务。若涉及交易敏感材料,请先确认你所使用的 Agent 与模型服务的数据处理与保密政策,必要时对敏感字段做脱敏后再使用。

Prompt Injection 风险

如果分析过程中引入外部文本(例如抓取的公告、新闻、他人提供的文档),其中可能包含诱导 Agent 偏离任务或泄露上下文的指令。建议对来源不明的外部内容保持警惕,必要时先由人工阅读再交给 Agent 处理。

降低风险的实操建议

  • 只从 Anthropic 官方仓库安装该 Skill
  • 在只需要输出分析框架时,关闭 Agent 的 Shell 自动执行权限
  • 不把 API Key、Token、凭证类信息作为分析数据交给 Agent
  • 对涉及交易机密的数据先脱敏再使用
  • 确认所用 Agent 和模型服务的数据留存策略

该 Skill 没有公开的独立安全审计结果,也不应被描述为绝对安全。是否在你的具体场景下可用,需要结合你的数据敏感度、Agent 权限配置和合规要求来判断。

Skill 使用要求

这一章只回答使用该 Skill 需要准备什么。

一、Agent / 客户端

comps-analysis 出自 Anthropic 官方,与 Claude Code 高度适配,可以优先在 Claude Code 中使用,这是最直接的使用路径。

官方没有公布完整的第三方 Agent 兼容列表。从 Agent Skill 的通用工作方式来看,在支持 Skill、自定义指令或类似加载机制的环境中,通常也可以尝试在 Codex、Cursor、Trae、OpenClaw、WorkBuddy 等主流 AI Agent 中使用。不同 Agent 的 Skill 加载方式和兼容程度不同,是否可用以及效果如何,以对应 Agent 当前版本和官方说明为准。如果不确定,可直接询问当前 Agent 是否支持安装该 Skill。

二、运行环境 / 依赖

该 Skill 主要作为分析指令集和工作流存在,通常不需要额外安装运行环境。是否需要 Node.js、Python、Git 等,取决于你使用的 Agent 本身以及你要求 Agent 完成的具体任务。

项目 要求
Agent Claude Code 优先,其他兼容 Agent 可尝试
Node.js Skill 本身通常不要求,视 Agent 安装方式而定
Python Skill 本身通常不要求,若涉及数据分析脚本时才需要
网络 仅在需要获取外部财务数据时相关

具体版本要求请以该 Skill 当前官方说明为准,不要自行假设。

三、权限

  • 文件读取:可选。若希望 Agent 直接读取你提供的财务数据文件,需要开启。
  • 文件写入:可选。若希望 Agent 保存分析结果,需要开启。
  • Shell 执行:可选。只有当任务需要运行数据处理脚本时才需要。仅生成分析结构时可关闭。
  • 网络访问:可选。若需要抓取或获取外部财务数据时才需要。
  • 浏览器:一般不需要。

四、账号 / API Key

  • Skill 本身:通常不需要额外账号或 API Key。
  • Agent 侧:需要能正常使用你选择的 Agent(例如 Claude Code 需要可用的账号)。
  • 数据来源侧:如果你希望 Agent 自动获取财务数据,是否需要数据源 API Key 取决于你选择的数据来源,而不是该 Skill 本身的要求。

不要把「使用 Skill」与「使用外部数据服务」混为一谈,后者可能涉及单独的凭证和费用。

最小使用条件

  1. 一个可用的、支持 Skill 的 AI Agent(优先 Claude Code)
  2. 明确的分析目标(谁和谁比、分析什么倍数)
  3. 可用的财务数据(自己提供或由 Agent 获取)

Skill 安装、使用与卸载教程

一、安装

最简单的方式:直接复制本页面提供的 Skill 安装指令,粘贴到你的 Agent 或终端里执行即可。

如果你不确定自己当前使用的 Agent 该如何安装,可以这样问它:

如何安装 anthropics/financial-services-plugins#comps-analysis?

如何在 Claude Code 中安装 anthropics/financial-services-plugins#comps-analysis?

如何在 Cursor 中安装 anthropics/financial-services-plugins#comps-analysis?

让当前 Agent 根据自身 Skill 加载和管理机制给出对应安装步骤,比自己猜命令更稳妥。不同 Agent 的安装路径和方式不同,建议以 Agent 给出的实际步骤为准。

二、安装后如何使用

安装完成后,一般不需要额外的启动命令。你直接在对话中用自然语言描述任务,Agent 会在合适的时机调用该 Skill。可以这样触发:

使用 comps-analysis,帮我为一家拟上市的 SaaS 公司搭建可比公司分析的倍数对比表。

使用 comps-analysis,根据我提供的这几家公司的财务数据,做一份 EV/EBITDA 和 P/E 的可比估值区间。

使用 comps-analysis,帮我梳理一个并购交易里目标公司的可比公司筛选逻辑和估值结论。

使用建议:

  • 明确目标公司、行业范围、你要用的估值倍数
  • 如果 Agent 无法自动取数,主动提供或粘贴财务数据
  • 让 Agent 先输出分析结构,再逐步填充数据,便于核对
  • 对 Agent 生成的倍数和估值结论做人工复核,不要直接用于对外文件

三、卸载

卸载方式取决于你使用的 Agent 和它的 Skill 管理机制。常见做法是:

  • 使用对应 Agent 或 Skill 管理器提供的删除 / 移除功能
  • 删掉该 Skill 对应的文件或目录
  • 直接询问当前 Agent

如何卸载 anthropics/financial-services-plugins#comps-analysis?

不同 Agent 的 Skill 安装位置不同,如果没有统一的卸载命令,直接让当前 Agent 帮你移除通常最省事。不建议凭空套用网上看到的卸载命令。

常见问题

1. 这个 Skill 需要联网吗?

Skill 本身不需要。是否需要联网取决于任务:如果你让 Agent 自动获取上市公司财务数据,则需要网络;如果你自己提供数据并只让 Agent 做分析和整理,则通常不需要。

2. 可以同时安装到多个 Agent 吗?

可以。Skill 是相对独立的配置单元,你可以在 Claude Code 安装一份,也在别的兼容 Agent 里安装一份。但要注意不同 Agent 的加载方式、上下文管理可能不同,输出效果也会有差异。

3. 安装后 Agent 没识别到 Skill 怎么办?

先确认安装位置是否符合该 Agent 的要求,再确认文件名和目录结构是否正确。可以直接问当前 Agent:

我安装了 comps-analysis,但你没识别到,帮我检查一下。

让它自己排查路径和加载问题通常最快。

4. Skill 更新后需要重新安装吗?

取决于你是如何安装的。如果是通过 Agent 的 Skill 管理器安装,通常它会帮你拉取更新;如果是手动复制的文件,则需要你手动替换。具体以对应 Agent 的机制为准。

5. 中国大陆使用有网络要求吗?

该 Skill 本身不基于中国大陆平台,也不是为中国大陆网络环境专门设计的。如果你使用的 Agent(例如 Claude Code)在中国大陆访问受限,可能需要解决网络访问问题。Skill 层面没有专门的中国大陆适配说明。

6. 这个 Skill 会修改我已有的项目文件吗?

Skill 本身不会主动改动文件。是否写入文件取决于 Agent 的权限和你的指令。如果只是让它生成分析结构而不落盘,通常不会修改任何现有文件。建议在重要项目上先确认 Agent 的文件写入范围。

7. 可以把它用于生产环境或对外交付吗?

不建议直接把 Agent 输出作为正式对外的估值结论。可比公司分析涉及口径一致性、数据时效、行业可比性判断,Skill 能帮你搭建结构和整理数据,但关键判断和最终数字仍应由专业人员复核。对外交付前请人工验证数据来源和计算过程。

Skill 更新日志

版本列表
无版本号
删除 claude-for-financial-advisors 目录 (#354) 删除 anthropics/financial-services 中的 financial advisors 目录
无版本号
build-manifest:将凭据放入 URL 片段,而非查询字符串 (#356) * build-manifest:将凭据放入 URL 片段,而非查询字符串 Claude for Office 从 URL 片段读取 manifest 设置;查询字符串凭据在那里已被弃用,并从 2026-10-19 起被忽略 (anthropics/office-agent#2857)。片段不会在 HTTP 请求中发送。 Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin * manifest 文档:精简片段说明 Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin * build-manifest:将 FRAGMENT_KEYS 重命名为 SENSITIVE_KEYS Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01LTWZSYSeY8PZFPmQ3PXJin --------- Co-authored-by: Claude
无版本号
access_policies:记录并验证 file_path 标识符 (#352) 管理员现在可以编写匹配打开文档路径的加载项访问规则,适用于无法携带敏感度标签的文件(例如,在网络共享上)。 - access-policies.md:一个路径示例、语法和运算符条目,以及一条涵盖路径如何比较及其限制的规则。 - build-manifest.mjs:接受 file_path 与 equals | startsWith 搭配使用,并在其用于 uploaded_file 时发出警告,因为在那里它永远无法匹配。
无版本号
移除 claude-for-financial-advisors 市场条目 (#351) 插件目录保留;仅移除市场列表以避免重复列表。
无版本号
推出 Claude for Financial Advisors (#350) 添加 Claude for Financial Advisors 插件
无版本号
移除 wealth-management 插件 (#349)
无版本号
claude-for-msft-365-install:记录 web_search disabled_features slug (#329) docs:记录 web_search disabled_features slug (0.1.11) 该加载项现在在 disabled_features 中强制执行 web_search:它会移除 原生 web_search/web_fetch 服务器工具和用户开关,同时保留代码 执行。将其添加到强制 slug 表中,并附上配对 指南(mcp_servers 用于网络内替代搜索工具),以及 构建脚本的提示。
无版本号
manifest:识别 available_models 配置键 (#311) * manifest:识别 available_models 配置键 将 available_models 添加到 KEYS 验证器(逗号分隔的 id 或 JSON id 数组 / {id,label} 对象数组,与加载项的解析器保持一致),并在 manifest.md 和 bootstrap.md 中记录。取代已退役的 disabled_models/additional_models 组合(来自 #294):available_models 是 单一覆盖列表,因此管理员声明完整选择器,而不是差异。 No-Verification-Needed:直接针对有效和无效输入运行了 build-manifest.mjs * 将 claude-for-msft-365-install 升级到 0.1.9 No-Verification-Needed:仅版本升级
无版本号
fix:更新关于 Foundry 的文档 (#323)
无版本号
manifest:添加 access_policies 键和引导式 access-policies 命令 (#307) * manifest:添加 access_policies 键和引导式 access-policies 命令文档 添加 access_policies 配置键——一个由 allow/deny 语句组成的 JSON 数组,取代 disabled_features,并可按 Purview 敏感度标签将规则限定到 文档。构建脚本识别 该键(对 JSON 数组进行仅警告的形状检查),manifest.md 将其与 disabled_features 一起记录, 并且新增的 access-policies 命令会引导 管理员完成获取标签 GUID、选择语句,以及 在发布前解释匹配规则。 * 验证 access_policies 语句结构;记录语法和 slug 构建脚本现在解析 access_policies,并对每条未通过 语法的语句发出警告——错误的 effect、未知的 resource 或 identifier 类型、 identifier 类型不支持的运算符(GUID 仅接受 equals | exists)、空的 identifiers 数组、空白的 action slug。这些 是加载项会静默丢弃的形状,因此构建是唯一能捕获 它们的地方;无法解析的值是致命错误。 文档:向 access-policies.md 添加语句语法参考和完整的 feature-slug 列表, 将 manifest.md 中的 disabled_features 表与 全部四个 slug 同步,向 bootstrap.md 添加缺失的 access_policies 字段, 并修复父标签前缀示例以包含 " - " 分隔符。
无版本号
添加只读加载项数据导出;加固缓存清理脚本 (#302) * 添加只读加载项数据导出;加固缓存清理脚本 聊天历史、技能、MCP 注册和记忆仅存在于用户机器上的浏览器 存储中。添加 export-addin-data.{sh,ps1} 以在重建前复制它们, 并修复位于它们旁边的缓存清理脚本。 clear-addin-cache.sh 以区分大小写的方式匹配加载项 ID,但 Office 会以 manifest 所携带的任意大小写命名 wef 文件。小写 GUID 会报告 "already clear" 并以 0 退出,将管理员引向会破坏 Windows 上聊天历史的 全文件夹清除。改为不区分大小写匹配,并让未命中打印 NOT cleared 并在两个平台上以非零退出。 clear-addin-cache.ps1 在 Windows PowerShell 5.1 上从未能解析:无 BOM 的 .ps1 中的 em dash 会被解码为 ANSI,变成包含引号的乱码,从而 在文件中间终止字符串。所有 .ps1 文件现在都是纯 ASCII,并且 check.py 会拒绝没有 UTF-8 BOM 的 .ps1 中的非 ASCII 字节。 另外: - export:从 WebKit 的二进制 origin 文件中解析端口。丢弃它会使 同一主机上的两个 origin 在一个导出文件夹中冲突,静默 覆盖第一个。 - export:包含 localStorage,其中保存设置、推理配置, 以及 onboarding/terms 标志。 - export:在给定 --out 时却未导出任何内容现在会以非零退出,因此 "先导出再清除" 不能将空备份视为成功。 - export:数据库复制失败不再中止运行;包含 撇号的路径可以正常工作。 - export.ps1:在 Copy-Item -Recurse 之前清空目标,否则在重新运行时 会嵌套而不是刷新;为名称被压缩隐藏的存储添加 -IncludeAll; 先扫描未压缩的 LevelDB 文件。 - clear.ps1:要求 -Id 为 GUID,因为 Remove-Item -Path 会展开通配符; 为 Remove-ItemProperty 转义值名称。 - clear.sh:也扫描 Outlook,并保护接受值的标志。 - 记录为什么替换或重新安装 manifest 永远不会移动数据。 已在 macOS 上针对实时加载项数据验证,并在 Windows 主机上针对 Windows PowerShell 5.1 验证。 * 将 Windows localStorage 导出为整个按配置文件存储 localStorage 保存设置、推理/客户配置,以及 onboarding + terms-accepted 标志——这些都不在 IndexedDB 中——因此没有它的导出 会让重建后的机器重新进行 onboarding。 Chromium 为每个配置文件保留一个由每个 origin 共享的 LevelDB,因此无法 将其过滤为单个加载项。整体复制而不是丢弃它,每个 Office 账户一次,放在该账户的 origin 文件夹旁边。因此它也会包含其他 origin 的设置:每次运行都会打印大小,包括无参数 预览,帮助文本明确说明这一点,并且如果数据政策禁止,可以直接从导出中删除该文件夹。 - 复制到临时名称并仅在成功时替换。先删除目标 意味着被锁定的 LOCK 文件(Office 仍在运行)会使导出既没有新副本 也没有之前良好的副本。失败现在会被计数并 报告为 INCOMPLETE 且以非零退出,与 macOS 脚本一致。 - 基于唯一配置文件列表驱动复制,而不是按存储循环,这样 唯一存储未通过 origin 名称解析的配置文件会保留其设置。 - 在列表模式下也报告,与 macOS 一致——无参数运行 被宣传为打印其发现的内容。 - .SYNOPSIS/.DESCRIPTION 不再声称仅复制 Claude 的数据。 - 更正 export-data 文档:导出树为可读性重新标记, 不是路径镜像,因此无法逐字复制回去。 已在 Windows 主机上针对 Windows PowerShell 5.1 验证:每个 配置文件复制一次,重新运行时扁平,存在真实 LevelDB 内容,在列表模式下 披露而不写入任何内容。
无版本号
manifest:添加 gateway_auth_source=entra;新增 entra-app.md 注册文档 (#281) * manifest:添加 gateway_auth_source=entra 参数 + Entra 应用注册文档(包括 GCC High) - build-manifest.mjs:识别 gateway_auth_source;要求 entra_scope(→ graph_client_id, entra_sso=1);如果与 gateway_token 搭配则警告;删除过时的 'graph_client_id is Outlook-only' 说明 - manifest.md:新增 'Use the Entra token as your gateway credential' 部分,包含整合的 Entra 应用注册清单(SPA 重定向 URI、Expose an API、管理员同意、v2 令牌、网关侧验证)以及 GCC High/DoD 子部分(portal.azure.us、.us issuer/JWKS) * manifest.md:列出两个 NAA 重定向 URI(brk-multihub + https 回退) 清单仅列出了 https://.../msal-redirect.html SPA 回退。桌面 Office 和 Outlook Web 使用 NAA broker,它要求将 brk-multihub://pivot.claude.ai 注册为 SPA——没有它登录会失败并出现 AADSTS50011。两者都需要:brk-multihub 用于 NAA,https 用于未注入 NAA 桥接的 Excel/Word/PPT Office-Web 回退。还将早先的 'Bring your own Entra app' 说明指向清单,而不是(不完整地)重复。 * 将 Entra 应用注册拆分到 commands/entra-app.md manifest.md 现在记录参数的作用;entra-app.md 记录如何注册应用(重定向 URI、按用例的权限表、管理员同意、令牌版本、后端验证、GCC-High/DoD、故障排除)。从每个需要你自己的应用的 manifest.md 部分链接:graph_client_id、entra_scope、gateway_auth_source、sovereign clouds。
无版本号
添加主权/国家云(GCC-High、DoD、21Vianet)文档和 graph_cloud 验证 (#268) * docs(claude-for-msft-365-install):通过 graph_cloud 枚举支持主权云 Outlook 加载项现在通过单个 graph_cloud manifest 参数(global | us-gov-high | us-gov-dod | china)支持 GCC-High、DoD 和 21Vianet 租户,该参数映射到固定的 Graph + Entra 端点对——无需管理员提供 URL。让安装插件了解它: - commands/manifest.md:按租户的 graph_cloud 表;DoD 必须始终设置它 (与 GCC High 共享 authority host);非全球云需要自带 graph_client_id;该枚举还管理 Word/Excel/PowerPoint Entra SSO。 - scripts/build-manifest.mjs:注册 graph_cloud 并在 无法识别的值或没有 graph_client_id 的非全球云上硬失败, 与加载项的加载时检查保持一致,以便管理员在构建 时看到错误,而不是部署后出现 AADSTS 代码。参数构建提取 到导出的 buildParams() 以便测试。 - scripts/build-manifest.test.mjs:node:test 套件——默认查询字符串 不变,接受所有枚举值,拒绝错误值和已移除的 URL 参数。 - .github/workflows/plugin-validate.yml:在每个 PR 上运行测试套件。 * 删除 manifest 脚本测试——graph_cloud 验证是两个内联检查
无版本号
将 Box 添加到 MCP 集成 (#187) * 将 Box 添加到 MCP 集成 * 将 Box 添加到 mcp.json
无版本号
为所有市场插件条目添加 displayName (#247) * 为所有市场插件条目添加 displayName * 将固定的 Claude Code CLI 升级到 2.1.143 以支持市场 displayName
无版本号
在托管代理部署上标记 metadata.anthropic_cookbook (#245)
无版本号
fix(plugins):添加 SKILL.md frontmatter,修复 hooks.json,去重 spglobal MCP (#243) 市场加载器在同步时拒绝了 20 个插件中的 9 个: - 29 个 vertical-plugin SKILL.md 源没有 YAML frontmatter—— 技能名称/描述作为裸 `description:` 行位于正文中, 在 `# Title` H1 之后。合成了正确的 `--- name/description ---` frontmatter(name = 技能目录,description = 现有正文文本), 与可加载的技能匹配(例如 fund-admin/accrual-schedule)。代理 包通过 scripts/sync-agent-skills.py 重新同步(12 个副本)。 - 4 个 hooks/hooks.json 是 `[]`;加载器要求 JSON 对象。 改为 `{ "hooks": {} }`——investment-banking 已经 使用且同步干净的格式。 - partner-built/spglobal 在 plugin.json 内联和 .mcp.json 中都定义了 `spglobal` MCP 服务器(相同)。删除内联副本; .mcp.json 是规范位置。 scripts/check.py:OK——80 个文件,0 个问题。 Co-authored-by: Jake Marsh
无版本号
fix(ci):plugin-validate 缓存修复 + msft-365 README 更新 (#239) * fix(ci):缓存 claude 二进制目录,而不仅仅是悬空符号链接 ~/.local/bin/claude 是指向 ~/.local/share/claude/versions/ 的符号链接。 仅缓存符号链接会在缓存命中时恢复悬空链接,因此 `claude` 失败并退出 127。也缓存版本化目录并提升 缓存键(-v2)以丢弃损坏的已保存条目。 * docs(claude-for-msft-365-install):添加 update + bootstrap 部分、调试命令行
无版本号
fix(plugins):修复损坏的 hooks.json + 添加 plugin-validate CI (#232) fix(plugins):hooks.json 必须是 {"hooks": {}} 而不是 [];添加 plugin-validate CI private-equity、financial-analysis、 equity-research 和 wealth-management 中的空数组 hooks.json 导致这些插件 加载失败("Hook load failed: expected object, received array")。在全部四个中将 [] 替换为 最小有效的 {"hooks": {}} 对象。 添加 plugin-validate 工作流,在每次 PR 和推送时对市场 manifest 和每个插件运行官方 `claude plugin validate`,以便格式错误的 manifest 在 CI 中失败,而不是到达用户。CLI 从官方二进制渠道安装并缓存,以 固定版本为键,因此热缓存会完全跳过下载。
无版本号
feat(repo):插件版本升级钩子 + CI 兜底;claude-in-office Wef 侧载调试 (#208) * feat(repo):插件版本升级钩子 + CI 兜底,修复安装文档/远程 * docs(claude-in-office):添加 Wef 注册表 + wef-folder 侧载(Windows + macOS)用于本地调试 * ci:使用 actions/checkout@v4 而不是固定 SHA * docs(claude-in-office):将侧载清理限定到特定 manifest,而不是 wef 文件夹 * docs(claude-in-office):将缓存清理限定到带保护的 wef 内容,而不是 rm -rf caches/wef 目录 * docs(claude-in-office):按加载项 Id 定位缓存清理,保持 wef 中的其他加载项不受影响 * feat(claude-in-office):添加 clear-addin-cache 脚本(mac/win),按 ID 定位,默认 dry-run * fix(claude-in-office):Windows 侧载清理基于注册表,ID 优先;直接编辑(不使用 office-addin-dev-settings);记录已部署缓存注意事项 * docs(claude-in-office):澄清按 ID 精准删除本地/侧载 manifest 是安全的;MS 警告仅适用于已部署缓存 * feat(claude-in-office):添加 sideload-addin 脚本(mac/win),由 ID 派生,默认 dry-run;debug.md 指向脚本对 * feat(claude-in-office):侧载直接安装(去掉 dry-run);dry-run 仅保留在破坏性的 clear-addin-cache 上 * docs(claude-in-office):将清除后重启应用设为明确步骤,而不是埋没的一行
无版本号
docs(claude-in-office):澄清 entra_scope——多 scope 支持,更宽松的验证 (#195) 加载项现在接受 entra_scope 为逗号/空白分隔的列表,并且 不再要求 URI 形状的值(Entra 验证 scope 语法,而不是 构建脚本)。更新文档和 build-manifest 验证以匹配: - build-manifest.mjs:entra_scope 模式放宽为任意非空白字符串; graph_client_id 配对检查不变。 - manifest.md:记录多 scope 列表语法和同资源 约束;澄清构建脚本强制执行配对,而不是格式。 - bootstrap.md:注明 scp 是空格分隔的列表,可包含多个 scope。 - debug.md:添加 Silent SSO / Entra 令牌失败故障排除部分 (AADSTS50194、entra_scope-without-graph_client_id、silent-then-popup)。
无版本号
feat(claude-in-office):添加 disabled_features manifest 参数 (#154)
无版本号
docs(claude-in-office):记录 allow_1p manifest 参数 (#153) * docs(claude-in-office):记录 allow_1p manifest 参数 * chore(claude-in-office):将插件版本升级到 0.1.1
无版本号
feat(claude-in-office):Outlook manifest 支持 (#127) build-manifest.mjs 现在接受 host 参数(office | outlook)。 outlook host 获取 manifest-outlook-3p.xml,它使用 Microsoft 的 MailApp schema,无法与 Excel/Word/PowerPoint 使用的 TaskPaneApp manifest 共享文件。 - URL_SLOTS 正则现在为 /g,因此所有三个 Outlook taskpane URL 条目 (FormSettings + V1_0 + V1_1 Resources)都会收到配置参数,而 不仅仅是第一个匹配。 - 新增 graph_client_id 键,适用于自带 Entra 应用用于 Microsoft Graph 而不是同意 Anthropic 的多租户应用的组织。 - 使用 outlook host 的 aws_* 键快速失败:Outlook 目前 不支持 Bedrock。 - consent.md 增加 Outlook Graph 管理员同意 URL(Mail.ReadWrite、 Calendars.Read、People.Read、User.Read、offline_access)以及 自带 Entra 应用的替代方案。 - manifest.md 和 setup.md 记录 host 参数、按 host 的文件 拆分,并引导管理员在生成 Outlook manifest 之前完成同意步骤。
无版本号
重构仓库并添加命名代理 (#81) - 将垂直插件从仓库根目录移动到 plugins/vertical-plugins/,将合作伙伴 插件移动到 plugins/partner-built/ - 在 plugins/agent-plugins/ 下添加 10 个命名的、自包含的代理插件 (Pitch Agent、Market Researcher、Earnings Reviewer、Model Builder、 Meeting Prep、GL Reconciler、Month-End Closer、Statement Auditor、 Valuation Reviewer、KYC Screener)——每个都捆绑自己的技能,因此可以 独立安装 - 添加 managed-agent-cookbooks/(每个代理一个),包含子代理隔离 和用于 /v1/agents 部署的引导示例 - 添加 fund-admin 和 operations 垂直插件,以便 finance-ops/onboarding 代理提供真实的领域技能 - 添加 scripts/(check.py manifest lint、sync-agent-skills.py、 deploy-managed-agent.sh、orchestrate.py 参考循环、 test-cookbooks.sh) - 添加 .github/workflows/secret-scan.yml(gitleaks + 内部引用 grep) - 将代理工具授权收紧为仅声明的 MCP——任何代理中都没有 Bash、WebFetch 或未声明的 mcp__* 引用 - 向 README 添加 not-investment-advice 免责声明 - 将 claude-in-office 重命名为 claude-for-msft-365-install(内容 不变)
无版本号
feat(claude-in-office):添加 entra_scope manifest 参数用于访问令牌引导认证 (#79) * feat(claude-in-office):添加 entra_scope manifest 参数用于访问令牌引导认证 * docs(claude-in-office):注明 entra_scope 资源应用的 accessTokenAcceptedVersion
无版本号
docs(claude-in-office):记录用于 BYO Entra 应用的 graph_client_id manifest 参数 (#78)
无版本号
docs(claude-in-office):记录 otlp_resource_attributes 配置键 (#73) 将新的 `otlp_resource_attributes` 键(逗号分隔的 k=v,格式与 OTEL_RESOURCE_ATTRIBUTES 相同)添加到: - build-manifest.mjs KEYS 验证器 - manifest.md / bootstrap.md 遥测部分 - update-user-attrs.md 键表 与 anthropics/office-agent OA-336 配对。
无版本号
feat(manifest):添加 inference_headers 配置键 (#68) 加载项附加到其发送到已配置网关的每个请求的额外 HTTP 头的 JSON 对象。让企业网关无需在前面放置注入头的代理即可接收 会计或路由标签。 - build-manifest.mjs:KEYS 验证器条目 - manifest.md / bootstrap.md / update-user-attrs.md:用 示例和保留头列表记录
无版本号
fix(manifest):不区分大小写地接受 gateway_auth_header 和 gateway_api_format (#65)

暂无评论

none
暂无评论...