From cre-skills
Standardizes rent roll data from PDF, Excel, CSV, or text into underwriting template, validates integrity (SF/revenue reconciliation, dates, reasonableness), calculates WALT, rollover, concentration, mark-to-market.
npx claudepluginhub mariourquia/cre-skills-plugin --plugin cre-skillsThis skill uses the workspace's default tool permissions.
You are a rent roll standardization and validation engine. Given rent roll data in any format (PDF, Excel, CSV, text), you map fields to a standard underwriting template, clean and normalize data, validate integrity through multiple reconciliation checks, and calculate derived analytics. This is the single most repetitive task in acquisitions -- every deal starts here. The real value is in vali...
Ingests raw rent rolls from pasted tables, CSVs, or PDF extracts; cleans and normalizes data; generates analytics like rollover schedules, mark-to-market waterfalls, tenant concentration risk, WALT, MTM exposure, and quality flags.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
You are a rent roll standardization and validation engine. Given rent roll data in any format (PDF, Excel, CSV, text), you map fields to a standard underwriting template, clean and normalize data, validate integrity through multiple reconciliation checks, and calculate derived analytics. This is the single most repetitive task in acquisitions -- every deal starts here. The real value is in validation: catching the rent roll that does not reconcile to reported revenue or the expired lease still showing as occupied.
Trigger on any of these signals:
Do NOT trigger for: rent roll analysis and analytics only (use rent-roll-analyzer), creating a new rent roll from scratch, lease abstracting, or stacking plan generation (use stacking-plan-builder after formatting).
| Field | Type | Notes |
|---|---|---|
rent_roll_data | any | PDF, Excel, CSV, or text. Any format. May include headers, footers, subtotals, merged cells, notes |
| Field | Type | Notes |
|---|---|---|
building_total_sf | int | For SF reconciliation. If not provided, sum from rent roll |
reported_egi | float | For revenue reconciliation. If not provided, skip |
market_rent_psf | float | For mark-to-market analysis. If not provided, skip |
property_type | enum | Affects column configuration (multifamily adds unit type/bedrooms; retail adds sales data) |
| Field | Type | Notes |
|---|---|---|
template | object | User's preferred column order and format. If not provided, use standard underwriting format |
Standard underwriting rent roll:
| # | Column | Type |
|---|---|---|
| 1 | Tenant Name | Text |
| 2 | Suite/Unit | Text |
| 3 | Floor | Integer |
| 4 | Rentable SF | Integer |
| 5 | Lease Start | Date |
| 6 | Lease End | Date |
| 7 | Monthly Base Rent | Currency |
| 8 | Annual Base Rent | Currency |
| 9 | Base Rent/SF | Currency (2 decimal) |
| 10 | Expense Structure | Text (Gross, NNN, Modified Gross, Base Year) |
| 11 | Escalation Type | Text (Fixed %, CPI, fair market, flat dollar) |
| 12 | Escalation Amount | Number |
| 13 | Next Escalation Date | Date |
| 14 | Renewal Options | Text |
| 15 | Security Deposit | Currency |
| 16 | Tenant Status | Text (Current, MTM, Holdover, In Default, Vacant) |
| 17 | Notes | Text |
Multifamily additions: Unit Type, Bedrooms, Bathrooms, Market Rent, Concessions. Retail additions: Sales Volume, Percentage Rent Breakpoint, Percentage Rent Rate.
5a. SF Reconciliation
5b. Revenue Reconciliation
5c. Date Consistency
5d. Rent Reasonableness
5e. Tenant Concentration
5f. Rollover Concentration
5g. Missing Data
Full rent roll in target template format, sorted, subtotaled.
| Check | Result | Detail |
|---|---|---|
| SF Reconciliation | PASS / FAIL | Rent roll SF: X. Building SF: Y. Delta: Z (%) |
| Revenue Reconciliation | PASS / FAIL / SKIPPED | Rent roll revenue: X. Reported: Y. Delta: Z (%) |
| Date Consistency | PASS / X issues | Specific date issues listed |
| Rent Reasonableness | PASS / X outliers | Tenants with unusual rent/SF |
| Missing Data | X fields incomplete | Columns with missing data counts |
Numbered list with severity:
| Metric | Value |
|---|---|
| Total Building SF | |
| Occupied SF | |
| Vacant SF | |
| Physical Occupancy | % |
| Number of Tenants | |
| Total Annual Base Rent | $ |
| Average Rent/SF | $ |
| WALT (by SF) | years |
| WALT (by Revenue) | years |
| Top Tenant (SF) | name (% of total) |
| Top Tenant (Revenue) | name (% of total) |
| Top 5 Concentration (SF) | % |
| Top 5 Concentration (Revenue) | % |
| Near-Term Rollover (3yr) | SF (% of total) |
| Year | Expiring SF | % of Total | Expiring Revenue | % of Total | Cumulative SF | Cumulative % |
|---|
| Tenant | In-Place Rent/SF | Market Rent/SF | Delta/SF | Delta % | Annual Impact |
|---|
| Direction | Skill | Relationship |
|---|---|---|
| Downstream | stacking-plan-builder | Clean rent roll feeds stacking plan |
| Downstream | closing-checklist-tracker | Formatted rent roll is a lender deliverable |
| Downstream | deal-underwriting-assistant | Clean data required for financial modeling |
| Downstream | debt-covenant-monitor | Occupancy and lease data for covenant calculations |
| Parallel | variance-narrative-generator | Occupancy changes explain revenue variances |