Skip to content
Skillpedia
Writing280k · #233

master-agreement-generator

Helps your agent create draft contracts. It uses a template and specific information to generate the contract text. It's useful for quickly and consistently creating legal documents.

What it does

This generator creates draft standardized master agreements. It uses a main template and partner-specific information to consistently produce documents.

When to use it

  • ✓Need to create multiple similar contracts with few differences.
  • ✓Want to ensure contracts are always generated the same way.
  • ✓Require documents that can be easily compared and have no manual edits.

Example of what to ask your AI

“Generate a master agreement draft for XYZ company using the standard template and provided specifications.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/affaan-m/ECC/blob/main/skills/master-agreement-generator/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/affaan-m/ECC/blob/main/skills/master-agreement-generator/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

You provide a contract template with fields to fill and a file with specific partner data. The tool fills these fields and generates the final document.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add affaan-m/ECC --skill master-agreement-generator

Or download just the file:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/master-agreement-generator/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Master Agreement Generator

One master template, one small spec per counterparty, one draft build step. The generator always labels output DRAFT, including documents generated from a completed template. A successful conversion proves artifact generation, not legal completeness, authority to contract, or readiness to send or sign. An executed agreement may permit designated opportunities to be added by notice; that authority must be established before using the Schedule A workflow.

When to Use

  • You issue a framework agreement (NDA, referral or sourcing fee, non-circumvention, master services) to many counterparties with the same terms and a few party-specific fields.
  • Deals are added over time and re-papering each one is the bottleneck.
  • Documents must be reproducible from tracked source, diffable, and free of hand edits.
  • Signature fields are placed by automation and need a stable page layout.

How It Works

Template

A single markdown template with {{PLACEHOLDER}} fields. Every party-specific value is a placeholder; everything else is fixed text. A skeleton lives at references/master-template.example.md. Replace its generic sentences with your counsel-approved clauses.

Placeholders the reference script fills:

Placeholder Source
{{DATE}} spec.date, default today
{{CP_SHORT}} spec.short
{{CP_LEGAL}}, {{CP_JURIS}}, {{CP_ADDR}} spec fields, or a blank line when the counterparty completes them at signing
{{ROLE_CLAUSE}}, {{FEE_TITLE}}, {{FEE_CLAUSE}} selected by spec.role from the role table
{{SCHEDULE_ROWS}} spec.schedule, or one "no entries at signing" row
{{SUPPLEMENT_CLAUSE}} spec.supplement, rendered with a trailing separator or empty
{{CP_SIGBLOCK}}, {{CP_SIGNER}}, {{CP_TITLE}}, {{CP_EMAIL}} signature block fields, blanks when unknown

Spec

One JSON file per counterparty:

{
  "file": "AcmeSupplier",
  "short": "Acme",
  "role": "supplier",
  "legal": "Acme Compute Ltd",
  "juris": "England and Wales company",
  "addr": "1 Example Street, London",
  "signer": "A. Person",
  "title": "Director",
  "email": "signer@example.com",
  "schedule": [["1", "2026-09-01", "Lot A (16 nodes)", "introducer", "12 months", "standard"]],
  "supplement": "the Data Processing Addendum dated 2026-09-01"
}

Only file, short, and role are required for a draft. Missing signature fields render as blank lines for review and completion. See references/spec.example.json.

file must be a nonempty portable filename, such as AcmeSupplier or Acme Supplier, without directory components. The builder rejects either path separator, drive/UNC syntax, control characters, Windows-reserved punctuation or device names, and trailing dots or spaces. Invalid names are rejected without sanitizing or renaming them, before creating output or invoking pandoc.

Omit schedule or use [] for the “no entries at signing” placeholder. A supplied schedule must otherwise be a dense array of six-cell arrays, in this order: number, date, protected counterparty or lot, role, terms, fee. Each cell must be a valid Unicode string or finite number; empty strings are allowed for intentional blanks. Nulls, booleans, objects, nested cell arrays, missing cells and non-finite numbers are rejected with a row/cell index before any artifact write or pandoc activity. Unpaired UTF-16 surrogates are also rejected rather than replaced during UTF-8 output; valid supplementary characters, such as emoji, remain supported.

Cells are plain text, not Markdown or HTML. The builder encodes syntax characters so literal pipes, backslashes, backticks and markup stay in their original fields. Each CRLF, bare CR or LF becomes a space; text around line breaks is retained. Other whitespace and literal punctuation are preserved in the rendered cells. The source spec is not modified. An ordinary valid schedule retains its six columns; malformed input is never silently replaced with an empty schedule.

Role table

spec.role selects three strings: the standing-arrangement clause, the fee section title, and the fee clause opener.

Role Who pays Shape of the clause
buyer The counterparty pays on transactions with introduced parties Counterparty appoints us on a non-exclusive basis to source and introduce

…

FAQ

What is a 'master agreement'?

It's a primary contract that sets the general terms for multiple transactions or agreements with a partner, allowing for specific customizations for each situation.

What is a 'spec'?

It's a file (usually JSON) containing specific partner or deal information, like names, addresses, and date details, to fill into the contract template.

Is the generated document a final contract?

No, the generated document is a draft labeled 'DRAFT'. It proves the document was created but doesn't guarantee it's complete, legally valid, or ready for signature.

Details

Original description by the author

Generate review drafts of counterparty master agreements from one template plus a JSON spec, with role-selected clauses and a Schedule A workflow limited to the executed agreement's notice authority. Use when you need reproducible drafting and separately reviewed execution preparation.

repo: affaan-m/ECC

Popularity

GitHub stars
280k
Ranking position
#233
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills