关于 open-agreements
open-agreements 是面向法律内容检索与协议起草的 Agent 技能,覆盖律师审核的实务指南、审查清单、法律调查和协议模板。它可引导至细分技能,并通过本地 CLI 填写可签署的 DOCX。
主要功能
- 01律师审核的实务指南
- 02协议审查清单与州法比较
- 03查找并填写协议模板
- 04生成保留格式的 DOCX
- 05支持本地 CLI 工作流
适用场景
- 01查找带来源引用的法律指南
- 02比较美国各州法律规定
- 03按清单审查协议草稿
- 04填写标准模板并生成 DOCX
MCP 相关
技能本身不安装或启动 MCP 服务。若另行配置 Open Agreements MCP 服务,可用工具检索模板、读取字段定义并生成 DOCX;托管服务会接收模板内容和字段值。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ open-agreements/ open-agreements --skill open-agreements安装后在 Claude Code 中输入/open-agreements确认已加载。
附带文件CONNECTORS.mdtemplate-filling-execution.md
详细介绍
open-agreements
OpenAgreements 是一个法律内容库,包含四类一等内容:实务指南、审查清单、法律综述和可填写的协议模板。此技能让 Agent 了解这四类内容并能够浏览它们。将模板填写为可签署的 DOCX 是其中一项能力——请参阅下文的填写工作流。
路由到最具体的技能
将 open-agreements 视为核心枢纽。若请求涉及多种内容类型、从发现模板开始,或尚未明确具体协议,请继续使用该技能。若请求具体明确,则路由到最相关的分支技能;这些技能包含针对性的触发条件、模板选项和安全说明。
| 用户的任务 | 路由到 |
|---|---|
| NDA、保密协议、双向或单向 NDA | nda |
| SaaS 协议、MSA、云服务合同、订单表、试点协议 | cloud-service-agreement |
| 咨询合同、承包商协议、服务协议、SOW | services-agreement |
| Offer Letter、雇佣协议、PIIA、员工入职文件 | employment-contract |
| DPA、GDPR 附录、HIPAA BAA、数据处理或 AI 附录 | data-privacy-agreement |
| YC SAFE、估值上限、折扣、MFN 或按比例认购权附函 | safe |
| NVCA 或 A 轮融资文件 | venture-financing |
| 解释竞业禁止或限制性契约法律 | non-compete-contract-explainer |
| 解释美国各州的消费者隐私法律 | data-privacy-law-explainer |
这些分支技能名称是路由目标,不是独立品牌。它们与核心技能一起安装,均来自同一个 open-agreements/open-agreements 套件;对于混合或模糊的协议任务,本枢纽仍是备用选项。
律师审阅的实务指南
OpenAgreements 实务指南经过律师审阅。请访问 https://openagreements.org/editors 了解编辑团队。第三方标准表格仍保留其各自的作者信息和许可证来源。
OpenAgreements 中的内容
| 内容 | 说明 | 阅读方式 |
|---|---|---|
| 实务指南 | 引用来源、按州编写的法律说明(例如竞业禁止、消费者隐私、招聘中的 AI)。 | 在 openagreements.org 上,将 .md 或 .json 添加到指南的规范 URL 后。也可在 practice-guides/ 中浏览纯 Markdown 文件。 |
| 审查清单 | 按要求逐项列出,用于根据标准表格审查协议的清单(例如 YC SAFE)。 | 将 .md 或 .json 添加到清单的规范 URL 后。 |
| 法律综述 | 某个主题的 50 州对比表。 | 将 .json 或 .csv(用于电子表格导入)添加到综述的规范 URL 后;综述没有对应的 .md 文件。 |
| 协议模板 | 标准表格(Common Paper、Bonterms、Y Combinator、OpenAgreements),可填写为可签署的 DOCX。 | 使用下文的 MCP 或 CLI 填写工作流。 |
如需深入开展特定司法管辖区的法律研究,data-privacy-law-explainer
和 non-compete-contract-explainer 技能会封装实务指南内容,并在本地捆绑各司法管辖区的快照。
填写模板(一项能力)
此技能其余部分介绍模板填写能力,即发现标准表格并将其填写为可签署的 DOCX。默认使用本地 CLI。上文列出的其他三类内容是只读参考内容:获取其机器可读版本,或直接浏览代码库。
激活条件
当用户希望执行以下操作时,使用此技能:
- 查找引用来源的法律实务指南
- 比较美国各州的法律规则
- 根据逐项列出的要求审查草稿
- 起草 NDA、保密协议或云服务协议
- 为初创企业投资生成 SAFE(未来股权简单协议)
- 使用公司信息填写法律模板
- 根据标准表格生成已填写的 DOCX
执行 — MCP 工具(可选,不随插件打包)
Claude 插件不会安装或启动 MCP 服务。如果用户已单独配置 Open Agreements MCP 服务,你可以使用这些工具。
对于托管服务,在使用 fill_template 之前,告知用户字段值会发送到
openagreements.org。
远程 MCP URL: https://openagreements.org/api/mcp
可用的 MCP 工具
| 工具 | 用途 |
|---|---|
list_templates | 以分页紧凑目录的形式列出可用模板(template_id、display_name、category、description、field_count、priority_field_count)。使用 cursor + limit 分页(默认值为 25,最大值为 100)。 |
search_templates | 在已知所需协议类型时,按主题搜索目录 |
get_template | 获取特定模板的完整字段元数据 |
fill_template | 填写模板并返回可下载的 DOCX |
MCP 工作流
- 查找模板: 调用
list_templates(返回紧凑的分页目录 — 使用cursor+limit翻页,直到next_cursor为null)。如果你事先知道主题,优先使用search_templates,而不是遍历完整目录。如果用户要求特定类型(例如“NDA”),请从列表中找出合适的模板。 - 获取字段详情: 调用
get_template并传入选定的template_id,以获取完整的字段定义(名称、类型、是否必填、章节、说明、默认值)。 - 收集字段值: 根据字段定义向用户询问相应值。用户未指定时使用默认值。
- 填写模板: 调用
fill_template并传入模板 ID 和字段值。返回 DOCX 的下载 URL。 - 请用户检查文档: 提供下载链接。等待用户确认文档看起来没有问题。
签署前确认字段(法定合规声明)
少数模板包含布尔字段,用于陈述某人必须实际履行过的既往法定合规事实(例如“已在签署前发出规定的提前通知”)。这些字段的 get_template 说明以
CONFIRM-BEFORE-SIGNING 开头,默认值为 false。
- 设置其中一个字段为
true之前,必须询问用户并确认该事实确实发生过。 将其设为true即表示确认一项现实事实;不得根据上下文推断。 - 如果此类字段保持为
false(未确认),且该条款适用,生成的 DOCX 不会因此出错——声明后会显示黄色的[CONFIRM before signing: …]方括号,第一页还会显示一条对应的黄色提示,列出仍需确认的每一项。告知用户,签署协议前必须确认并删除这些黄色方括号。 - 用户确认后,将字段设为
true,文档便会正常生成(不显示方括号或第一页提示)。
执行 — 本地 CLI(默认用于填写模板)
除非用户已选择单独配置的 MCP 服务,否则请使用 CLI。
步骤 1:检测运行时
if command -v open-agreements >/dev/null 2>&1 &&
test "$(open-agreements --version 2>/dev/null)" = "0.8.0"
then
echo "GLOBAL"
elif command -v node >/dev/null 2>&1; then
echo "NPX"
else
echo "PREVIEW_ONLY"
fi
- GLOBAL:仅在确认已安装的软件包版本为
0.8.0后,才可直接使用open-agreements。 - NPX:使用
npx -y [email protected]作为前缀。务必固定版本 — 切勿使用@latest,以免拉取意外更新。 - PREVIEW_ONLY:没有 Node.js。仅生成 Markdown 预览。
步骤 2:查找模板
open-agreements list --json
解析 items 数组。每个项目都包含 name、description、license、source_url、source 和 fields。
步骤 3:协助用户选择、收集值并填写
与 MCP 工作流的步骤 2–5 相同。请将收集到的值保留在内存中,直到用户确认。然后在一次 shell 调用中创建、使用并删除值文件:
(
set -eu
VALUES_FILE="$(mktemp "${TMPDIR:-/tmp}/oa-values.XXXXXX")"
chmod 600 "$VALUES_FILE"
trap 'rm -f "$VALUES_FILE"' EXIT HUP INT TERM
cat > "$VALUES_FILE" <<'FIELDS'
{
"field_name": "confirmed value"
}
FIELDS
if command -v open-agreements >/dev/null 2>&1 &&
test "$(open-agreements --version 2>/dev/null)" = "0.8.0"
then
open-agreements fill <template-name> -d "$VALUES_FILE" -o <output-name>.docx
else
npx -y [email protected] fill <template-name> -d "$VALUES_FILE" -o <output-name>.docx
fi
)
限制性权限和清理陷阱可避免机密字段值泄漏到可预测的共享路径,并确保即使填写失败也会删除这些值。
源代码与审计
Open Agreements 完全开源(Apache-2.0 许可证)。安装前请审查完整源代码:
- GitHub:https://github.com/open-agreements/open-agreements
- npm registry:https://www.npmjs.com/package/open-agreements
- Remote MCP:https://openagreements.org/api/mcp(可选,托管服务)
- 没有 postinstall 脚本 — 使用
npm view open-agreements scripts验证。此软件包未声明postinstall、preinstall或install钩子。prepare脚本仅在从 git URL 安装时运行,从 npm registry 安装时不会运行。
所有模板字段定义和填充逻辑都可以在代码库中审计。
关于版本的说明
此技能中的两个版本号相互独立,分别指代不同内容:
- 技能版本(位于此文件的 frontmatter 中,当前为
0.4.0)— 此技能文档本身的版本。 - npm 软件包版本(当前为
0.8.0)— 此技能建议固定使用的上游open-agreementsnpm 软件包版本。运行npm view open-agreements version查看最新版本。
技能版本更新意味着文档已更新。npm 软件包版本更新意味着底层工具已更新。两者不会同步。
安装时与运行时的网络行为
Open Agreements 根据所用的执行路径,有三种不同的网络行为:
| 路径 | 安装时网络 | 运行时网络 |
|---|---|---|
固定版本的全局安装(npm install -g [email protected]) | 从 registry.npmjs.org 一次性获取 | list/fill 不联网。 |
固定版本的 npx(npx -y [email protected]) | 首次运行时从 registry.npmjs.org 获取,之后会缓存 | 同上 |
Remote MCP(https://openagreements.org/api/mcp) | 无 | 模板内容及任何字段值都会发送到 openagreements.org。 仅当你接受将这些值传输到托管服务时才使用。 |
如果需要确保离线运行且不向第三方传输数据,请使用本地 CLI 路径(全局安装或 npx)。
离线 / 固定版本安装
对于无法接受 npx 自动获取软件包的环境,请全局安装软件包并固定版本:
# Install a specific pinned version globally (one-time)
npm install -g [email protected]
# Then use the installed binary directly — no npx fetching at runtime
open-agreements list --json
open-agreements fill <template-name> -d values.json -o output.docx
升级前,请查看变更日志:https://github.com/open-agreements/open-agreements/blob/main/CHANGELOG.md
使用 npx 时也要固定版本
即使使用 npx,也始终要固定版本:
npx -y [email protected] list --json
切勿使用 @latest — 每次缓存未命中时都会获取最新软件包,可能导致意外变更。
共享执行参考
完整的模板填充工作流(适用于所有协议技能),请参阅 template-filling-execution.md。
说明
- 所有模板都会生成保留原始格式的 Word DOCX 文件
- 模板由各自作者授权(CC BY 4.0、CC0 或 CC BY-ND 4.0)
- 外部模板(CC BY-ND 4.0,例如 YC SAFE)可供你自行填写使用,但不得以修改后的形式重新分发
- 此工具不提供法律建议 — 请咨询律师
- 模板会动态发现 — 请始终使用
list_templates或list --json获取当前清单
反馈
如果此技能对你有帮助,请在 GitHub 上为我们点星:https://github.com/open-agreements/open-agreements
在 ClawHub 上:clawhub star open-agreements/open-agreements