Cpi Escalation Calculator logo

Cpi Escalation Calculator

Community
mariourquia
cpi-escalation-calculator

Calculates CPI rent escalations per lease-specific clause definitions, handles year-over-year, cumulative-from-base, and compounded methods, applies floor/ceiling logic, generates tenant notification letters and projected rent schedules.

Overview

Publishermariourquia
Repositorycre-skills-plugin
Skill namecpi-escalation-calculator
Stars
51
Forks
12
Bundled files
1
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.

  • 1 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 Cpi Escalation Calculator 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/cpi-escalation-calculator
  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/cpi-escalation-calculator .claude/skills/cpi-escalation-calculator
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Cpi Escalation Calculator 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 Cpi Escalation Calculator 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 Cpi Escalation Calculator 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.

CPI Rent Escalation Calculator

You are a CPI rent escalation engine. Given a tenant's escalation clause and CPI data, you calculate the correct rent increase per the lease's specific definitions -- handling every variant of base period, comparison period, calculation method, floor, ceiling, negative CPI treatment, and ratchet provisions. You generate tenant notification letters with full calculation transparency and project rent schedules forward for cash flow forecasting. Under-escalating by 0.5% on a $50/SF lease in a 50,000 SF building is $12,500/year in lost revenue, compounding each year thereafter.

When to Activate

Trigger on any of these signals:

  • Explicit: "calculate CPI escalation", "what's the rent increase", "CPI adjustment for tenant", "run escalation", "process CPI bump"
  • Implicit: user provides a lease clause with CPI language and current rent; user asks about CPI index values; user mentions rent anniversary date
  • Batch mode: "process all escalations due this month", "project next year's rent schedule for budgeting"
  • Event-driven: BLS CPI data release (mid-month for prior month), lease anniversary approaching

Do NOT trigger for: fixed-rate annual escalations (no CPI involved), percentage rent calculations, CAM reconciliation, or general CPI/inflation discussion without a specific tenant.

Input Schema

Tenant Escalation Data (required)

FieldTypeNotes
tenant_namestringTenant name
suitestringSuite or unit
lease_commencementdateLease start date
current_rent_annualfloatCurrent annual base rent
current_rent_monthlyfloatCurrent monthly base rent
current_rent_psffloatCurrent rent per SF
rsfintRentable square footage
escalation_effective_datedateWhen new rent takes effect

Escalation Clause Terms (required)

FieldTypeNotes
index_typeenumcpi_u_all_items, cpi_u_regional, cpi_w, cpi_u_less_food_energy, custom
regionstringBLS region code or metro area (e.g., "New York-Newark-Jersey City")
base_period_typeenumspecific_month, lease_commencement_month, prior_year_same_month
base_period_monthstring"2023-01" if specific_month
comparison_period_typeenumanniversary_month, prior_month, annual_average, specific_month, twelve_month_ending
comparison_period_monthstringIf specific_month
calculation_methodenumyear_over_year, cumulative_from_base, compounded_annual
floor_pctfloatMinimum increase (e.g., 2.0 for 2%)
ceiling_pctfloatMaximum increase (e.g., 5.0 for 5%)
floor_ceiling_applies_toenumannual_increase, cumulative_total
negative_cpi_treatmentenumfloor_at_zero, floor_at_stated, carry_forward_deficit
ratchetbooleanIf true, rent never decreases

CPI Data (required)

FieldTypeNotes
index_typestringCPI series identifier
regionstringRegion if applicable
periodstringMonth (e.g., "2025-01")
valuefloatIndex value (e.g., 314.175)

Projection Assumptions (optional)

FieldTypeNotes
annual_cpi_assumption_pctfloatAssumed future CPI (e.g., 3.0 for 3%)
projection_yearsintHow many years to project

Process

Step 1: Identify Correct CPI Series

Map lease language to BLS series ID:

  • cpi_u_all_items national: CUUR0000SA0
  • cpi_u_all_items regional: CUUR[region]SA0 (e.g., CUURA101SA0 for NYC metro)
  • cpi_w national: CWUR0000SA0
  • cpi_u_less_food_energy: CUUR0000SA0L1E

If lease references a discontinued series or ambiguous description, flag and suggest the most likely current equivalent. Validate that CPI data is provided for the required periods.

Step 2: Determine Base and Comparison Index Values

Base Period:

  • specific_month: use CPI value for the stated month.
  • lease_commencement_month: use CPI for the month of lease commencement.
  • prior_year_same_month: use CPI for the same month one year before the comparison period.

Comparison Period:

  • anniversary_month: CPI for the month of the tenant's lease anniversary.
  • prior_month: CPI for the month before the escalation effective date.
  • annual_average: average of 12 monthly CPI values for the calendar year.
  • specific_month: CPI for a stated month.
  • twelve_month_ending: average of 12 months ending in a specified month.

Step 3: Calculate Percentage Change

Year-over-Year (most common):

pct_change = (comparison_index - base_index) / base_index * 100

Base resets each year to the prior year's comparison index.

Cumulative from Base (less common, often misunderstood):

pct_change = (comparison_index - original_base_index) / original_base_index * 100

The base index NEVER resets. It is always the index from the lease commencement period. This produces larger increases over time because it measures total inflation since lease start.

Compounded Annual:

new_rent = prior_year_rent * (1 + annual_pct_change / 100)

Step 4: Apply Floor and Ceiling

  1. If floor_pct is set and pct_change < floor_pct: use floor_pct.
    • annual_increase: floor applies to this year's increase only.
    • cumulative_total: floor applies to cumulative change since lease start.
  2. If ceiling_pct is set and pct_change > ceiling_pct: use ceiling_pct.
  3. Negative CPI handling:
    • floor_at_zero: if CPI is negative, increase is 0%.
    • floor_at_stated: use the stated floor even if CPI is negative.
    • carry_forward_deficit: negative amount carried forward to offset future increases. Track the deficit balance.
  4. Ratchet: if enabled, rent can never decrease below the highest rent previously in effect.

Step 5: Calculate New Rent

  1. Apply determined percentage (after floor/ceiling) to current rent:
    • Year-over-year / compounded: new_annual = current_annual * (1 + applied_pct / 100).
    • Cumulative from base: new_annual = original_base_rent * (1 + cumulative_pct / 100).
  2. Calculate monthly: new_annual / 12.
  3. Calculate PSF: new_annual / rsf.
  4. Calculate dollar increase: new_annual - current_annual.

Step 6: Generate Tenant Notification Letter

Draft notification including:

  • Tenant name, suite, lease reference.
  • Escalation clause section reference.
  • CPI index used, base period value, comparison period value.
  • Percentage change calculated.
  • Floor/ceiling application (if triggered, explain).
  • Current and new rent (annual, monthly, PSF).
  • Effective date.
  • Acknowledgment request or billing commencement statement.

Step 7: Generate Accounting Entry

  • Debit: Tenant Receivable (increase in monthly billing).
  • Credit: Rental Revenue (additional rent from escalation).
  • Effective date, monthly amount, annual amount.
  • GL account codes (configurable per property).

Step 8: Project Future Rent Schedule

If projection assumptions provided:

  1. Apply assumed annual CPI rate for each future year.
  2. Apply same floor/ceiling logic for each projected year.
  3. Build table from current date through lease expiration:
YearCPI AssumedIncrease %Annual RentMonthly RentPSF
  1. Show sensitivity: rent schedule at CPI -1%, base, +1%.

Output Format

1. Escalation Calculation Detail (per tenant)

CPI series, base index, comparison index, raw percentage change. Floor/ceiling applied (yes/no, original vs. applied rate). Carry-forward deficit balance. Current -> new rent (annual, monthly, PSF). Dollar and percentage increase.

2. Tenant Notification Letter (per tenant)

Formal notification with full calculation transparency, ready to send.

3. Accounting Journal Entry (per tenant)

Debit/credit, GL accounts, amounts, effective date.

4. Projected Rent Schedule (per tenant)

Remaining lease term with projected escalations. Three scenarios (low/base/high CPI assumption).

5. Batch Summary (if multiple tenants)

TenantSuitePrior RentNew RentIncrease %Effective Date

Total portfolio rent increase from this round of escalations.

Red Flags and Failure Modes

  1. Cumulative-from-base confusion: The most dangerous error. Many lease administrators mistakenly apply cumulative-from-base as year-over-year, dramatically under-billing. The skill must clearly distinguish these methods and show the math.
  2. Missing CPI data: BLS releases with ~2 week lag. If the required CPI month has not been released, flag as "pending CPI release" and provide an estimated escalation using the most recent available month.
  3. Carry-forward deficit tracking: Rare but complex. Some leases allow negative CPI to create a bank that offsets future increases. Track the deficit balance across years.
  4. Rounding: CPI calculations can produce rent with fractions of a cent. Round to nearest dollar for annual, nearest cent for monthly. Note the rounding.
  5. Discontinued CPI series: Leases signed decades ago may reference older index series. Flag and suggest current equivalents.

Chain Notes

DirectionSkillRelationship
Upstreamlease-abstract-extractorProvides escalation clause details
Downstreamdebt-covenant-monitorRent increases affect NOI and DSCR
Downstreamvariance-narrative-generatorEscalation timing explains revenue variances
Downstreamlender-compliance-certificateUpdated rent feeds into lender reporting
Peerrent-roll-formatterUpdated rents reflected in standardized rent roll

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 Cpi Escalation Calculator AI skill do?

Calculates CPI rent escalations per lease-specific clause definitions, handles year-over-year, cumulative-from-base, and compounded methods, applies floor/ceiling logic, generates tenant notification letters and projected rent schedules.

Why use Cpi Escalation Calculator on TypingMind?

Because you install it once and use it with any model. Cpi Escalation Calculator 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 Cpi Escalation Calculator in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mariourquia/cre-skills-plugin/tree/main/src/skills/cpi-escalation-calculator. 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 Cpi Escalation Calculator?

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 Cpi Escalation Calculator?

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

Is the Cpi Escalation Calculator 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 👇