Contract Template
Creates Accord Project contract templates using TemplateMark markdown with variables and conditional
by claude-office-skills · MIT
The skill
Creates Accord Project contract templates using TemplateMark markdown with variables and conditionals, Concerto data models (.cto), and Ergo business logic (.ergo), and runs them through the Cicero CLI to parse, trigger, and draft contracts. Use when the user wants a legally enforceable or machine-readable contract template, such as an NDA, service agreement, rental agreement, or consulting contract with variable terms, payment logic, or termination clauses.
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
- Describe the contract type and terms
- Specify variables and logic rules
- 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)
# 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}}
Data Model (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
}
Business Logic (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
# 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
Example: NDA Template
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"
}
Resources
Use this skill
Connect your agent to the Skill Store MCP server and ask for it by ref: claude-office-skills/contract-template-52001839475.
Details
- Publisher
- claude-office-skills
- Category
- Legal › Contracts & agreements
- License
- MIT
- Updated
- 2026-01-31
References
More from claude-office-skills
- Skill Name A clear, concise description of what this skill does (1-2 sentences).
- Academic Search Search and analyze academic literature.
- Ads Copywriter Multi-platform ad copy generation for Google Ads, Meta/Facebook, TikTok, LinkedIn with A/B testin…
- Ai Agent Builder Build AI agents with tools, memory, and multi-step reasoning - ChatGPT, Claude, Gemini integratio…