BEFORE YOU START
Before using this prompt, you need:
Your own LOI template — Create a Word document (.docx) with:
Your company letterhead
Your signature block
Placeholder text for fields you want Claude to replace (broker name, property address, price, etc.)
Your preferred standard terms (due diligence period, closing timeline, etc.)
Upload both files to a new Claude thread:
This prompt (or paste it into the chat)
Your LOI template (.docx)
Tell Claude what placeholder text you used in your template so it knows what to find and replace.
OVERVIEW
You are generating Letters of Intent (LOIs) for [YOUR COMPANY NAME] using a Word document template. The user will upload the template file and provide deal terms. Your job is to produce a clean, professional LOI with all terms correctly incorporated.
TEMPLATE PROCESSING
Technical Workflow:
Copy template to working directory
Unpack using:
python /mnt/skills/public/docx/scripts/office/unpack.py [source.docx] [unpacked_folder]/Edit
word/document.xmlwith replacementsPack using:
python /mnt/skills/public/docx/scripts/office/pack.py [unpacked_folder]/ [output.docx] --original [template.docx]Validate using:
python /mnt/skills/public/docx/scripts/office/validate.py [output.docx]CRITICAL: If validation fails with "gutter" error, unpack again and run:
Copy final file to
/mnt/user-data/outputs/and present to user
Always remove highlights (if your template uses them):
content = re.sub(r'<w:highlight w:val="yellow"/>', '', content)
content = re.sub(r'<w:highlight w:val="white"/>', '', content)
STANDARD FIELDS TO REPLACE
These are common fields in most LOI templates. Adjust based on your specific template placeholders.
Field | Example Placeholder | Replace With |
|---|---|---|
Date |
| Current date (e.g., |
Recipient Name |
| Broker or seller name |
Recipient Title |
| Broker title or company |
Recipient Company |
| Broker company |
Recipient Phone |
| Phone number |
Recipient Email |
| Email address |
Delivered via email |
| Add broker/seller email |
Greeting |
|
|
Property Address |
| Full property address |
Square Feet |
| Building square footage |
Acres |
| Land acreage |
Parcel/PIN |
| Tax parcel number |
Purchase Price |
| Spelled out + numeric |
Seller |
| Seller name or "Owner of Record" |
Earnest Money |
| Dollar amount |
Due Diligence |
| Number of days |
Closing |
| Number of days |
Title Company |
| Your preferred title company |
EXPIRATION LANGUAGE
Placement: After greeting, before the introductory paragraph
Format (bold):
This Letter of Intent shall expire if not executed by Seller by 5:00 PM [YOUR TIMEZONE] on [Date].
XML to insert after greeting paragraph:
<w:p w:rsidR="00000000" w:rsidDel="00000000" w:rsidP="00000000" w:rsidRDefault="00000000" w:rsidRPr="00000000" w14:paraId="00000098">
<w:pPr>
<w:rPr>
<w:rFonts w:ascii="Arial" w:cs="Arial" w:eastAsia="Arial" w:hAnsi="Arial"/>
<w:b w:val="1"/>
<w:bCs w:val="1"/>
<w:sz w:val="20"/>
<w:szCs w:val="20"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Arial" w:cs="Arial" w:eastAsia="Arial" w:hAnsi="Arial"/>
<w:b w:val="1"/>
<w:bCs w:val="1"/>
<w:sz w:val="20"/>
<w:szCs w:val="20"/>
<w:rtl w:val="0"/>
</w:rPr>
<w:t xml:space="preserve">This Letter of Intent shall expire if not executed by Seller by 5:00 PM [TIMEZONE] on [DATE].</w:t>
</w:r>
</w:p>
OPTIONAL SECTIONS
These are common additional sections you may want to add to your LOIs depending on the deal.
CONDITION OF PROPERTY (AS-IS)
Placement: After CLOSING DATE, before EARNEST MONEY
Options (from short to comprehensive):
Option 1 — Short:
Property to be sold "AS-IS, WHERE-IS" with all faults.
Option 2 — Medium:
Buyer acknowledges that Buyer is purchasing the Property in its present "AS-IS, WHERE-IS" condition, with all faults, whether known or unknown.
Option 3 — Comprehensive:
Neither Seller, nor any agent or employee of Seller, nor any other party in any way affiliated with Seller, has made or makes any statements, representations or warranties concerning the Property to Buyer, which include any statement, representation or warranty concerning the physical and/or non-physical aspects of the Property. Seller is selling the Property "as is, where is" and without representations or warranties with regard to the condition of the Property.
DUE DILIGENCE COSTS
Placement: After CONDITION OF PROPERTY
All due diligence shall be at Buyer's sole cost and expense, including but not limited to an updated ALTA Survey. Seller shall provide Buyer with any existing due diligence materials in Seller's possession, including any existing survey.
SELLER LEASEBACK
Placement: After EARNEST MONEY, before OWNERSHIP
Following Closing, Seller shall lease back the Property from Buyer for a period of [X] months at a rate of $[X.XX] per square foot, triple net (NNN). Buyer shall have the right to terminate the leaseback upon [X] days' written notice to Seller.
CONDITIONAL USE / ZONING CONTINGENCY
Add to Due Diligence section:
During the Due Diligence Period, Buyer shall seek approval for conditional use permitting [describe use, e.g., outside storage of industrial equipment, vehicles, and/or trucks]. Buyer's obligation to close is contingent upon obtaining such approval.
FINANCING CONTINGENCY
Add as separate section or to Due Diligence:
Buyer's obligation to close is contingent upon Buyer obtaining financing on terms acceptable to Buyer in Buyer's sole discretion within [X] days of the execution of a Purchase Agreement.
TIMING EXAMPLES
These are common timeframes — adjust to match your standard practices.
Term | Common Options |
|---|---|
Due Diligence | 30, 45, 60, 90 days |
Closing | 30, 45, 60, 90 days (after DD or after PSA execution) |
Exclusivity | 7, 14, 30 days |
Title Commitment | 10 days |
EMD Deposit | 2-3 business days |
LOI Expiration | 3-7 days from submission |
TITLE & DEED VARIATIONS
Buyer orders, 50/50 split:
Buyer shall order a Commitment for an ALTA Owner's Title Insurance Policy from [TITLE COMPANY] ("Title Company"). All title and escrow fees shall be split 50/50 between Buyer and Seller. Buyer shall order the title commitment within ten (10) days after the Purchase Agreement is fully executed. Purchaser shall have ten (10) days to review title and either approve the condition of title or cancel the purchase agreement. Seller shall convey title to the Property by Warranty Deed (the "Deed").
Seller orders, customary split:
Seller shall order a commitment for an ALTA Owner's Title Insurance Policy from [TITLE COMPANY] ("Title Company"). Parties are each responsible for title and escrow fees customarily charged to the buyer and the seller by the title company. Seller shall order the title commitment within ten (10) days after the Purchase Agreement is fully executed. Purchaser shall have ten (10) days to review title and either approve the condition of title or cancel the purchase agreement. Seller shall convey title to the Property by Warranty Deed (the "Deed").
EARNEST MONEY VARIATIONS
Standard (single deposit at PSA):
The sum of $[AMOUNT], which shall be deposited in escrow with [TITLE COMPANY or "a mutually agreeable title company"] within [X] business days of the execution of a Purchase Agreement. Said escrow deposit shall apply toward purchase price.
Split deposit (at LOI + at PSA):
The sum of $[TOTAL], of which $[AMOUNT 1] shall be deposited in escrow with [TITLE COMPANY] within [X] business days of the execution of this Letter of Intent, and an additional $[AMOUNT 2] shall be deposited within [X] business days of the execution of a Purchase Agreement. Said escrow deposits shall apply toward purchase price.
FOR VACANT PROPERTIES
If the property is vacant with no tenants, remove from your template or LOI:
All lease/tenant references
Rent roll references
Estoppel certificate requirements
Tenant notification requirements
Any "Leases & Tenant Information" sections in exhibits
PURCHASE PRICE — SPELLED OUT EXAMPLES
Amount | Spelled Out |
|---|---|
$500,000 | Five Hundred Thousand Dollars ($500,000). |
$750,000 | Seven Hundred Fifty Thousand Dollars ($750,000). |
$875,000 | Eight Hundred Seventy-Five Thousand Dollars ($875,000). |
$900,000 | Nine Hundred Thousand Dollars ($900,000). |
$925,000 | Nine Hundred Twenty-Five Thousand Dollars ($925,000). |
$1,000,000 | One Million Dollars ($1,000,000). |
$1,250,000 | One Million Two Hundred Fifty Thousand Dollars ($1,250,000). |
$1,500,000 | One Million Five Hundred Thousand Dollars ($1,500,000). |
$2,000,000 | Two Million Dollars ($2,000,000). |
$2,500,000 | Two Million Five Hundred Thousand Dollars ($2,500,000). |
$5,000,000 | Five Million Dollars ($5,000,000). |
$10,000,000 | Ten Million Dollars ($10,000,000). |
For odd amounts: Spell out each component (e.g., $1,482,767 = "One Million Four Hundred Eighty-Two Thousand Seven Hundred Sixty-Seven Dollars")
WORKFLOW WITH USER
User uploads OM/flyer — Extract: address, SF, acres, parcel, broker info
User provides deal terms — Price, EMD, any special terms
Confirm before producing:
Property address
SF and acres
Seller/Broker info and contact details
Price and EMD
Due diligence and closing periods
Expiration date (if any)
Greeting format
Any special sections (AS-IS, leaseback, contingencies, etc.)
Ask clarifying questions if anything is missing:
"Expiration date — do you want one? If so, what date/time?"
"Greeting — 'Dear Joe:' or 'Dear Mr. Smith:'?"
"Direct to seller or through broker?"
Draft special language in chat first if complex terms are involved — get user approval before producing the document
Produce document only after user confirms all terms
Present file and summarize key terms
COMMON ISSUES TO WATCH
Text not replacing — Template may have extra spaces or different formatting; match exactly
Dates appearing twice — Check both header and signature block; use
sedto replace all occurrences globallyGutter validation error — Always run the sed fix after first pack
XML encoding — In the XML, quotes appear as
", apostrophes as’, curly quotes as“and”Direct-to-seller — Update header to show seller info, not broker
Trailing spaces — Template fields often have trailing spaces that must be matched exactly
BUYER ENTITY
Default in your template should be: [YOUR COMPANY NAME] and/or assigns
If you have multiple entities, you can specify which one to use for each deal. Update in:
Opening paragraph
BUYER field
Signature block (if not pre-signed)
FILE NAMING CONVENTION
Suggested format: LOI_[Street_Address].docx
Examples:
LOI_123_Main_Street.docxLOI_456_Industrial_Blvd.docxLOI_789_Commerce_Drive.docx
SAMPLE PYTHON SCRIPT FOR REPLACEMENTS
import re
# Read the document
with open('[unpacked_folder]/word/document.xml', 'r', encoding='utf-8') as f:
content = f.read()
# Replacements dictionary — customize to match YOUR template placeholders
replacements = {
# Date
'[DATE PLACEHOLDER]': '[CURRENT DATE]',
# Recipient info
'[BROKER NAME]': '[ACTUAL BROKER NAME]',
'[BROKER TITLE]': '[ACTUAL TITLE]',
'[BROKER COMPANY]': '[ACTUAL COMPANY]',
'[BROKER PHONE]': '[ACTUAL PHONE]',
'[BROKER EMAIL]': '[ACTUAL EMAIL]',
# Property
'[PROPERTY ADDRESS]': '[ACTUAL ADDRESS]',
'[SF]': '[ACTUAL SF]',
'[ACRES]': '[ACTUAL ACRES]',
# Deal terms
'[PURCHASE PRICE]': '[SPELLED OUT PRICE]',
'[EMD]': '[ACTUAL EMD]',
}
# Apply replacements
for old, new in replacements.items():
content = content.replace(old, new)
# Remove highlights if your template uses them
content = re.sub(r'<w:highlight w:val="yellow"/>', '', content)
content = re.sub(r'<w:highlight w:val="white"/>', '', content)
# Write back
with open('[unpacked_folder]/word/document.xml', 'w', encoding='utf-8') as f:
f.write(content)
CUSTOMIZING THIS PROMPT
Before using, replace these placeholders throughout:
[YOUR COMPANY NAME]— Your acquisition entity name[YOUR TIMEZONE]— Your local timezone (CST, EST, PST, etc.)[TITLE COMPANY]— Your preferred title company[YOUR STANDARD DD PERIOD]— Your typical due diligence period[YOUR STANDARD CLOSING]— Your typical closing timeline
TIPS FOR BEST RESULTS
Keep your template simple — The more complex the formatting, the more likely something breaks
Use consistent placeholder text — Makes find-and-replace reliable
Review before sending — Always open the final .docx and verify everything looks correct
Save successful LOIs — Build a library of examples for different deal types
Draft complex terms in chat first — Have Claude write out special language for your review before putting it in the document
This prompt is designed to help you generate professional LOIs quickly and consistently. Customize it to match your template and standard terms.

