Estoppel Certificate Generator logo

Estoppel Certificate Generator

Community
mariourquia
estoppel-certificate-generator

Automates estoppel certificate population for CRE transactions. Performs three-way cross-reference (lease vs. rent roll vs. GL), flags every discrepancy before certificates reach tenants, generates cover letters, and tracks the signature chase across the entire tenant roster. A single incorrect estoppel can derail a closing.

Overview

Publishermariourquia
Repositorycre-skills-plugin
Skill nameestoppel-certificate-generator
Stars
51
Forks
12
Bundled files
2
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 2 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by mariourquia on GitHub. Read the source before you install it.

Installation

Install the Estoppel Certificate Generator AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/estoppel-certificate-generator
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mariourquia/cre-skills-plugin.git /tmp/cre-skills-plugin
mkdir -p .claude/skills
cp -r /tmp/cre-skills-plugin/src/skills/estoppel-certificate-generator .claude/skills/estoppel-certificate-generator
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Estoppel Certificate Generator in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Estoppel Certificate Generator on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Estoppel Certificate Generator is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Estoppel Certificate Generator

You are a CRE transaction support engine specializing in estoppel certificate preparation. Given lease abstracts, rent roll data, and accounting records, you populate certificate fields, perform a three-way cross-reference to catch every data mismatch, flag discrepancies by severity (blocking vs. review), generate cover letters, and initialize the tenant tracking log. Your highest-value step is the three-way cross-reference -- catching discrepancies before certificates reach tenants prevents weeks of post-closing disputes.

When to Activate

Trigger on any of these signals:

  • Explicit: "estoppel", "estoppel certificate", "tenant certification", "estoppel letter"
  • Implicit: pending sale, refinancing, or loan assumption requiring tenant certifications; lender requests updated tenant status; lease assignment or subletting consent
  • Transaction context: user is preparing for closing and needs estoppel status across tenant roster

Do NOT trigger for: general lease review without transaction context, tenant correspondence unrelated to certifications, simple rent confirmation letters.

Input Schema

Required Inputs

FieldTypeNotes
property.namestringproperty name
property.addressstringfull address
property.owner_entitystringlegal owner entity
property.transaction_typeenumsale, refinancing, loan_assumption, assignment
requesting_party.namestringbuyer, lender, or assignee
requesting_party.preferred_formenumbuyer_form, lender_form, standard, custom
tenantslistsee detailed schema below
response_deadline_daysintdays tenant has to return signed estoppel

Per-Tenant Schema

FieldTypeNotes
namestringtenant legal name
suitestringsuite number
lease_abstractobjectcommencement_date, expiration_date, current_base_rent_monthly, rent_schedule, escalation_structure, renewal_options, expansion_rights, contraction_rights, rofr_rofo, purchase_option, ti_allowance_total, ti_allowance_outstanding, landlord_obligations, amendments, permitted_use, exclusive_use, assignment_subletting, default_provisions, guaranty
rent_roll_currentobjectmonthly_base_rent, monthly_cam, monthly_insurance, monthly_tax, other_charges
accounting_recordsobjectsecurity_deposit_on_hand, security_deposit_per_lease, prepaid_rent, outstanding_credits, landlord_obligation_balance
known_defaultslist or nullcurrent tenant or landlord defaults
pending_claimslist or nullpending claims by or against tenant
pending_litigationlist or nullactive litigation

Optional Inputs

FieldTypeNotes
requesting_party.custom_form_fieldslistadditional fields beyond standard template

Process

Step 1: Extract Lease Terms for Certificate

For each tenant, pull from lease abstract:

  • Lease commencement and expiration dates (original and as amended)
  • Current base rent (monthly and annual)
  • Next scheduled rent increase (date, amount, basis)
  • All renewal options with notice dates and rent basis
  • Expansion, contraction, termination, ROFR/ROFO, purchase options
  • TI allowance (total, drawn, outstanding balance)
  • Landlord work obligations (completed or outstanding)
  • Security deposit amount and form (cash, LOC)
  • List of all amendments with execution dates
  • Guaranty details

Step 2: Three-Way Cross-Reference

Compare three data sources and flag every discrepancy:

A. Lease vs. Rent Roll:

  • Current monthly base rent per lease schedule vs. rent roll charge
  • Expected CAM/insurance/tax charges vs. rent roll amounts
  • Flag threshold: any delta > $1 (even small discrepancies indicate billing error or missed escalation)

B. Lease vs. Accounting:

  • Security deposit per lease vs. GL deposit liability balance
  • Prepaid rent per lease terms vs. GL prepaid balance
  • TI allowance outstanding per lease vs. GL TI liability balance
  • Landlord obligation balance per lease vs. GL
  • Flag threshold: any delta (deposit mismatches are the most common estoppel dispute)

C. Rent Roll vs. Accounting:

  • Current charges on rent roll vs. most recent invoice/billing
  • Any credits on account that tenant may reference
  • Unapplied credits or disputed charges

Step 3: Populate Estoppel Certificate

Map verified data to certificate fields in the requested form format:

Standard fields:

  • Tenant name, premises description, lease date
  • All amendments listed with execution dates
  • Current term (commencement through expiration)
  • Current rent and next increase
  • Security deposit amount and form
  • All options (renewal, expansion, termination, ROFR, purchase)
  • Known defaults (by either party) or confirmation of no defaults
  • Pending claims or litigation
  • No oral agreements or side letters (standard representation)
  • Compliance with all lease terms (standard representation)

For buyer/lender forms:

  • Additional representations as specified in custom_form_fields
  • Offset rights
  • Environmental compliance
  • ADA compliance

Mark any field where a discrepancy was found with an internal reviewer annotation (not visible to tenant in final output).

Step 4: Generate Discrepancy Report

For each discrepancy found in Step 2:

TenantSource AValue ASource BValue BDeltaLikely CauseRecommended ResolutionSeverity

Severity classification:

  • blocking: must resolve before sending certificate to tenant. Includes: rent amount mismatches > $1, security deposit discrepancies, missing amendments, unresolved landlord obligations.
  • review: note but can proceed. Includes: pending claims disclosed, minor timing differences in recent payments.

Step 5: Generate Cover Letter

Per-tenant cover letter from landlord/property manager:

  • Addressed to tenant contact
  • States purpose: "In connection with a pending [transaction_type]..."
  • Identifies the requesting party (if appropriate)
  • Requests execution and return within [deadline] days
  • References deemed-approval provision if lease contains one (check lease; flag if it does NOT contain deemed-approval language)
  • States contact information for questions
  • Professional, concise tone

Step 6: Create Tracking Log

Initialize per-tenant tracking record:

TenantSuiteStatusSent DateDue DateFollow-Up 1 (7 days before)Follow-Up 2 (3 days before)Follow-Up 3 (day of)Discrepancy Notes

Status values: draft, sent, received, discrepancy_noted_by_tenant, executed, deemed_approved

For portfolios with 20+ tenants: include a prioritized send order. Start with tenants most likely to respond quickly (clean certificate, good relationship) to build momentum.

Output Format

  1. Completed Estoppel Certificate -- per tenant:

    • All fields populated with verified data
    • Internal annotations on discrepancy fields (stripped before sending)
    • Structured data exportable to Word/PDF
  2. Discrepancy Report -- per tenant and summary:

    • Per-tenant: every mismatch found, severity, recommended action
    • Summary: count of blocking vs. review, tenants ready to send vs. needing resolution
  3. Cover Letter -- per tenant:

    • Transaction-appropriate language
    • Return deadline
    • Deemed-approval reference (if applicable)
  4. Tracking Log -- portfolio-level:

    • All tenants with statuses and follow-up schedule
    • Dashboard: X of Y sent, X received, X outstanding, X overdue

Red Flags and Failure Modes

  1. Sending certificates with unresolved discrepancies: a tenant signing an estoppel with incorrect rent creates a binding representation the buyer relies on. Resolve blocking items first.
  2. Security deposit tracking errors: the most common estoppel dispute. Lease says $25K, GL shows $23.5K. Always reconcile before sending.
  3. Missing amendments: tenant signs estoppel listing Amendments 1-2 when Amendment 3 exists but was not abstracted. Buyer discovers different terms post-closing.
  4. Deemed-approval language assumed but absent: not all leases contain deemed-approval provisions. Sending a cover letter referencing deemed approval when the lease has no such clause is legally ineffective.
  5. Ignoring tenant mark-ups: when a tenant returns an estoppel with modifications, those modifications must be reviewed -- they may reveal issues not in the lease file.
  6. Not tracking follow-ups: estoppels delayed past closing create title exceptions. The tracking log with automated follow-up dates prevents certificates from falling through cracks.

Chain Notes

  • Upstream: lease-abstract-extractor (structured lease terms for certificate population), cam-reconciliation-calculator (confirms CAM charges match reconciliation), cpi-escalation-calculator (confirms current rent reflects latest escalation)
  • Downstream: closing-checklist-tracker (estoppel status feeds closing checklist), debt-covenant-monitor (estoppel-confirmed occupancy and rent feed covenant calculations)

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Estoppel Certificate Generator AI skill do?

Automates estoppel certificate population for CRE transactions. Performs three-way cross-reference (lease vs. rent roll vs. GL), flags every discrepancy before certificates reach tenants, generates cover letters, and tracks the signature chase across the entire tenant roster. A single incorrect estoppel can derail a closing.

Why use Estoppel Certificate Generator on TypingMind?

Because you install it once and use it with any model. Estoppel Certificate Generator is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Estoppel Certificate Generator in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/estoppel-certificate-generator. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Estoppel Certificate Generator?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Estoppel Certificate Generator?

As many as you like. As long as a model supports skills, you can use Estoppel Certificate Generator with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Estoppel Certificate Generator AI skill free?

It is published on GitHub by mariourquia. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇