mcpField
C
contract-template

contract-template

github.com/claude-office-skillsドキュメント5455.1k 回インストール39 週間前に更新
リポジトリ

contract-template について

contract-template は、Accord Project のスマートコントラクトテンプレートを作成するスキルです。自然言語の条項、データモデル、ビジネスロジックを組み合わせ、実行可能なロジックを含む契約の作成を支援します。

主な機能

  1. 01Accord Project の契約テンプレート生成
  2. 02TemplateMark による自然言語テンプレート作成
  3. 03Concerto データモデルの定義
  4. 04Ergo ビジネスロジックの追加
  5. 05Cicero によるテンプレート解析と実行

活用シーン

  1. 01可変条項を含む NDA の作成
  2. 02支払いマイルストーン付きサービス契約の作成
  3. 03賃貸契約やコンサルティング契約のテンプレート生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/claude-office-skills/skills --skill contract-template

インストール後、Claude Code で/contract-templateを入力して読み込まれたか確認します。

詳細

契約書テンプレートスキル

概要

このスキルでは、法的拘束力があり、機械で読み取り可能な契約書を作成するためのオープンソースフレームワークである Accord Project を使用して、スマートコントラクトのテンプレートを作成できます。埋め込みロジックを含むテンプレートを作成し、契約の履行を自動化できます。

使用方法

  1. 契約の種類と条件を説明します
  2. 変数とロジックルールを指定します
  3. Accord Project のテンプレートを生成します

プロンプトの例:

  • 「可変条件を含む NDA テンプレートを作成してください」
  • 「支払いマイルストーンを含むサービス契約を作成してください」
  • 「賃貸契約テンプレートを生成してください」
  • 「解除条項を含むコンサルティング契約を設計してください」

ドメイン知識

テンプレートの構造
contract-template/
├── package.json           # Metadata
├── grammar/
│   └── template.tem.md    # Natural language template
├── model/
│   └── model.cto          # Data model
├── logic/
│   └── logic.ergo         # Business logic
└── text/
    └── sample.md          # Sample contract
テンプレート構文(TemplateMark)
# Service Agreement

This Agreement is made between [{supplier}] ("Supplier") 
and [{buyer}] ("Buyer").

## Services
The Supplier agrees to provide [{serviceDescription}].

## Payment
The Buyer shall pay [{paymentAmount}] within 
[{paymentDays}] days of invoice.

## Term
This Agreement begins on [{startDate as "MMMM DD, YYYY"}] 
and continues for [{termMonths}] months.

{{#if latePenalty}}
## Late Payment
A penalty of [{penaltyPercent}]% applies to late payments.
{{/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 の使用方法
# Install
npm install -g @accordproject/cicero-cli

# Parse contract
cicero parse --template ./contract-template --sample ./text/sample.md

# Execute logic
cicero trigger --template ./contract-template \
  --sample ./text/sample.md \
  --request ./request.json

# Draft new contract
cicero draft --template ./contract-template --data ./data.json

例:NDA テンプレート

template.tem.md
# Non-Disclosure Agreement

This Non-Disclosure Agreement ("Agreement") is entered into 
as of [{effectiveDate as "MMMM DD, YYYY"}] by and between:

**Disclosing Party:** [{disclosingParty}]
**Receiving Party:** [{receivingParty}]

## 1. Confidential Information

"Confidential Information" means all non-public information 
disclosed by the Disclosing Party, including but not limited to:
[{confidentialScope}].

## 2. Obligations

The Receiving Party agrees to:
- Maintain confidentiality for [{termYears}] years
- Use information only for [{permittedPurpose}]
- Not disclose to third parties without written consent

## 3. Exclusions

This Agreement does not apply to information that:
{{#if hasExclusions}}
[{exclusions}]
{{else}}
- Is or becomes publicly available
- Was known prior to disclosure
- Is independently developed
{{/if}}

## 4. Return of Materials

Upon termination, the Receiving Party shall return or destroy 
all Confidential Information within [{returnDays}] days.

## 5. Remedies

{{#if monetaryPenalty}}
Breach of this Agreement shall result in liquidated damages 
of [{penaltyAmount}].
{{else}}
The Disclosing Party shall be entitled to seek injunctive relief.
{{/if}}

**SIGNATURES**

Disclosing Party: ____________________
Date: ____________________

Receiving Party: ____________________
Date: ____________________
data.json
{
  "effectiveDate": "2024-01-15",
  "disclosingParty": "Tech Corp",
  "receivingParty": "Consultant LLC",
  "confidentialScope": "trade secrets, customer lists, and technical specifications",
  "termYears": 3,
  "permittedPurpose": "evaluating a potential business relationship",
  "hasExclusions": false,
  "returnDays": 30,
  "monetaryPenalty": true,
  "penaltyAmount": "$50,000"
}

リソース

コメント