stacking-plan-builder

Generates text-based stacking plans from rent rolls, providing floor-by-floor visual layout of tenant occupancy, lease expiration, contiguous availability analysis, rollover concentration, and prospect pipeline overlay.

6 stars

Best use case

stacking-plan-builder is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generates text-based stacking plans from rent rolls, providing floor-by-floor visual layout of tenant occupancy, lease expiration, contiguous availability analysis, rollover concentration, and prospect pipeline overlay.

Teams using stacking-plan-builder should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/stacking-plan-builder/SKILL.md --create-dirs "https://raw.githubusercontent.com/mariourquia/cre-skills-plugin/main/src/skills/stacking-plan-builder/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/stacking-plan-builder/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How stacking-plan-builder Compares

Feature / Agentstacking-plan-builderStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generates text-based stacking plans from rent rolls, providing floor-by-floor visual layout of tenant occupancy, lease expiration, contiguous availability analysis, rollover concentration, and prospect pipeline overlay.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Stacking Plan Builder

You are a stacking plan generation engine. Given a rent roll and building information, you produce a floor-by-floor visual layout of tenant occupancy with lease expiration status, calculate occupancy and rollover metrics, identify contiguous availability (the most valuable insight for leasing), analyze tenant concentration risk, and overlay prospect pipelines. The stacking plan is the primary operational dashboard for any multi-tenant building -- every tour, ownership meeting, and leasing strategy session starts with it.

## When to Activate

Trigger on any of these signals:

- **Explicit**: "build stacking plan", "stacking plan for [property]", "update stacking plan", "show me the building layout"
- **Implicit**: user provides rent roll and asks about building occupancy; user mentions prospect tours or leasing strategy; user asks about available space
- **Update mode**: "add new lease for [tenant] to the stacking plan", "remove [tenant] from the stacking plan"
- **Ownership/leasing meeting prep**: user requests current building status overview

Do NOT trigger for: rent roll formatting (use rent-roll-formatter first), financial underwriting, lease negotiation, or general occupancy statistics without a visual layout.

## Input Schema

### Rent Roll (required)

| Field | Type | Notes |
|---|---|---|
| `tenants` | list | Tenant name, suite, floor, SF, lease start, lease end, base rent/SF, expense structure |

### Building Info (required)

| Field | Type | Notes |
|---|---|---|
| `total_rsf` | int | Total rentable SF |
| `floors` | int | Number of floors |
| `floor_plate_sf` | list or int | SF per floor (list if floors differ, single int if uniform) |

### Optional Inputs

| Field | Type | Notes |
|---|---|---|
| `prospect_pipeline` | list | Prospects in negotiation: name, target suite(s), proposed SF, proposed term, status (LOI, lease draft, negotiating) |
| `market_rent_psf` | float | For mark-to-market overlay |
| `current_date` | date | Default: today |

## Process

### Step 1: Data Organization

- Sort tenants by floor (descending -- top floor first) and suite within floor.
- Identify vacant suites: no tenant or status = vacant.
- Determine lease status per tenant:
  - **Occupied**: lease end > current date + 24 months
  - **Expiring Soon**: lease end within 12 months
  - **Expiring This Year**: lease end within current calendar year
  - **MTM / Holdover**: lease end in the past, no renewal recorded
  - **Vacant**: no tenant
  - **In Negotiation**: if pipeline data provided and suite is targeted

### Step 2: Floor Plate Calculation

Per floor:
- Total rentable SF.
- Occupied SF.
- Vacant SF.
- Floor occupancy rate.
- Validate: sum of all floor SF = building total. Flag discrepancy.

### Step 3: Visual Stacking Plan

Generate text-based floor-by-floor layout. Each floor is a row. Each tenant/vacant suite is a block proportional to SF share.

```
Floor 10 | [Tenant A - 12,000 SF - EXP 2028] [VACANT - 3,000 SF        ] [Tenant B - 5,000 SF - EXP 2026]
Floor  9 | [Tenant C - 20,000 SF - EXP 2029                                                              ]
Floor  8 | [Tenant D - 8,000 SF - EXP 2027 ] [Tenant E - 7,000 SF - EXP 2026] [VACANT - 5,000 SF        ]
Floor  7 | [VACANT - 20,000 SF                                                                            ]
```

Status labels:
- `[OCC]` -- active lease, expiration > 24 months
- `[EXP'26]` -- expiring within 36 months (show year)
- `[MTM]` -- month-to-month
- `[VAC]` -- vacant/available
- `[PROSPECT: Name]` -- targeted by prospect

### Step 4: Occupancy Metrics

| Metric | Calculation |
|---|---|
| Physical Occupancy | occupied_sf / total_sf |
| Economic Occupancy | collected_rent / potential_rent (if market rent provided) |
| WALT (by SF) | weighted average remaining term by SF |
| WALT (by Revenue) | weighted average remaining term by revenue |
| Average In-Place Rent/SF | total_annual_rent / total_occupied_sf |
| Number of Tenants | count of unique tenants |

### Step 5: Rollover Concentration Analysis

| Year | Expiring Tenants | Expiring SF | % of Total SF | Expiring Revenue | % of Total Revenue | Cumulative SF % |
|---|---|---|---|---|---|---|

Flags:
- > 20% of SF expiring in any single year.
- > 25% of revenue expiring in any single year.
- > 40% of SF expiring within 3 years.
- Identify the "lease cliff" (year with highest absolute rollover).

### Step 6: Contiguous Availability Analysis

Identify blocks of available space:

- **Same-floor contiguous**: adjacent vacant suites on the same floor.
- **Multi-floor contiguous**: vacant space on consecutive floors.
- **Near-term contiguous**: occupied space expiring within 12 months that creates contiguous blocks with existing vacancy.

Per block:
- Total SF available.
- Floors involved.
- Delivery timing (immediate for vacant, future date for expiring).
- Whether combination work is needed.

### Step 7: Tenant Concentration Analysis

- Top 5 by SF: name, total SF, % of building.
- Top 5 by revenue: name, annual rent, % of total revenue.
- Identify tenants on multiple suites/floors.
- Flag any single tenant > 25% of SF or revenue.

### Step 8: Mark-to-Market (if market rent provided)

Per tenant:
- In-place rent/SF vs. market rent/SF.
- Delta (positive = below market/upside, negative = above market/risk).
- Aggregate below-market upside and above-market risk.

### Step 9: Pipeline Overlay (if prospect pipeline provided)

- Overlay proposed deals on the stacking plan showing targeted suites.
- Show proposed terms: tenant, SF, proposed rent/SF, term.
- Calculate occupancy and revenue impact if all deals close.
- Flag conflicting prospects (multiple targeting same space).

## Output Format

### 1. Visual Stacking Plan

Text-based floor-by-floor layout. Top floor at top, ground floor at bottom. Each block labeled with tenant, SF, and expiration.

### 2. Building Summary Dashboard

| Metric | Value |
|---|---|
| Total RSF | |
| Occupied SF | |
| Vacant SF | |
| Physical Occupancy | % |
| Number of Tenants | |
| WALT (by SF) | years |
| WALT (by Revenue) | years |
| Average Rent/SF | $ |
| Largest Contiguous Availability | SF (Floor X) |

### 3. Rollover Schedule

Table by year with SF and revenue, percentages, and cumulative.

### 4. Rollover Concentration Flags

Specific warnings with tenants driving the concentration.

### 5. Contiguous Space Analysis

| Block | Floors | Total SF | Status | Available |
|---|---|---|---|---|

### 6. Tenant Concentration Summary

Top 5 by SF and revenue with percentages.

### 7. Mark-to-Market Summary (if applicable)

Below-market upside and above-market risk, with tenant detail.

### 8. Pipeline Impact (if applicable)

Occupancy and revenue impact if pipeline deals close.

## Red Flags and Failure Modes

1. **Text-based by design**: Output is text, not an image. Portable across chat, email, documents, presentations. Proportional sizing uses character width as SF proxy -- approximate, not pixel-perfect.
2. **Update mode**: When updating with a new lease, show old state -> new state for affected suites, not full regeneration.
3. **Sort order**: Always top floor first (descending). This is industry standard convention.
4. **Contiguous space is the key insight**: Large tenants need contiguous space. The near-term contiguous analysis (combining vacancy with upcoming expirations) is the highest-value output beyond the visual layout.
5. **Tenant vs. suite count**: One tenant may occupy multiple suites. Count unique tenants, not suite entries.

## Chain Notes

| Direction | Skill | Relationship |
|---|---|---|
| Upstream | rent-roll-formatter | Standardized rent roll is the primary input |
| Parallel | variance-narrative-generator | Occupancy changes visible in stacking plan explain revenue variances |
| Reference | closing-checklist-tracker | Stacking plan informs acquisition due diligence scope |
| Reference | property-tax-appeal-analyzer | Occupancy and lease data support income approach |
| Downstream | deal-underwriting-assistant | Stacking plan provides tenant-level detail for modeling |

Related Skills

term-sheet-builder

6
from mariourquia/cre-skills-plugin

Draft and negotiate CRE financing term sheets from lender quotes. Branch by loan type (agency, CMBS, bank balance sheet, bridge, construction, mezzanine), borrower entity, and deal strategy. Interrogate rate preference, hold period, recourse tolerance, and stack complexity before drafting. Triggers on 'draft term sheet', 'lender quote', 'rate lock', 'negotiate terms', 'loan terms', 'prepayment', 'IO period', 'spread', 'carve-outs', or when user provides a lender quote for review.

tenant-event-planner

6
from mariourquia/cre-skills-plugin

Plans, budgets, and executes tenant appreciation events, seasonal programming, and community engagement for CRE properties. Supports API-driven vendor booking when MCP integrations are available. Triggers: tenant event, appreciation event, holiday party, tenant engagement, community event, property event planning, seasonal programming.

space-planning-redesign-orchestrator

6
from mariourquia/cre-skills-plugin

Multi-agent orchestrator for property managers planning space redesigns, repositioning, and amenity additions. Spawns specialist subagents for space programming, cost estimation, design mockups, tenant demand surveys, and market validation. Covers everything from concept ideation through cost-benefit analysis and tenant polling. Triggers on 'space planning', 'redesign', 'amenity addition', 'space reconfiguration', 'repositioning', 'tenant demand', 'common area redesign', 'lobby renovation', 'fitness center', 'coworking space', or when a PM asks about repurposing underutilized space.

Implementation Intake And Leader Sign-Off Builder

6
from mariourquia/cre-skills-plugin

Evidence-driven implementation intake workflow for residential multifamily and related CRE operating environments. Guides sponsors, implementation leads, data teams, operations leaders, and reporting owners through source inventory, access readiness, export evidence, field-level semantics, crosswalk ownership, reporting calendar, approvals, blockers, assumptions, and final leader sign-off. Produces implementation packets that are usable by both executives and build teams, while refusing silent assumption upgrades and refusing secret storage.

rent-optimization-planner

6
from mariourquia/cre-skills-plugin

Quantitative rent optimization framework with loss-to-lease waterfall analysis, renewal probability modeling, effective rent NPV comparison across aggressive/moderate/retention strategies, valuation impact quantification, and market cycle overlay. Maximizes long-term property value, not just next-quarter revenue. Triggers on 'rent raise plan', 'rent optimization', 'loss-to-lease', 'renewal pricing', or when planning rent increases across a portfolio.

reit-profile-builder

6
from mariourquia/cre-skills-plugin

Extracts and structures comprehensive REIT profiles from 10-K filings, supplemental data packages, earnings call transcripts, and investor presentations. Produces standardized property-type profiles covering portfolio composition, same-store metrics, leverage, liquidity, cost of capital, and management quality signals. Triggers on REIT ticker mentions, 'REIT profile', 'build a REIT comp', 'analyze [ticker]', or when 10-K/supplement content is shared. Core data layer for the AMOS pipeline.

noi-sprint-plan

6
from mariourquia/cre-skills-plugin

Generates a 90-day operational sprint plan to stabilize property operations and raise NOI through collections discipline, turnover acceleration, leasing velocity, and resident retention. Includes NOI bridge waterfall, value-creation quantification, turnover cost analysis, and cycle-adjusted leasing assumptions. Triggers on 'stabilize operations', 'raise NOI', 'collections problem', 'turn times', 'occupancy drop', or new PM takeover.

lp-pitch-deck-builder

6
from mariourquia/cre-skills-plugin

Generates a complete LP pitch deck with slide-by-slide content, institutional-grade track record presentation, fee disclosure with worked waterfall examples, cycle positioning, and an investor objection response library segmented by investor type.

loi-offer-builder

6
from mariourquia/cre-skills-plugin

Generates a complete, copy-paste-ready Letter of Intent with negotiation strategy memo, three-tier pricing table, ten non-price levers, seller psychology brief, and broker cover email. Triggers on 'draft an LOI', 'build an offer', 'help me structure the bid', or when an acquisitions team is ready to submit.

leasing-strategy-marketing-planner

6
from mariourquia/cre-skills-plugin

Marketing material creation, broker event planning, TI cost benchmarking, marketing plan development, and commission structure benchmarking for Leasing Directors.

icomm-context-builder

6
from mariourquia/cre-skills-plugin

Assembles a source-grounded Investment Committee Q&A context pack from upstream underwriting, diligence, debt, and risk outputs. Indexes every deal fact to a citable sourceRef, builds a question-and-answer brief that IC members can interrogate, and enforces a fail-closed posture: any factual answer without a sourceRef is suppressed and any out-of-context question returns a governed refusal. Triggers on 'build the IC Q&A pack', 'prep for committee questions', 'what will IC ask', or when underwriting, PCA, and debt outputs are ready to be consolidated for committee.

workout-playbook

6
from mariourquia/cre-skills-plugin

Produces a lender-side workout and restructuring playbook for distressed CRE loans. Maps all resolution paths (forbearance, A/B note split, DPO, deed-in-lieu, foreclosure, note sale), models NPV of each, assesses borrower leverage, and recommends optimal strategy with timeline.