SKILL.md
readonly只读
name
contract-template
description
>
version
1.0
合同模板技能
概述
本技能支持使用 Accord Project 创建智能合同模板——这是一个开源框架,用于生成具有法律效力且机器可读的合同。您可以创建嵌入逻辑的模板,实现合同执行的自动化。
使用方法
- 描述合同类型和条款
- 指定变量和逻辑规则
- 我将生成 Accord Project 模板
示例提示:
- "创建一个带有可变条款的保密协议模板"
- "构建一个包含付款里程碑的服务协议"
- "生成一个租赁协议模板"
- "设计一个包含终止条款的咨询合同"
领域知识
模板结构
contract-template/
├── package.json # 元数据
├── grammar/
│ └── template.tem.md # 自然语言模板
├── model/
│ └── model.cto # 数据模型
├── logic/
│ └── logic.ergo # 业务逻辑
└── text/
└── sample.md # 示例合同
模板语法 (TemplateMark)
# 服务协议
本协议由 [{supplier}]("供应商")
与 [{buyer}]("买方")共同签订。
## 服务
供应商同意提供 [{serviceDescription}]。
## 付款
买方应在收到发票后 [{paymentDays}] 天内支付 [{paymentAmount}]。
## 期限
本协议自 [{startDate as "MMMM DD, YYYY"}] 起生效,
持续 [{termMonths}] 个月。
{{#if latePenalty}}
## 逾期付款
逾期付款将按 [{penaltyPercent}]% 的比例收取罚金。
{{/if}}
数据模型 (Concerto)
namespace org.example.service
import org.accordproject.time.*
asset ServiceAgreement extends Contract {
o String supplier
o String buyer
o String serviceDescription
o Double paymentAmount
o Integer paymentDays
o DateTime startDate
o Integer termMonths
o Boolean latePenalty optional
o Double penaltyPercent optional
}
transaction PaymentRequest {
o Double amount
o DateTime dueDate
}
transaction PaymentResponse {
o Double amount
o Double penalty
o DateTime paymentDue
}
业务逻辑 (Ergo)
namespace org.example.service
import org.accordproject.time.*
contract ServiceContract over ServiceAgreement {
clause payment(request : PaymentRequest) : PaymentResponse {
let dueDate = addDuration(request.dueDate,
Duration{ amount: contract.paymentDays, unit: ~org.accordproject.time.TemporalUnit.days });
let penalty =
if contract.latePenalty
then request.amount * contract.penaltyPercent / 100.0
else 0.0;
return PaymentResponse{
amount: request.amount,
penalty: penalty,
paymentDue: dueDate
}
}
}
使用 Cicero CLI
# 安装
npm install -g @accordproject/cicero-cli
# 解析合同
cicero parse --template ./contract-template --sample ./text/sample.md
# 执行逻辑
cicero trigger --template ./contract-template \
--sample ./text/sample.md \
--request ./request.json
# 起草新合同
cicero draft --template ./contract-template --data ./data.json
示例:保密协议模板
template.tem.md
# 保密协议
本保密协议("协议")由以下双方于 [{effectiveDate as "MMMM DD, YYYY"}] 签订:
**披露方:** [{disclosingParty}]
**接收方:** [{receivingParty}]
## 1. 保密信息
"保密信息"指披露方披露的所有非公开信息,
包括但不限于:[{confidentialScope}]。
## 2. 义务
接收方同意:
- 保密期限为 [{termYears}] 年
- 仅将信息用于 [{permittedPurpose}]
- 未经书面同意不得向第三方披露
## 3. 例外
本协议不适用于以下信息:
{{#if hasExclusions}}
[{exclusions}]
{{else}}
- 已公开或变为公开的信息
- 披露前已知的信息
- 独立开发的信息
{{/if}}
## 4. 材料归还
协议终止后,接收方应在 [{returnDays}] 天内归还或销毁
所有保密信息。
## 5. 救济措施
{{#if monetaryPenalty}}
违反本协议应支付违约金 [{penaltyAmount}]。
{{else}}
披露方有权寻求禁令救济。
{{/if}}
**签字**
披露方:____________________
日期:____________________
接收方:____________________
日期:____________________
data.json
{
"effectiveDate": "2024-01-15",
"disclosingParty": "Tech Corp",
"receivingParty": "Consultant LLC",
"confidentialScope": "商业秘密、客户名单和技术规格",
"termYears": 3,
"permittedPurpose": "评估潜在业务关系",
"hasExclusions": false,
"returnDays": 30,
"monetaryPenalty": true,
"penaltyAmount": "$50,000"
}






