contract-template

>

INSTALLATION
npx skills add https://github.com/claude-office-skills/skills --skill contract-template
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card