Contract Template

by claude-office-skills9c4c7d5cd281MIT499 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 8 months ago

>

AI-generated overview

Generates Accord Project contract templates with embedded variables, data models and business logic.

What it does
This skill produces machine-readable contract templates in the Accord Project format, including natural-language template text, a Concerto data model and Ergo business logic. It covers contract types such as NDAs, service agreements, rental agreements and consulting contracts, with variable terms and conditional clauses. It also documents Cicero CLI commands for parsing, triggering and drafting contracts.
When to use it
Use it when you need a reusable contract template with parameterized terms and automated clause logic. It suits legal or administrative drafting tasks such as NDAs, service agreements or rental agreements that must be filled from structured data.
Requirements
Requires the office-mcp MCP server with the create_docx and fill_docx_template tools. The documented Cicero CLI workflow needs Node.js and the @accordproject/cicero-cli package installed globally. No scripts ship with the skill.

Contract Template Skill

Overview

This skill enables creation of smart contract templates using Accord Project - an open-source framework for legally enforceable, machine-readable contracts. Create templates with embedded logic that can automate contract execution.

How to Use

  1. Describe the contract type and terms
  2. Specify variables and logic rules
  3. I'll generate Accord Project template

Example prompts:

  • "Create an NDA template with variable terms"
  • "Build a service agreement with payment milestones"
  • "Generate a rental agreement template"
  • "Design a consulting contract with termination clauses"

Domain Knowledge

Template Structure

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

Template Syntax (TemplateMark)

markdown
# Service Agreement
This Agreement is made between [{supplier}] ("Supplier") and [{buyer}] ("Buyer").
## ServicesThe Supplier agrees to provide [{serviceDescription}].
## PaymentThe Buyer shall pay [{paymentAmount}] within [{paymentDays}] days of invoice.
## TermThis Agreement begins on [{startDate as "MMMM DD, YYYY"}] and continues for [{termMonths}] months.
{{#if latePenalty}}## Late PaymentA penalty of [{penaltyPercent}]% applies to late payments.{{/if}}

Data Model (Concerto)

cto
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}

Business Logic (Ergo)

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    }  }}

Using Cicero CLI

bash
# Installnpm install -g @accordproject/cicero-cli
# Parse contractcicero parse --template ./contract-template --sample ./text/sample.md
# Execute logiccicero trigger --template ./contract-template \  --sample ./text/sample.md \  --request ./request.json
# Draft new contractcicero draft --template ./contract-template --data ./data.json

Example: NDA Template

template.tem.md

markdown
# 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

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"}

Resources

Source and attribution

Source:claude-office-skills/skillsincontract-templateat commit9c4c7d5

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal