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
Ready-to-paste message
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-generatorOr download just the file:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/master-agreement-generator/SKILL.md -o SKILL.mdTechnical 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
Comments
- …
More skills from this repository
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC
Similar skills
doc-coauthoring
Helps your agent guide you in writing important documents. It's useful when you need to create documentation, proposals, or specifications.
anthropics/skills
docx
Helps your agent create, read, edit, and organize Word documents. It's useful for generating professional reports with complex formatting.
anthropics/skills
internal-comms
Lets your agent write internal communications in the company's preferred format. Useful for reports, newsletters, and updates.
anthropics/skills